Что то вроде Light-X

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Nicke1odeoN
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пт июн 25, 2010 23:30:28

Re: Что то вроде Light-X

Сообщение Nicke1odeoN »

У меня есть подозрения на блок питания, пока другой найти не могу... Этот таки слабоват, напряжение гуляет, отсюда и мерцания и срыв...
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

Можно подключить от компьютерного блока питания - чёрный и красный (+5) провод.
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Nicke1odeoN
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пт июн 25, 2010 23:30:28

Re: Что то вроде Light-X

Сообщение Nicke1odeoN »

Заработало!!! =) БП сменил именно на комповый АТ (пришлось впаять предохранитель).
Теперь осталось понять как подгонять цвета, и напаять тонну светодиодов! =)

Спасибо огромное!
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

Незачто, наоборот очень приятно. Обращайся.
Вот
Изображение
Светодиоды вешаешь просто по три штуки независимо в какой последовательности, всё это можно настроить программно.
я делал так
О-О два красных
О-О два зелёных
О-О два синих
О-О общий (-)
А вообще без разницы.
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
vvf
Родился
Сообщения: 3
Зарегистрирован: Пт сен 10, 2010 10:04:16
Откуда: Краснодар

Re: Что то вроде Light-X

Сообщение vvf »

Всем привет.

Позвольте вынести на ваш суд такую простую идею (и гораздо дешевле в реализации):
сделать это устройство на основе прогрммного ШИМ всего на одной ATtiny2313.
И это даст еще и возможность сделать 4-х канальную подсветку (например RGB лентами вокруг ЖК телевизора закрепленного на стене, т.е. и снизу тоже.).

Поскольку я программист и паять для меня сложнее чем писать программы :-) и как оказалось купить тот контроллер который хочется - целая проблемма: можно купить только то, что есть.

Для реализации USB взять библиотеку: http://www.obdev.at/products/vusb/index.html
чтобы уменьшимть количество вычеслений (переложить их на компьютер): передавать данные отсортированные по уровню сигнала на канале вместе с номером канала.
это делается для того, чтобы на каждой иттерации не просматривать весь массив уровней.

А ШИМ реализовать в прерывании таймера.

коррекцию яркости и прочих параметров тоже, пожалуй, лучше сделать на компьютере.


Код: Выделить всё


static uchar pwm_cnt; // счетчик программного ШИМ
static uchar pwm_lvl; // текущий индекс массива уровней
static uchar int_flag;
/* массив в котором будут храиться исходные данные:  */
static struct {
    unsigned char value;   // велечина яркости
    unsigned char channel; // канал
} pwm_data[12];  // 12 каналов (4х3)

// временный буффер в который будет прием данных по USB
unsigned char buffer[24];

/* ---------- */

/* usbFunctionWrite() is called when the host sends a chunk of data to the
 * device. For more information see the documentation in usbdrv/usbdrv.h.
 */
uchar   usbFunctionWrite(uchar *data, uchar len)
{
    uchar i;
    if(bytesRemaining == 0)
        return 1;               /* end of transfer */
// принимаем данные в временный буфер
    if(len > bytesRemaining)
        len = bytesRemaining;
    for(i=len;i--;)
   *(buffer+currentAddress+i)=*(data+i);
   
    currentAddress += len;
    if( (bytesRemaining -= len) == 0){
   // copy to real
   cli(); // чтобы во время копирования не использовались "не готовые" данные
   for(i=12;i--;){
       pwm_data[i].value=buffer[i*2];
       pwm_data[i].channel=buffer[i*2+1];
   }
   sei();
    }
    return bytesRemaining == 0; /* return 1 if this was the last chunk */
}

ISR( TIMER1_COMPA_vect ){

   if((pwm_cnt--)==0){ // при переходе через "0" включаем все каналы
       PORTB =0xFF;
       PORTD =0xFF;
       pwm_lvl=0; // номер в массиве
   }
// обходим все элементы массива уровней у которых уровень равен текущему значению счетчика
// и выключаем эти каналы
   while( pwm_cnt==pwm_data[pwm_lvl].value ){
      unsigned char chn = pwm_data[pwm_lvl].channel;
      pwm_lvl++;
      if( chn > 7 )
          PORTD &= ~(1 << (chn-7));
      else
          PORTB &= ~(1 << (chn));
   }

   int_flag = 1;
}


а в основном цикле тогда останется:

Код: Выделить всё


   int_flag = 0;
        usbPoll();
        if( int_flag == 0 )
       sleep_cpu();



Пока это только идея, если люди соображающие в электронике ее разовьют - буду только рад.
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

Сечас ( на работе) некогда разобраться, вечером обязательно посмотрю.
И я не совсем понял, ЗАМЕНИТЬ не устройсво а FT232 наверное? Т. е ту часть которая общается с USB? Т. е. сделать этот девайс на трёх микроконтроллерах?
Если так то я только за, сам хотел заменить её контроллером, но тема как то не развилась.
Только контроллер поменять бы, хотябы на ту же мегу8 (tini у нас не возят)
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
vvf
Родился
Сообщения: 3
Зарегистрирован: Пт сен 10, 2010 10:04:16
Откуда: Краснодар

Re: Что то вроде Light-X

Сообщение vvf »

Именно все устройство!

А мега же еще мошьнее, так что она справится с этим не хуже.

алгоритм работы:
1. Прерывание по таймеру:
каждое прерывание - это иттерация ШИМ.
(
при частоте 8Мгц прерывание по переполнению будет 8М/256 раз в секунду.
полнцый цикл ШИМ - 256 иттераций, т.е. частота будет порядка 122 Гц.
)
на каждой иттерации сравнивается счетчик с требуемым значение м канала и если оно совпало, то выключаем соответствующий канал.
на нулевой иттерайии все сбрасываем и включаем все каналы.

2. основной цикл - принимаем данные из USB, копируем их в буфер значений, если остается время (во вроемя USB не было еще прерываний) - засыпаем (до прерывания).

таким образом благодоря прерыванию мы получим одинаковые интервалы не зависимо от того чем занят процессор при приеме USB данных.
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

А если не секрет, тогда откуда у тиньки вырастут ещё хренова туча ног для подключения всех светодиодов (36 штук) :shock: :shock: ??
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
vvf
Родился
Сообщения: 3
Зарегистрирован: Пт сен 10, 2010 10:04:16
Откуда: Краснодар

Re: Что то вроде Light-X

Сообщение vvf »

почему 36?

12 = 4 х 3 ( 4 канала: слева, верх, справа, низ по 3 цвета - RGB )

каждая из 12-ти ног должна будет управлять ключем который может включать, например, 12 вольтовую светодиодную ленту.

А по вашей схеме получается можно реализовать 12 полноцветных каналов :-) и развесить светодиоды по всему периметру монитора/телефизора.
2 меги должны справится даже если и в одной из них будет USB реализован (на том можно задействовать аппаратные ШИМ).
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

vvf писал(а):А по вашей схеме получается можно реализовать 12 полноцветных каналов :-) и развесить светодиоды по всему периметру монитора/телефизора.

Не "получается", а реализовано.
А вот FT232 если заменить на контроллер, вот это дело. Контроллер (мега8 например :) ) в 3 -4 раза дешевле будет, плюс на ней не только преобразаватель USB - RS232 можно сделать но и ещё чего полезного запихнуть (смотря сколько ресурсов останется)
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Аватара пользователя
Sari
Родился
Сообщения: 3
Зарегистрирован: Чт сен 09, 2010 16:24:22

Re: Что то вроде Light-X

Сообщение Sari »

http://www.recursion.jp/avrcdc/cdc-232.html
Можно здесь посмотреть на реализацию моста USB-COM на Меге И Тине.
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

Спасибо за сылку, но их довольно много на всяких контроллера, я присматривал уже.
Воткнуть в схему готовую конструкцию не проблема, просто я хотел бы более или менее разобраться в самом коде прошивки, но как то руки недоходят.
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Nicke1odeoN
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пт июн 25, 2010 23:30:28

Re: Что то вроде Light-X

Сообщение Nicke1odeoN »

Поигрался, выводы такие:
1. Площадь область захвата цвета на экране надо сделать регулируемой, в менее динамичных фильмах это снизит постоянные моргания.
2. Опять же для менее динамичных фильмов можно сделать что-то вроде фильтра, что бы программа делала несколько выборок, вычисляла среднее и отдавала контроллерам.
Есть конечно подозрение, что такие улучшения вызовут "грязность цвета", будут перевирания.

3. Диоды надо брать градусов 30-60, т.к. у больших углов, излучение идёт начиная от подложки, а не с поверхности линзы, а боковое свечение нам не нужно.
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

Nicke1odeoN писал(а):Поигрался, выводы такие:
1. Площадь область захвата цвета на экране надо сделать регулируемой, в менее динамичных фильмах это снизит постоянные моргания.

Есть конечно подозрение, что такие улучшения вызовут "грязность цвета", будут перевирания.


Изначально я так и хотел сделать, но при усреднении с нескольких точек, цвет получается левый. (как нибудь доведу до ума)
На счёт светодиодов, я отталкивался от того что больше градус - лучше смешивание цветов.
В идеале конечно лучше RGB светодиоды с одной линзой.
Есть ещё задумка добавить к каждой тройке светодиодов белый сверхяркий светодиод, для получения белого свечения.
А с фильтрами, если брать выборки по времени, то появится некое запаздывание цвета. Но тоже чтонибудь попробую.
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Nicke1odeoN
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пт июн 25, 2010 23:30:28

Re: Что то вроде Light-X

Сообщение Nicke1odeoN »

Изначально я так и хотел сделать, но при усреднении с нескольких точек, цвет получается левый. (как нибудь доведу до ума)

На ум приходит следующих алгоритм:
1. Черный, серый выкидываем, усреднение не делаем. Просто обсчитывает статистически данную область, вычисляем преобладающий цвет, его и показываем, но это тоже не совершенный алгоритм =(
На счёт светодиодов, я отталкивался от того что больше градус - лучше смешивание цветов.

Можно эксперимент поставить :idea:
Есть ещё задумка добавить к каждой тройке светодиодов белый сверхяркий светодиод, для получения белого свечения.

Я хороший белый цвет не могу получить, обои с розоватым отливом))
Nicke1odeoN
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пт июн 25, 2010 23:30:28

Re: Что то вроде Light-X

Сообщение Nicke1odeoN »

Нельзя видимо оргстекло в неразбавленный растворитель кидать, наровит склеить кружки =)
Докупил 30 светодиодов, угол 60*, видимо это была моя ошибка, очень узко. все надежды на рассеивающие круги.
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

Незнаю, у меня кружки не склеились, кидал всей пачкой. Но возможен и такой исход :))
Теперь с работой по свободней, возможно на днях займусь софтом.
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
Nicke1odeoN
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пт июн 25, 2010 23:30:28

Re: Что то вроде Light-X

Сообщение Nicke1odeoN »

Modest писал(а):Теперь с работой по свободней, возможно на днях займусь софтом.

Было бы классно под Win7 KMPlayer, я не знаю через что идёт рендеринг, может там какие-то сложности есть...

Поставил светодиоды 140 градусов, ультраяркие. Светят дико, качество цвета - отличное, надо правильно позиционировать, что бы не было поразитной засветки.
Вложения
DSC02360.JPG
(107.8 КБ) 394 скачивания
Аватара пользователя
Modest
Сверлит текстолит когтями
Сообщения: 1138
Зарегистрирован: Сб апр 03, 2010 08:57:35

Re: Что то вроде Light-X

Сообщение Modest »

Я свой девайс использую с km плеером, там тока в настройках пошарить надо
Изображение
[img]http://i053.radikal.ru/1102/71/0a0346d3a067.gif[/img]
[size=85]Ты думаешь ты думал как ты думаешь? (с)[/size]
ThE_BuZz
Первый раз сказал Мяу!
Сообщения: 28
Зарегистрирован: Вс мар 14, 2010 16:48:00

Re: Что то вроде Light-X

Сообщение ThE_BuZz »

ATMega8A подойдёт?
Ответить

Вернуться в «Интеграция с ПК»