Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Eraser
Спешу сообщить, что софт из этого проекта может работать с arduino! Возможно найдутся те, кто решится попробовать этот софт и написать скетч для работы с ним. Если возникнут вопросы или проблемы с программой буду рад вам помочь.
Проект комерческий/платный ? выкладывай хотя бы демо версию :)
Вложений: 1
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
CarMonitor.ru
Вообще-то разработчик программы -
Chip.
Насколько я помню - Вас он попросил сделать тоже самое для линукса, для этого он и отправил Вам устройство и программу, что бы Вы ее перенесли под линукс и опробовали.
Это я к тому, что правильнее написать не разработчик, а оптимизатор что-ли... ;)
А вообще спасибо за то, что следите за нашим проектом :)
С этим я не могу согласиться.
Из программы Chip я взял лишь протокол работы с устройством. Спасибо ему за предоставленные исходники и устройство, это сильно упростило задачу.
Я же написал кроссплатформенную программу, с удобным интерефейсом настройки, те написал с нуля, кроме алгоритма. Это никак не оптимизация! :)
Цитата:
Сообщение от
crazydnb
Проект комерческий/платный ? выкладывай хотя бы демо версию :)
Проект opensource!! Т.е. программы, исходники, схемы, все открыто.
Прикладываю скомпиленную программу с поддержкой работы с com портом.
PS Если не заинтересует, то поднимать эту тему не буду. :( Просто хотелось предложить более удобную программу, чем та прежняя.
Re: Фоновая подсветка телевизора Ambilight
неполучилось запустить, при подключени к virtual значек говорит что включено, но ничего неработает. ком порт я выставил в файле lightpackmain.conf, но при запуске програмы компорт остается свободен тоесть я могу запустить старую версию и она начинает работать.
ps: меня интересует, просто старая программа у меня при 1920x1080 выдает 13гц и при этом пропадает синхронизация видео с частотой экрана (рвет кадр), поэтому очень ждал улудшений в следующих версиях.
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
crazydnb
неполучилось запустить, при подключени к virtual значек говорит что включено, но ничего неработает. ком порт я выставил в файле lightpackmain.conf, но при запуске програмы компорт остается свободен тоесть я могу запустить старую версию и она начинает работать.
ps: меня интересует, просто старая программа у меня при 1920x1080 выдает 13гц и при этом пропадает синхронизация видео с частотой экрана (рвет кадр), поэтому очень ждал улудшений в следующих версиях.
Для работы с СОМ портом в файле файле lightpackmain.conf должна быть выставлена такая настройка
ConnectedDevice=Adalight
virtual - он на то и virtual, в этом режиме связь к устройством не устанавливается, программа просто выполняет захват, но данные никуда не передает
PS Старой программой заниматься у меня не хватает времени, поэтому я врядли продолжу ее развитие
Re: Фоновая подсветка телевизора Ambilight
удалось запустить , но так как у меня 28 зон получил разноцветную гирлянду :).... программа стала кушать меньше ресурсов компа 8% против 25%, частота кадров у меня так и осталась 10-15кд/c, кадр также как и прежде рвет (возможно дело у меня в железе). если будет поддержка большего количества зон буду очень рад :)
Re: Фоновая подсветка телевизора Ambilight
увеличение количества зон в планах, работа над этим идет
а вот насчет гирлянды
протокол передачи данных немного другой (отличный от того что был ранее):
Код:
первые три байта "Ada"
еще три байта служебной информации
три байта цвета зоны 1
....
три байта цвета зоны 10
вы можете подправить свой скетч, и хотябы оценить работу программы на 10 зонах
зы я давал ранее ссылку на скетч который обрабатывает данный протокол, но его удалили (видимо посчитав что это реклама)
Re: Фоновая подсветка телевизора Ambilight
ясно попробую попоже, у меня чтоб перепрошить телек снимать надо со стены. поповоду протокола... 65 100 97 служ служ служ r1 g1 b1 и тд. я правильно понел ?
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
crazydnb
ясно попробую попоже, у меня чтоб перепрошить телек снимать надо со стены. поповоду протокола... 65 100 97 служ служ служ r1 g1 b1 и тд. я правильно понел ?
да, именно так
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Chip
Попробуй вот этот скетчь и отпишись
Я его еще не проверял
Не забудь настройки в программе сделать на 18 каналов
PHP код:
#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 < 19; 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;
}
Спасибо, Chip, Ардину седня получил (Arduino Nano V3.0 (http://www.dealextreme.com/p/arduino-nano-v3-0-81877)), попробовал оба скейча, все завелось, вот только ленты придут на этой неделе.
По работе 6 зон, куда цеплять выходы порта С? D14-D19, это на ноги А0-А5 платы Ардуины, так? Когда вживую буду проверять отпишусь.
Пока на проге Eraser, при 6 зонах шириной 10% (4 по контуру и 2 просто внутри) и разрешайке монитора 1920*1080 частота упала до 9 Герц, что думаю маловато, буду вообщем эксперементировать, когда все соберу.
Вложений: 1
Re: Фоновая подсветка телевизора Ambilight
D14-D19 это ноги А0-А5
ПРи разрешении 1920*1080 10% это много, сделай 5%
6 зон расположи вот так
Вложение 13230