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

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


» РАДИОБЛОГИ
Сбербанк Онлайн или как «не остаться без штанов»
Как я делал Гаусс-ган, а получился шокер
Цветомузыка на микросхеме индикаторе уровня
Генератор импульсов на микросхеме К174ХА11
Реставрация лабораторного БП
Зарубежные схемы FM трансмиттеров
Почему светодиоды надо питать током?
Последнее интервью Никола Теслы
Керамические конденсаторы К10-83
Использование старых спутниковых тюнеров

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

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

      

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

   Форум

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


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


СОДЕРЖАНИЕ ДРАГМЕТАЛЛОВ В РАЗЪЁМАХ, ВИЛКАХ И РОЗЕТКАХ

      Количество драгоценных металлов - золота и серебра, содержащиеся в советских соединительных элементах. 

ПОКУПКА КИТАЙСКИХ СВЕТОДИОДНЫХ ЛАМП

ПОКУПКА КИТАЙСКИХ СВЕТОДИОДНЫХ ЛАМП     Доставка из Китая светодиодных ламп и других товаров.

УСТРОЙСТВО ТИРИСТОРА

УСТРОЙСТВО ТИРИСТОРА     Вид, структура и принцип действия тиристора. Основные преимущества перед другими ключевыми полупроводниковыми приборами.

МОЩНЫЕ СВЕТОДИОДНЫЕ ЛАМПЫ

Преобразователь и светодиод в мощных LED лампах     Мощные светодиодные лампы для освещения. Популярные модели и технические характеристики.


» ПОИСК СХЕМ



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

» МИКРОНАУШНИКИ

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