RGB подсветка телевизора
- Войдите на сайт для отправки комментариев
Пт, 20/01/2017 - 17:08
Цветовая подсветка телевизора с помощью RGB светодиодной ленты - прикольная штука, но я не смог найти устраивающий меня контроллер, потому написал свой.
Плавный переход между цветами, цвета выбираются случайным образом, очень разные оттенки получаются. При выбире цвета проверяются на яркость, чтоб не было особых перекосов.
Для подключения ленты надо использовать транзисторы (покупаем в любом радио магазине), по любой схеме что есть в инете, к PWM ногам.
#define R 5 #define G 3 #define B 6 int cR, lastR; int cG, lastG; int cB, lastB; void setup() { pinMode(R,OUTPUT); pinMode(G,OUTPUT); pinMode(B,OUTPUT); // запускаем генератор случайных чисел случайно randomSeed(analogRead(0)*analogRead(1)*analogRead(2)); Serial.begin(9600); } void loop() { // меняем цвет каждые 9 секунд if(millis()%9000<300){ lastR = cR; lastG = cG; lastB = cB; int c=1; while(c){ cR = random(30)*8.5; cG = random(30)*8.5; cB = random(30)*8.5; int avg =(cR+cG+cB)/3; if( (abs(avg-cR)>40 || abs(avg-cG)>40 || abs(avg-cB)>40) && avg>80 ){ c=0; } else { Serial.println("!"+String(cR)+" "+String(cG)+" "+String(cB)+" "+String(avg)); } } float rR = (cR - lastR)/25.0 ; float rG = (cG - lastG)/25.0 ; float rB = (cB - lastB)/25.0 ; for(int i=1; i<25; i++){ int mR = lastR+rR*i; int mG = lastG+rG*i; int mB = lastB+rB*i; /* Serial.print(mR); Serial.print(" "); Serial.print(mG); Serial.print(" "); Serial.println(mB); */ analogWrite(R, mR ); analogWrite(G, mG ); analogWrite(B, mB ); delay(30); } Serial.println(">"+String(cR)+" "+String(cG)+" "+String(cB)); analogWrite(R, cR ); analogWrite(G, cG ); analogWrite(B, cB ); } }
Для подключения ленты надо использовать транзисторы (покупаем в любом радио магазине), по любой схеме что есть в инете, к PWM ногам.
Что, любые транзисторы по любой схеме? И будет работать?
snickser, у Вас новогодняя гирлдянда, а не цветовая подсветка телевизора, ибо последняя предполагает анализ изображения на экране так, чтобы подсветка продолжала основной цветовой тон экрана за его пределами.
Незаменимая вещь в случае внезапной поломки телевизора..
Ничего она не предполагает, то что вы описали в простонародье называется Эмбилайт.
Новогодняя гирлянда предполагает быструю смену цветов, моргания и т.п. эффекты, а тут этого нет.
Я специально выбирал такие параметры, чтоб не сильно бросалось в глаза при просмотре телевизора.
В первую очередь такая подсветка хороша в ночи, чтоб на зрение телевизор не давил очень сильно, да и днём прикольно тоже, визуально увеличивает контраст жк экрана и создаёт "ауру" вокруг. Но если вам так хочется - называйте её новогодней... )
В ообщем да, в частности конечно же нет... )
Мне показалось плохим тоном давать тут ссылки на схемы с других сайтой про ардуино ;) Но раз уж пошла такая пляска, я использовал вот эту статью http://cxem.net/beginner/beginner61.php
Вот видос как это работает: https://www.youtube.com/watch?v=BqrEigp975I