VGA фоновая подсветка монитора или телевизора
- Войдите на сайт для отправки комментариев
Чт, 17/09/2020 - 18:16
Сделал фоновую подсветку для телевизора используя сигналы VGA через переходник HDMI в VGA
а как добавить сигналы H и V синхронизации понять не могу
[code] #include <Adafruit_NeoPixel.h> int red,green,blue = 0; // IMPORTANT: Set pixel COUNT, PIN and TYPE #define PIN 6 #define NUMPIXELS 79 #define POT_0_PIN A0 #define POT_1_PIN A1 #define POT_2_PIN A2 // Initialize the neopixel strip Adafruit_NeoPixel strip(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); void setup() { // Set the pins connected to the potentiometer as inputs pinMode(0,INPUT); pinMode(1,INPUT); pinMode(2,INPUT); strip.begin(); strip.show(); // Initialize all pixels to 'off' rainbowCycle( 1 ); // Flash rainbows at the begining } void loop() { // Read and store the potentiometer values // We are scaling them from a 12bit scale to an 8 bit scale red = map(analogRead(A0), 0, 820, 0 , 255); green = map(analogRead(A1), 0, 820, 0 , 255); blue = map(analogRead(A2), 0 , 820, 0 , 255); // set colors of all the eight neopixles for(int pixel = 0 ;pixel < NUMPIXELS ;pixel++) { strip.setPixelColor(pixel, red, green, blue); } strip.show(); // Update the strip with new color values delay(50); } void rainbowCycle(uint8_t wait) { uint16_t i, j; for(j=0 ; j<256 * 5 ; j++) { // 5 cycles of all colors on wheel for(i=0; i< strip.numPixels(); i++) { strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255)); } strip.show(); delay(wait); } } // Helper function for rainbows // Input a value 0 to 255 to get a color value. // The colours are a transition r - g - b - back to r. uint32_t Wheel(byte WheelPos) { WheelPos = 255 - WheelPos; if(WheelPos < 85) { return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); } if(WheelPos < 170) { WheelPos -= 85; return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); } [/code]
Бывает...
Мы тоже все не сразу могли.
https://alexgyver.ru/arduino_ambilight/
А вообще раздел для поспрошаек в другом месте, этот для готовых проектов.
Лично я не вижу на схеме "сигналы H и V синхронизации" и в коде их.
Лично я не вижу на схеме "сигналы H и V синхронизации"
неправ, на схеме есть :) - на втором рисунке внизу слева нарисовано " V sync -? H sync - ?" :)))
В коде нет - но, впрочем, код похоже откуда-то скопищен кусками... описаны какие-то потенциометры. которых нет на схеме... входы цвета описаны дефайнами. а используются без них.... и тд
Код брал с потенциометрами на аналоговых входах а H и V синхронизации не знаю как использовать поэтому они на схеме есть но с вопросом а что POT что RED как хочеш так и обозначай
Это все проходили привязка к компьютеру а через HDMI грабли
Неправ. Но что с "сигналы H и V синхронизации" делать ТС собрался - так и не понял. А сам он понимает, куда их примотать?.
Неправ. Но что с "сигналы H и V синхронизации" делать ТС собрался - так и не понял. А сам он понимает, куда их примотать?.
Сигналы синхронизации нужны что бы подсветку делать в разных частях разным цветом синхронизированным с крартинкой.
Исправил Код
Неправ. Но что с "сигналы H и V синхронизации" делать ТС собрался - так и не понял. А сам он понимает, куда их примотать?.
Сигналы синхронизации нужны что бы подсветку делать в разных частях разным цветом синхронизированным с крартинкой.
Допустим у нас есть поле X*Y пикселов. Как выглядит функция засветки (количество пикселей и их координаты) относительно сигнала H и V в диапазоне 0...1023?
Согласен. Синхроимпульсы уровня TTL подать на цифровые входы а вот дальше чтоб они управляли местоположением пикселя на ленте вопрос
https://cxem.net/arduino/arduino65.php как выводить сигнал VGA
Лично Вы как планируете использовать эти два сигнала?
Пока не знаю
Сигналы синхронизации нужны что бы подсветку делать в разных частях разным цветом синхронизированным с крартинкой.
Допустим у нас есть поле X*Y пикселов. Как выглядит функция засветки (количество пикселей и их координаты) относительно сигнала H и V в диапазоне 0...1023?
Поле изображения разбивается на несколько прямоугольников. В простейшем случае на 4. Дальше используя сигналы синхронизации вычисляем средний цвет и яркость изображения в каждом прямоугольнике за несколько кадров. А потм выводи соответсвующий цвет и яркость на ленту делая плавный переход между частями экрана.
Яркость и цвет задаются сигналом RGB вот номер пикселя с помощью H и V