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

Рассказать в:

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

Форум

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


Раздел: [Схемы]

Сохрани статью в:

Оставь свой комментарий или вопрос:


Тясячи схем в категориях:
-> Прочее
-> Измерительная техника
-> Приборы
-> Схемыэлектрооборудования
-> Источники питания (прочие полезные конструкции)
-> Теоретические материалы
-> Справочные материалы
-> Устройства на микроконтроллерах
-> Зарядные устройства (для батареек)
-> Зарядные устройства (для авто)
-> Преобразователи напряжения (инверторы)
-> Все для кулера (Вентилятора)
-> Радиомикрофоны, жучки
-> Металоискатели
-> Регуляторы мощности
-> Охрана (Сигнализация)
-> Управление освещением
-> Таймеры (влажность, давление)
-> Трансиверы и радиостанции
-> Конструкции для дома
-> Конструкции простой сложности
-> Конкурс на лучшую конструкцию на микроконтроллерах
-> Конструкции средней сложности
-> Стабилизаторы
-> Усилители мощности низкой частоты (на транзисторах)
-> Блоки питания (импульсные)
-> Усилители мощности высокой частоты
-> Приспособления для пайки и конструирования плат
-> Термометры
-> Борт. сеть
-> Измерительные приборы (тахометр, вольтметр итд)
-> Железо
-> Паяльники ипаяльные станции
-> Радиопередатчики
-> Вспомогательные устройства
-> Телевизионная техника
-> Регуляторы тембра, громкости
-> Блоки питания (лабораторные)
-> Усилители мощности низкой частоты (на микросхемах)
-> Другие устройства для усилителей
-> Cветовое оформление новогодней ёлки или праздничного зала
-> Глушилки
-> Телефонные жуки
-> Инфракрасная техника
-> Медицинская техника
-> Телефония
-> Для животного мира
-> Конструируем усилители
-> Антенны и усилители к ним
-> Звонки
-> Электронные игрушки
-> Усилители мощности низкой частоты (ламповые)
-> Управление двигателями (питание от однофазной сети)
-> Программаторы микроконтроллеров
-> Сверлилки
-> Изучаем микроконтроллеры
-> Радиоприемники
-> Сигнализации
-> Сотовая связь
-> USB-устройства
-> Блоки питания (трансформаторные)
-> Радиостанции простые в изготовлении
-> Источники питания (для усилителей)
-> Прочеее
-> защита от короткого замыкания (электронные предохранители)
-> Зарядные устройства (для радиостанций)
-> Мигалки
-> Cварочное оборудование
-> Кодовые электронные замки
-> Блоки питания (бестрансформаторные)
-> Часы
-> Управление поворотниками
-> Зажигание
-> Управление водой (насосы для скважин или колодцев, полив растений)
-> Моделирование
-> Блоки управления стеклоочистителями
-> Предварительные усилители
-> Защита от перегрузки и перегрева
-> Динамики
-> Ремонт бытовой техники
-> Дистанционное управление компьютером
-> Акустические микрофоны и преобразователи
-> Спутниковое ТВ
-> Gsm антенны, примочки, усилители, ретрансляторы.
-> Пищалки
-> Роботы
-> Ретрансляторы
-> Паяльники и паяльные станции
-> Звуковые сигнализаторы
-> Рули и джойстики
-> Схемы электрооборудования
-> Все для "кулера" (Вентилятора)
-> Работа с BGA микросхемами
-> Фильтры
-> Сабвуферы
Рейтинг@Mail.ru