Фоновая подсветка для телевизора

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

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

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

Бобину ленты 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 и минусом питания.

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

Тут есть момент который необходимо оговорить — светодиодные ленты имеют разный порядок расположения светодиодов у меня он был такой — +brg.

Фоновая подсветка PaintPack — аналог Philips Ambilight на вашем мониторе

Дальше побитовое переключение каналов; таймеры и счётчики в это "вдаваться" не нужно — код уже продуман и отлажен.

#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-ть каналов

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 = serial.read(); // прочитать данные о цветах из порта в массив
}
// if (red_r_old == color && green_l_old == color && blue_t_old == color)
blank=0;
}
} else {
if(blank>100000) { blank=0; for (byte i = 0; i < 18; i++) color = 0;}
blank++;
}
}
//****************обработчик прерывания********************
isr(timer2_ovf_vect)
{
tcnt2 = tcnt2;

pwm_time++;
if(color > pwm_time ) d2_high; else d2_low;
if(color > pwm_time ) d3_high; else d3_low;
if(color > pwm_time ) d4_high; else d4_low;

if(color > pwm_time ) d5_high; else d5_low;
if(color > pwm_time ) d6_high; else d6_low;
if(color > pwm_time ) d7_high; else d7_low;

if(color > pwm_time ) d8_high; else d8_low;
if(color > pwm_time ) d9_high; else d9_low;
if(color > pwm_time ) d10_high; else d10_low;

if(color > pwm_time ) d11_high; else d11_low;
if(color > pwm_time) d12_high; else d12_low;
if(color > pwm_time) d13_high; else d13_low;

if(color > pwm_time) d14_high; else d14_low;
if(color > pwm_time) d15_high; else d15_low;
if(color > pwm_time) d16_high; else d16_low;

if(color > pwm_time) d17_high; else d17_low;
if(color > pwm_time) d18_high; else d18_low;
if(color > pwm_time) d19_high; else d19_low;
}

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

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

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

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

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

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

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

Видео работы

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

Форум

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

Раздел:

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

Dreamscene-Gallery

Themes-Gallery

Intros-Gallery

3D-Gallery

about company

Find free high quality 3D animated video wallpapers (dreamscenes, *.wmv) on dreamscene.org for Windows DreamScene™, and Themes for Windows 7. Transform your desktop into a new world of motion.

All DreamScenes are fully HD compatible (720p/1080p), optimized for best quality at lowest cpu usage. dreamscene.org uses the WMV file format for the best compatibility, directly compatible to: Windows DreamScene™ for Vista and Windows 7 (download DreamScene Activator for Windows 7 from softpedia or brothersoft, you can find a How-To-Use Tutorial here), DeskScapes™ and Players like VLC or BS.Player.

Make your desktop more interesting with Windows DreamScene™ … or use XPScene to run your DreamScene videos on Windows XP, see "tools" section to download XPScene, Screen2Dream or WPTimer.

You can also use the video loops as motion backgrounds for your dvd menus, green-screen productions, presentations, for video editing and multimedia footages. The files can directly be used with video editor software, such as Adobe After Effects/Premiere, Sony Vegas or Windows MovieMaker. Visit our Gallery and start your project!

News

  2016/12/04

Kill Jelly our first mobile game!!! for FREE.

Kill Jelly is a fast single touch game with funny animated multi colored jellys.

PaintPack: динамическая подсветка Ambilight своими руками

130 level …
37 Achievements …

Now available at Google Play Store!

read more

  2015/10/05

FREEWARE TIP: If you like YouTube, you will love TubePlayer! Our friends at tomyo.org created a fantastic new freeware called TubePlayer, a stand-alone application that allows you to create, save, and manage youtube playlists on your desktop.


Download Now!

Or create your own ringtones with MobileTones, another nice freeware by TOMYO:


Get it Now!

(The peoble at TOMYO are also the developers of our award winning tools XPScene, Screen2Dream and WPTimer)

NEW DREAMSCENE: A new fanart dreamscene "Legend of Zelda", uploaded by The Setenius.

DREAMSCENE UPLOAD: Two fantastic new Full-HD dreamscenes, uploaded by Scyrex.

read more

  2014/04/08

SITE UPDATE: We fixed some issues with our download gallery. Errors like "invalid rating ID" or loading empty pages, which rarely occurs to some users, should be gone now! (Sorry for the downtimes).

NEW DREAMSCENES: A great new User Upload by Matteo "Matt" Montanari (italinux.com) called "San Francisco — virtual skyline" (download).

DREAM UPDATE: 5 new dreamscene loops , all in Full-HD: Firesky, Multiwave, Fluidstring, Redwave and Spacecloud!

read more

All DreamScene video clips on dreamscene.org are completely free for private / non-commercial use (please contact us to use our video loops on your webpage, or in your commercial product).

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

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

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

Бобину ленты 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 и минусом питания.

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

Тут есть момент который необходимо оговорить — светодиодные ленты имеют разный порядок расположения светодиодов у меня он был такой — +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-ть каналов

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 = serial.read(); // прочитать данные о цветах из порта в массив
}
// if (red_r_old == color && green_l_old == color && blue_t_old == color)
blank=0;
}
} else {
if(blank>100000) { blank=0; for (byte i = 0; i < 18; i++) color = 0;}
blank++;
}
}
//****************обработчик прерывания********************
isr(timer2_ovf_vect)
{
tcnt2 = tcnt2;

pwm_time++;
if(color > pwm_time ) d2_high; else d2_low;
if(color > pwm_time ) d3_high; else d3_low;
if(color > pwm_time ) d4_high; else d4_low;

if(color > pwm_time ) d5_high; else d5_low;
if(color > pwm_time ) d6_high; else d6_low;
if(color > pwm_time ) d7_high; else d7_low;

if(color > pwm_time ) d8_high; else d8_low;
if(color > pwm_time ) d9_high; else d9_low;
if(color > pwm_time ) d10_high; else d10_low;

if(color > pwm_time ) d11_high; else d11_low;
if(color > pwm_time) d12_high; else d12_low;
if(color > pwm_time) d13_high; else d13_low;

if(color > pwm_time) d14_high; else d14_low;
if(color > pwm_time) d15_high; else d15_low;
if(color > pwm_time) d16_high; else d16_low;

if(color > pwm_time) d17_high; else d17_low;
if(color > pwm_time) d18_high; else d18_low;
if(color > pwm_time) d19_high; else d19_low;
}

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

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

самодельная фоновая подсветка телевизора

Вот возможности:

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

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

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

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

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

Видео работы

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

Форум

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

Раздел:

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

Dreamscene-Gallery

Themes-Gallery

Intros-Gallery

3D-Gallery

about company

Find free high quality 3D animated video wallpapers (dreamscenes, *.wmv) on dreamscene.org for Windows DreamScene™, and Themes for Windows 7. Transform your desktop into a new world of motion.

All DreamScenes are fully HD compatible (720p/1080p), optimized for best quality at lowest cpu usage. dreamscene.org uses the WMV file format for the best compatibility, directly compatible to: Windows DreamScene™ for Vista and Windows 7 (download DreamScene Activator for Windows 7 from softpedia or brothersoft, you can find a How-To-Use Tutorial here), DeskScapes™ and Players like VLC or BS.Player.

Make your desktop more interesting with Windows DreamScene™ … or use XPScene to run your DreamScene videos on Windows XP, see "tools" section to download XPScene, Screen2Dream or WPTimer.

You can also use the video loops as motion backgrounds for your dvd menus, green-screen productions, presentations, for video editing and multimedia footages. The files can directly be used with video editor software, such as Adobe After Effects/Premiere, Sony Vegas or Windows MovieMaker. Visit our Gallery and start your project!

News

  2016/12/04

Kill Jelly our first mobile game!!! for FREE.

Kill Jelly is a fast single touch game with funny animated multi colored jellys.

130 level …
37 Achievements …

Now available at Google Play Store!

read more

  2015/10/05

FREEWARE TIP: If you like YouTube, you will love TubePlayer! Our friends at tomyo.org created a fantastic new freeware called TubePlayer, a stand-alone application that allows you to create, save, and manage youtube playlists on your desktop.


Download Now!

Or create your own ringtones with MobileTones, another nice freeware by TOMYO:


Get it Now!

(The peoble at TOMYO are also the developers of our award winning tools XPScene, Screen2Dream and WPTimer)

NEW DREAMSCENE: A new fanart dreamscene "Legend of Zelda", uploaded by The Setenius.

Светодиодная подсветка за телевизором

DREAMSCENE UPLOAD: Two fantastic new Full-HD dreamscenes, uploaded by Scyrex.

read more

  2014/04/08

SITE UPDATE: We fixed some issues with our download gallery. Errors like "invalid rating ID" or loading empty pages, which rarely occurs to some users, should be gone now! (Sorry for the downtimes).

NEW DREAMSCENES: A great new User Upload by Matteo "Matt" Montanari (italinux.com) called "San Francisco — virtual skyline" (download).

DREAM UPDATE: 5 new dreamscene loops , all in Full-HD: Firesky, Multiwave, Fluidstring, Redwave and Spacecloud!

read more

All DreamScene video clips on dreamscene.org are completely free for private / non-commercial use (please contact us to use our video loops on your webpage, or in your commercial product).

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

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

Здравствуйте, друзья! Поговорим о технологии amblight (послесвечение — фоновая задняя подсветка ТВ), эту опцию предлагают в своих телевизорах philips. Реализаций этой красоты в интернете очень много, но я свой выбор остановил на проекте ardulight — во первых он мне под силу(как новичку), во вторых печатная плата в формате .lay — в наличии, в третьих удобная прога написана, а главное давно забытая светодиодная лента в наличии.

Самодельная фоновая подсветка телевизора от USB

За дело! Начнём с перечня элементов: в моём городе транзисторы мне обошлись бы в 700 рублей, в стране почта которой субсидируется на госуровне (china) — 20 этих полевиков обошлись в 180 рублей.

Бобину ленты 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 и минусом питания.

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

Тут есть момент который необходимо оговорить — светодиодные ленты имеют разный порядок расположения светодиодов у меня он был такой — +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-ть каналов

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 = serial.read(); // прочитать данные о цветах из порта в массив
}
// if (red_r_old == color && green_l_old == color && blue_t_old == color)
blank=0;
}
} else {
if(blank>100000) { blank=0; for (byte i = 0; i < 18; i++) color = 0;}
blank++;
}
}
//****************обработчик прерывания********************
isr(timer2_ovf_vect)
{
tcnt2 = tcnt2;

pwm_time++;
if(color > pwm_time ) d2_high; else d2_low;
if(color > pwm_time ) d3_high; else d3_low;
if(color > pwm_time ) d4_high; else d4_low;

if(color > pwm_time ) d5_high; else d5_low;
if(color > pwm_time ) d6_high; else d6_low;
if(color > pwm_time ) d7_high; else d7_low;

if(color > pwm_time ) d8_high; else d8_low;
if(color > pwm_time ) d9_high; else d9_low;
if(color > pwm_time ) d10_high; else d10_low;

if(color > pwm_time ) d11_high; else d11_low;
if(color > pwm_time) d12_high; else d12_low;
if(color > pwm_time) d13_high; else d13_low;

if(color > pwm_time) d14_high; else d14_low;
if(color > pwm_time) d15_high; else d15_low;
if(color > pwm_time) d16_high; else d16_low;

if(color > pwm_time) d17_high; else d17_low;
if(color > pwm_time) d18_high; else d18_low;
if(color > pwm_time) d19_high; else d19_low;
}

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

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

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

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

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

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

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

Видео работы

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

Форум

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

Раздел:

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

Добавить комментарий

Закрыть меню