Перейти к содержимому

Четверг 10 Апреля 2025 г. 4:24:48

Добро пожаловать к нам на сайт! Про Ваш статус и права можно прочитать в Этой теме

Для просмотра картинок и скачивания файлов с форума - пройдите регистрацию!   Проблемы с регистрацией - вам сюда



Згорнути %s Последние сообщения тем


Фотография

Ambilight для монитора

Ambilight

  • Авторизуйтесь для відповіді у темі
У темі одне повідомлення

#1
RUS_D

RUS_D

    Главный АДМИН

  • Не в сети
  • Тех. Админ
  •  Администратор
  • Старожил сайта
<- Информация ->
  • PipPipPipPip
  • Регистрация:
    08-грудень 08
  • 5 029 Cообщений
  • Пропуск №: 2

0 баллов предупреждения
Репутация: 8 184

Репутация: 8184 Постов: 5029
  • Skype:rus_did
  • Страна проживания:Украина
  • Реальное имя:Руслан
  • Пол:Мужчина
  • Город:Полтавская обл.

ВЫ увидели у друга крутой телек  philips с подсветкой Ambilight...
ambilight2.jpg
У вас такого нет?    Ну и ладно...
Мы себе сделаем сами такое чудо.
 
ТОЛЬКО ДЛЯ своего МОНИТОРА :) или телека подключенного к компьютеру
 

 
Для начала немного инфы из википедии

Ambilight - что это?

 
А ТЕПЕРЬ К ДЕЛУ...
---------------------------------------------

Что нам для этого нужно?
1. светодиодная лента RBG

6bb023u-960.jpg

 

2. Arduino Nano или подобная

arduino_nano_30.jpg
3. Транзисторы IRLR2905 - 9шт. по 20руб. = 180руб.
4. Резисторы 0,25W - 10шт. по 1руб. = 10руб.
5.Макетка 1шт. 40 руб.
6.Клеммная колодка на 2 провода 6шт. по 3руб. = 18руб
7. Блок питания на 12в, 1-3А (питание светодиодов много кушает)
 
Все собираем по такой схеме:
ARDULIGHT-4.png
плата

вид собранной схемы на макетке
 adulight.jpg
 
Разведенная плата для утюжной технологии :)
plata.jpg
Прикріплений файл  Ардулайт.zip   55,6К   завантажень 259

 
Всё, основная физическая работа закончена.
 
Скачиваем Arduino IDE http://arduino.cc/download.php?f=/arduino-1.5.8-windows.zip
 
Распаковываем Arduino IDE в любое удобное место, папку FastLED из архива с файлами внутри кидаем в папку libraries, которая находится в папке c ArduinoIDE. Запускаем файл с arduino.exe это создаст папку «arduino» в папке с документами, в ней создаем папку NeoPixel и кидем в нее наш скетч. Выходим из Arduino IDE. 
 
Подключаем нашу ардуинку к компьютеру, драйвера должны установиться автоматически, если этого не произошло то указываем системе путь до нашей папки с Arduino IDE и драйвера должны установиться. 
 
Запускаем arduino.exe.
 
Видим следующее:
1.jpg
 
 
Вставляем код нашего скетча (приведен ниже)
2.jpg
 
В меню Сервис-> Плата выбираем нашу нано
3.jpg
 
В меню Сервис -> Процессор выбираем ATmega328
4.jpg
 
В меню Сервис -> Порт выбираем виртуальный Com порт под которым числится наша ардуинка (обычно тот что не com1)
4.jpg
 
Жмем вот эту кнопку:
3.png
 
Это скомпилирует и загрузит скетч в нашу нано. Во время этой процедуры диодики на ардуине должны интенсивно мигать. После заливки скетча закройте IDE, отключите ардуино от компьютера, подключите её к ленте с помощью нашего разъема на 3 провода и подключите блок питания к ленте. Теперь вновь подключите нано к USB.  
 
Код скетча.

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

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

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

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

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

#define D17_High PORTC |=B00001000   
#define D17_LOW PORTC &= B11110111   
#define D18_High PORTC |=B00010000   
#define D18_LOW PORTC &= B11101111   
#define D19_High PORTC |=B00100000   
#define D19_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];  //массив храннения цветов 12-ть каналов   


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;  
}  

Собрали, включили и дым не пошёл.......   Но светодиоды молчат (не светятся).
Будем оживлять их с помощью программы  AmbiBox
 или другой программу Прикріплений файл  ambilight.7z   3,67МБ   завантажень 298
(менее функциональная).

 

Настройка Ambibox
В самом конце процесса установки появится вот такое окошко 
 
10.jpg
 
Выбираем «Adalight» и процесс установки закончен. После установки запустите программу, в трее рядом с часами появится цветной квадратик, нажмите на него два раза, откроется окно настроек. Язык программы можно поменять в настрйках программы, а основные настройки подсветки находятся здесь 
 
11.jpg
Обращаем внимание что нет настроек Сом порта.  Но оказалось, что они есть, но не влезли в окно, поэтому растягиваем за правый нижний край окно и жмем кнопку «Больше настроек»
 
И в появившихся настройках выбираем порт нашей ардуинки и количество диодов. Программа может перезапуститься при выборе порта. Здесь же можно выбрать режим работы для текущего профиля, и метод захвата, в играх выбирать их игровой режим с playclaw, а для кино режим windows 8 (самый быстрый, по моим ощущениям).
При включенных дополнительных настройках жмите кнопку «Показать зоны захвата», появятся цветные квадратики по периметру и дополнительные кнопки в меню, нажимаем «Мастер настройки зон».
 
12.jpg
 
В этом конфигураторе очень удобно настраивать большое количество зон, можно выбрать количество сторон с подсветкой, количество диодов по вертикали и горизонтали, задать смещение, выбрать формат области для захвата, размер выреза на нижней грани под подставку, монитор с которого производить захват, и даже формат 3d изображения (если вы выводите 3d сигнал на тв в формате side-by-side или over-under). Настроив, жмите «Применить», затем в главном меню сохраните настройки. Настройки для моей системы на скриншоте.
 
Все! На этом основная настройка программы закончена, но в этой программе еще ОЧЕНЬ большое количество настроек! Вы можете настроить подсветку регулируя цветовые каналы по отдельности для каждого диода, настроить сглаживание, гамму, динамику, и прочее… Можете создать отдельные профили для широкоформатного кино и переключаться на него сочетанием клавиш или автоматически при открытии программы, и даже включать по открытию винампа режим цветомузыки! Экспериментируйте!

 

Маленькое видео 



#2
RUS_D

RUS_D

    Главный АДМИН

  • Не в сети
  • Тех. Админ
  •  Администратор
  • Старожил сайта
<- Информация ->
  • PipPipPipPip
  • Регистрация:
    08-грудень 08
  • 5 029 Cообщений
  • Пропуск №: 2

0 баллов предупреждения
Репутация: 8 184

Репутация: 8184 Постов: 5029
  • Skype:rus_did
  • Страна проживания:Украина
  • Реальное имя:Руслан
  • Пол:Мужчина
  • Город:Полтавская обл.

4 зон подсветки использовано





реклама на сайте подключена

Использование материалов сайта только с разрешения Администрации!
Или с указанием прямой ссылки на источник. 2008 - 2017 © Stalker-Worlds