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

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

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


» РАДИОБЛОГИ
О доработке и ремонте проигрывателей винила
Схема сирены сигнализации с аккумулятором
Самый маленький SMD RGB LED куб
Автозапуск двигателя автомобиля на ATTiny13
Светодиодная лампа Camelion: ремонту не подлежит
Оксид-иодид висмута (BiOI) - основа будущих солнечных батарей
Часы настольные на ИН-14 индикаторах - схема и фото
Десятая муза – муза радиотехнического творчества


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

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

      

Здравствуйте, друзья! Поговорим о технологии 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).

   Форум

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


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


ВИДЫ АККУМУЛЯТОРОВ

ВИДЫ АККУМУЛЯТОРОВ     Что такое аккумулятор и какие бывают его разновидности - простая теория для начинающих.

СХЕМА ЭЛЕКТРОННОГО ТРАНСФОРМАТОРА ДЛЯ ГАЛОГЕННЫХ ЛАМП

СХЕМА ЭЛЕКТРОННОГО ТРАНСФОРМАТОРА ДЛЯ ГАЛОГЕННЫХ ЛАМП     Схема, фотографии и описание электронного трансформатора для галогенных ламп на примере стандартной китайской модели настольного светильника.

МОЩНОСТЬ ЭНЕРГОСБЕРЕГАЮЩИХ ЛАМП

мощность энергосберегающих ламп     В статье приводятся основные параметры мощности, цветовой температуры и обозначения стандартных энергосберегающих ламп.

МАКЕТНАЯ ПЛАТА СВОИМИ РУКАМИ

МАКЕТНАЯ ПЛАТА СВОИМИ РУКАМИ     Простой вариант изготовления надёжной макетной платы для пайки и настройки конструкций.


» ПОИСК СХЕМ

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


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