ФОНОВАЯ ПОДСВЕТКА ДЛЯ ТЕЛЕВИЗОРА

     простые интересные РАДИОСХЕМЫ сделанные своими руками

» ДАТАШИТ
Например: TDA2050


» РАДИОБЛОГИ
Часы настольные на ИН-14 индикаторах - схема и фото
Десятая муза – муза радиотехнического творчества
Стрелочный индикатор звука на LCD дисплее
Ремонт колёсиков туристического чемодана
Светофор размером с пятирублёвую монету
Установка для травления печатных плат.
Электромагнитная защелка
УФ излучатель для экспонирования фоторезиста. Вариант 2.


Радиосхемы » Видеотехника

ФОНОВАЯ ПОДСВЕТКА ДЛЯ ТЕЛЕВИЗОРА

      

Здравствуйте, друзья! Поговорим о технологии Amblight (послесвечение - фоновая задняя подсветка ТВ), эту опцию предлагают в своих телевизорах PHILIPS. Реализаций этой красоты в интернете очень много, но я свой выбор остановил на проекте Ardulight - во первых он мне под силу(как новичку), во вторых печатная плата в формате .lay - в наличии, в третьих удобная прога написана, а главное давно забытая светодиодная лента в наличии. За дело! Начнём с перечня элементов: в моём городе транзисторы мне обошлись бы в 700 рублей, в стране почта которой субсидируется на госуровне (CHINA) - 20 этих полевиков обошлись в 180 рублей.

Расходы на Ardulight своими руками

Бобину ленты RGB в 5 метров взял с игрушки на пульте ДУ (CHINA). Расстояние от моего компьютера до телевизора метров 5, докупил удлинитель - почему-то терзал себя мыслью, что ARDUINO на таком расстоянии будет "лагать", ничего подобного всё летает (я прекрасно понимаю, что такое цифровой сигнал).

Схемотехника

Схема- ФОНОВАЯ ПОДСВЕТКА ДЛЯ ТЕЛЕВИЗОРА

Устройство имеет 6 зон по 3 ключа. Вашему вниманию показан фрагмент схемы, а точнее 1-ая зона в ней три ключа (транзисторы) к стоку которых подключены три цвета RGB. По такому-же принципу подключены полевые транзисторы 18 каналов 6 зон. Для удобства понятия и восприятия всё сведено в таблицу:

  • 1 зона    2,3,4 выходы NANO
  • 2 зона    5,6,7 выходы NANO
  • 3 зона    8,9,10 выходы NANO
  • 4 зона    11,12,13 выходы NANO
  • 5 зона    14,15,16 выходы NANO
  • 6 зона    17,18,19 выходы NANO

Печатная плата:

ФОНОВАЯ ПОДСВЕТКА ДЛЯ ТЕЛЕВИЗОРА - плата печатная

Печатная плата имеет двусторонний монтаж, контроллер с одной стороны - вся пайка на другой стороне платы, не забудем перемычку между GND  и минусом питания.

ФОНОВАЯ ПОДСВЕТКА ДЛЯ ТЕЛЕВИЗОРА - самодельная плата 1

ФОНОВАЯ ПОДСВЕТКА ДЛЯ ТЕЛЕВИЗОРА - самодельная плата 2

Поговорим о коде

Тут есть момент который необходимо оговорить - светодиодные ленты имеют разный порядок расположения светодиодов у меня он был такой - +BRG. Дальше побитовое переключение каналов; таймеры и счётчики в это "вдаваться" не нужно - код уже продуман и отлажен.

#define  D4_High PORTD |=B00000100  //red  
#define  D4_LOW PORTD &= B11111011  
#define  D2_High PORTD |=B00001000  //green  
#define  D2_LOW PORTD &= B11110111  
#define  D3_High PORTD |=B00010000  //blue  
#define  D3_LOW PORTD &= B11101111  

#define  D7_High PORTD |=B00100000  
#define  D7_LOW PORTD &= B11011111  
#define  D5_High PORTD |=B01000000   
#define  D5_LOW PORTD &= B10111111  
#define  D6_High PORTD |=B10000000  
#define  D6_LOW PORTD &= B01111111  

#define  D10_High PORTB |=B00000001  
#define  D10_LOW PORTB &= B11111110  
#define  D8_High PORTB |=B00000010  
#define  D8_LOW PORTB &= B11111101  
#define  D9_High PORTB|=B00000100  
#define  D9_LOW PORTB &=B11111011  

#define D13_High PORTB |=B00001000  
#define D13_LOW PORTB &= B11110111  
#define D11_High PORTB |=B00010000  
#define D11_LOW PORTB &= B11101111  
#define D12_High PORTB |=B00100000  
#define D12_LOW PORTB &= B11011111  

#define D16_High PORTC |=B00000001  
#define D16_LOW PORTC &= B11111110  
#define D14_High PORTC |=B00000010  
#define D14_LOW PORTC &= B11111101  
#define D15_High PORTC |=B00000100  
#define D15_LOW PORTC &= B11111011 

#define D19_High PORTC |=B00001000  
#define D19_LOW PORTC &= B11110111  
#define D17_High PORTC |=B00010000  
#define D17_LOW PORTC &= B11101111  
#define D18_High PORTC |=B00100000  
#define D18_LOW PORTC &= B11011111 

volatile unsigned int tcnt2;  
volatile byte pwm_time;  
//byte pwm_time, Red_R_Old, Green_L_Old, Blue_T_Old;  
unsigned long blank=0; //таймер простоя  
byte volatile color[18];  //массив храннения цветов 18-ть каналов  

void setup()   
{  
        for (int i=2; i < 20; i++){pinMode(i, OUTPUT);}    
        Serial.begin(115200);  
    
     TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2   
    TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика  
    TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика  
    ASSR &= ~(1<<AS2);  //Выбор источника синхронизации таймера если AS2=0 от системного генератора  
    tcnt2 = 252; //  16000000/31000/64=8 tcnt2=256-8=248.      
    TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2.  
}  

void loop()   
{  
  if (Serial.available() > 18)   
  {   
      if (Serial.read() == 255)  //проверка прификса        
        {  
            for (int i = 0; i < 18; i++)   
             {                  
               color[i] = Serial.read();  // прочитать данные о цветах из порта в массив  
             }        
            // if (Red_R_Old == color[0] && Green_L_Old == color[4] && Blue_T_Old == color[8])    
             blank=0;  
        }  
  } else {   
           if(blank>100000) { blank=0; for (byte i = 0; i < 18; i++)  color[i] = 0;}   
          blank++;   
         }    
}   
//****************обработчик прерывания********************  
ISR(TIMER2_OVF_vect)   
{  
    TCNT2 = tcnt2;  

 pwm_time++;  
    if(color[0] > pwm_time ) D2_High;  else D2_LOW;   
    if(color[1] > pwm_time ) D3_High;  else D3_LOW;  
    if(color[2] > pwm_time ) D4_High;  else D4_LOW;   
      
    if(color[3] > pwm_time ) D5_High;  else D5_LOW;  
    if(color[4] > pwm_time ) D6_High;  else D6_LOW;  
    if(color[5] > pwm_time ) D7_High;  else D7_LOW;   
      
    if(color[6] > pwm_time ) D8_High;  else D8_LOW;  
    if(color[7] > pwm_time ) D9_High;  else D9_LOW;  
    if(color[8] > pwm_time ) D10_High; else D10_LOW;  
      
    if(color[9] > pwm_time ) D11_High; else D11_LOW;   
    if(color[10] > pwm_time) D12_High; else D12_LOW;          
    if(color[11] > pwm_time) D13_High; else D13_LOW;  
     
    if(color[12] > pwm_time) D14_High; else D14_LOW;   
    if(color[13] > pwm_time) D15_High; else D15_LOW;          
    if(color[14] > pwm_time) D16_High; else D16_LOW; 
     
    if(color[15] > pwm_time) D17_High; else D17_LOW;   
    if(color[16] > pwm_time) D18_High; else D18_LOW;          
    if(color[17] > pwm_time) D19_High; else D19_LOW; 
}

Соединительная часть проекта

ФОНОВАЯ ПОДСВЕТКА ИЗ ДИОДНЫХ ЛЕНТ

Программа имеет удобный и приятный вид - сразу бросается в глаза, что писал грамотный человек. Вот возможности:

ФОНОВАЯ ПОДСВЕТКА ДЛЯ ТЕЛЕВИЗОРА - ПРОГРАММА

  1. ОСНОВНЫЕ: здесь подстраиваем под себя, есть лампа настроения с функцией генератора случайных чисел, подсветка.
  2. ЗОНА: задаём параметры зон, представьте, что Вы вдоль периметра телевизора будете ложить условные кирпичики: левая боковая сторона - это 1 зона, верх это 2 и 3 зона, правая боковина -это 4 зона, нижняя часть - 5и 6 зоны. Ну и дальше как в школе учили - ось ординат - только Y у Вас будет внизу, ширина и высота тут всё понятно.
  3. РАСШИРЕННЫЕ: Не забудьте правильно сконфигурировать Ваш COM порт и задать нужную скорость бодов - 115200. Указать количество зон. 

Переходим к тестированию проверяем зоны и цвета:

тестирование лед лент - зелёныйтестирование лед лент - синий

Переносим на телевизор, предлагаю свой вариант расположения устройства:

как самому сделать светодиодную заднюю подсветку ТВ

как самому сделать цветодинамическую светодиодную заднюю подсветку

Не мог себе отказать в удовольствии погонять ардулайт в динамических-резких - взрывающих сценах - я выбрал анимэ:

как сделать цветодинамическую светодиодную подсветку

светодиодную заднюю подсветку у телевизора

Всю гамму ощущений фото не передадут, а вот видео на моём канале можно посмотреть по этой ссылке 

Видео работы

Вот ссылка на сайт с исходниками. С Уважением ко всем форумчанам и любителям радиоэлетроники - Тольяттинский эмбеддер (1945).

   Форум

   Обсудить статью ФОНОВАЯ ПОДСВЕТКА ДЛЯ ТЕЛЕВИЗОРА


Схемы наши, лайки ваши - всё по честному. Оцените:


ИОНОФОН

ИОНОФОН     Самодельный ионофон на основе высоковольтного трансформатора Тесла.

АВТОМОБИЛЬНЫЙ ПРЕОБРАЗОВАТЕЛЬ ДЛЯ ЗАРЯДА НОУТБУКА

АВТОМОБИЛЬНЫЙ ПРЕОБРАЗОВАТЕЛЬ ДЛЯ ЗАРЯДА НОУТБУКА     Проверка схемы преобразователя для зарядки ноутбука из бортовой сети автомобиля 12В.

ФОНАРИ НА СВЕТОДИОДАХ

ФОНАРИ НА СВЕТОДИОДАХ     Простейшая но эффективная переделка обычного фонаря с лампочкой накаливания на светодиод.

АЭРОСЪЁМКА С МУЛЬТИКОПТЕРА

АЭРОСЪЁМКА С МУЛЬТИКОПТЕРА     Продолжаем знакомство с интереснейшим летающим устройством - мультикоптер.


» ПОИСК СХЕМ

» РАДИОЭЛЕМЕНТЫ


Группа вконтакте Канал ютуб Группа в фэйсбук Мобильная версия © 2010-2018, "Радиосхемы". Все права защищены. Почта