-
Re: Фоновая подсветка телевизора Ambilight
Запускаю екзешник подсветка несколько раз мигает и всё, не работает. Что йа делаю не так? Ком порт выбрал, параметры задал как в настройках самого порта.
Ещё просьба сделать кнопочку "use default" ибо даже при перераспаковке программы в другое место конфиг остаётсо старый...
В подменю настройки цвета лучше добавить цифры (как было у Chipa) т.к. при перемещение какого либо из оттенков достаточно проблематично вернуть их в исходное состояние. В предпросмотре видно всегда основной монитор(даже если выбираеш второй), во вкладке экран мониторы отображаются как 0, 1 хотя наверное должно быть как 1,2.
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Sorgan
Запускаю екзешник подсветка несколько раз мигает и всё, не работает. Что йа делаю не так? Ком порт выбрал, параметры задал как в настройках самого порта.
Ещё просьба сделать кнопочку "use default" ибо даже при перераспаковке программы в другое место конфиг остаётсо старый...
В подменю настройки цвета лучше добавить цифры (как было у Chipa) т.к. при перемещение какого либо из оттенков достаточно проблематично вернуть их в исходное состояние. В предпросмотре видно всегда основной монитор, во вкладке экран мониторы отображаются как 0, 1 хотя наверное должно быть как 1,2.
у меня нормально работает. по крайней мере та прога который выложил CHIP сегодня. Запускаю мигнет несколько раз и потухнет, потом жму правой кнопкой по значку включить и начинает работать, но перед этим выставил во второй вкладке размер зон.
И да, лучше сделать цифры в подменю настройка цвета.
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Sorgan
В подменю настройки цвета лучше добавить цифры (как было у Chipa) т.к. при перемещение какого либо из оттенков достаточно проблематично вернуть их в исходное состояние. В предпросмотре видно всегда основной монитор(даже если выбираеш второй), во вкладке экран мониторы отображаются как 0, 1 хотя наверное должно быть как 1,2.
цифры добавлю, действительно не удобно выставлять баланс белого
проверить работу с двумя мониторами в windows нет возможности (в linux работает), можно поподробнее описать в каком режиме включены мониторы
-
Re: Фоновая подсветка телевизора Ambilight
У меня в Win 7 не заработала, хотя данные программа шлет, это видно по миганию светодиода RX
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Chip
У меня в Win 7 не заработала, хотя данные программа шлет, это видно по миганию светодиода RX
у меня сначала то же не работало, зоны настроял и каналы выставил и заработало
-
Re: Фоновая подсветка телевизора Ambilight
Первым делом сделал все настройки и зоны отконфигурировал
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Chip
У меня в Win 7 не заработала, хотя данные программа шлет, это видно по миганию светодиода RX
а в предпросмотре с включенным показом зон, цвета в зонах меняются?
v.1.0.1
+отображение цифр в настройках цвета
+настройки сохраняются в папке с программой
-
Вложений: 1
Re: Фоновая подсветка телевизора Ambilight
Черного цвета
Вложение 10474
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Chip
Черного цвета
а если настройками цвета "поигратся"
-
Re: Фоновая подсветка телевизора Ambilight
Проверил последнюю версию, заработала .
-
Вложений: 1
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Chip
Черного цвета
мой косяк
v1.0.2
fix: расчет цвета
-
Re: Фоновая подсветка телевизора Ambilight
Теперь все работает и цвета в предпросмотрах зон правильно отображает
Скачать Программу с настройками на 4 зоны
-
Re: Фоновая подсветка телевизора Ambilight
Скачал версию которую выложил Chip. И нельзя не отметить положительных тенденций. Программа перестала дико тормозить (но по прежнему не работает) и на ардуине начал мигать светодиод, частота его миганий напрямую зависит от скорости обновления.
Проверял на XP и 7.
Тут вроде всё верно(?):
http://s1.pixant.ru/00/amb_200.jpg
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Eraser
цифры добавлю, действительно не удобно выставлять баланс белого
проверить работу с двумя мониторами в windows нет возможности (в linux работает), можно поподробнее описать в каком режиме включены мониторы
Даже с одним монитором эмбилайт не работает. У всех при включеном эмбилайте мигает курсор мышки? В первых версиях программ он не мигал но и ардуина тогда ни как не реагировала.
-
Re: Фоновая подсветка телевизора Ambilight
Скорость порта должна быть 115200 , а не 9600
У меня работает на Win7, только ресурсов жрет много, надеюсь что в линуксе не будет такой прожорливой
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Chip
Скорость порта должна быть 115200 , а не 9600
У меня работает на Win7, только ресурсов жрет много, надеюсь что в линуксе не будет такой прожорливой
Да. Программа весьма плотоядна. 115200 заработало только на перекаченном дистрибутиве. Курсор моргает(что не критично) а вот второй монитор не работает... Включить второй можно только по старинке выставив его основным в винде. Курсор моргает с частатой "скорость обновления".
-
Вложений: 1
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Chip
Скорость порта должна быть 115200 , а не 9600
У меня работает на Win7, только ресурсов жрет много, надеюсь что в линуксе не будет такой прожорливой
в линуксе (тестировал в Ubuntu) все как-то лучше(см. рис.):
-со вторым монитором работает(вторым подключен телик)
-моргания курсора не заметил
-ресурсов жрет немного, на общей работе системы не сказывается, даже при просмотре HD (нагрузка идет на видео, используется VDPAU)
переходите на линукс :)
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Eraser
в линуксе (тестировал в Ubuntu) все как-то лучше(см. рис.):
-со вторым монитором работает(вторым подключен телик)
-моргания курсора не заметил
-ресурсов жрет немного, на общей работе системы не сказывается, даже при просмотре HD (нагрузка идет на видео, используется VDPAU)
переходите на линукс :)
Я что то не вижу софт для Ubuntu, покажите если не сложно.
-
Вложений: 1
Re: Фоновая подсветка телевизора Ambilight
v.1.0.3
fix: пересчет размеров зон при смене дисплея
+ уменьшил шаг и предел "Скорости обновления"
зы версию для linux выложу позднее
-
Re: Фоновая подсветка телевизора Ambilight
фигасике, выставляю 42 канала и скорость обновления 1 мс, загрузка проца на 60-70%. интересно как на ubuntu будет себя вести эта прога, и возможно ли сделать так как в ubuntu? а то уж проц напрягается.
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Tarko
фигасике, выставляю 42 канала и скорость обновления 1 мс, загрузка проца на 60-70%. интересно как на ubuntu будет себя вести эта прога, и возможно ли сделать так как в ubuntu? а то уж проц напрягается.
В убунту было выставлено 12 каналов и частота обновления 50.
Интересно,а у вас эмбилайт на 42 канала? зачем выставлять 42, если не используется?
много конечно зависит от проца, я тестировал на 2Ггц
-
Re: Фоновая подсветка телевизора Ambilight
В версии 1.3 пересчет размеров зон при смене дисплея происходит но к сожалению цвета всё равно берутсо с основного монитора... даже при выставлении задержки в 1 мс субьективно лаг больше чем в программе CHIPA c 20 мс...
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Eraser
В убунту было выставлено 12 каналов и частота обновления 50.
Интересно,а у вас эмбилайт на 42 канала? зачем выставлять 42, если не используется?
много конечно зависит от проца, я тестировал на 2Ггц
пока 42 канала не имею, но планирую еще только, вот и решил просто систему погонять на максимуме, проц Intel Core Duo 2.20 Ghz.
вот и думаю если так грузить будет то надо поменьше каналов сделать.
-
Вложений: 2
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Sorgan
В версии 1.3 пересчет размеров зон при смене дисплея происходит но к сожалению цвета всё равно берутсо с основного монитора... даже при выставлении задержки в 1 мс субьективно лаг больше чем в программе CHIPA c 20 мс...
а сравнение производилось когда программа в фоновом режиме?
зы выкладываю исполняемый файл для linux
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
Eraser
а сравнение производилось когда программа в фоновом режиме?
зы выкладываю исполняемый файл для linux_x86-64, для 32-битной попозже
По всякому.
-
Re: Фоновая подсветка телевизора Ambilight
Собрал все по схеме уважаемого Chipa. все работает и радует...
Задумался всьерзьез над большим кол-вом каналов, на новых "амбилайтах" их по 3-4 группы (по 3 светодиода в группе) стоит на сторону.
Несколько раз перечитал форум но так толком и не понял есть ли схемотехническое решение на большое кол-во каналов?
в электронике особо не силен...
заранее спасибо.
-
Re: Фоновая подсветка телевизора Ambilight
Сколько каналов интересует?
-
Re: Фоновая подсветка телевизора Ambilight
Для своего монитора в 24 дюйма хотел бы попробывать 30 каналов (моник висит на стенке) получается по бокам две группы по 3 диода а сверху и снизу по три группы по три диода в каждой.
в будущем возможно замахнусь на домашнюю плазму 50 дюймов, думаю там нада более 60 каналов к примеру по 3-4 группы по бокам (24 канала) и по 6 сверху и снизу (42).
Как такая идея?
насколько я понял, что идея со сдвиговыми регистрами зашла в тупик из-за малой мощности?
может тогда использовать несколько ардуин, свзяаных по i2c, как Вы предлагали в первом посту?
-
Re: Фоновая подсветка телевизора Ambilight
Есть опробованная схема на шифтах 24 канала
-
Re: Фоновая подсветка телевизора Ambilight
у-у-у! уже хочу!
кстати, интересно будет протестировать загруженность проца при работе 24 каналов...
ленточка есть, ардуинка есть, каналы добавлю на макетке, осталось только регистры купить...
ксати, мой коре2дуо 8400 под программкой от Eraser жрет 30-35% проц. времени при 9 включеных каналах. первоначальная програмка при тех же 9 каналах кушает всего около 10% хоть и наблюдаются некоторые "фризы" особенно в играх
-
Вложений: 2
Re: Фоновая подсветка телевизора Ambilight
Огромное спасибо за помощь SBorovkov
PHP код:
#define TCNT2_Const 250 //256-9
#define BrightnessSize 24 //число каналов
unsigned long blank=0; //таймер простоя
uint8_t volatile PWM_Counter=0;
uint8_t Brightness[BrightnessSize];
void setup()
{
pinMode(10, OUTPUT); //SS SPI вывод для управления защелкой
pinMode(11, OUTPUT); // SPI DATA
pinMode(13, OUTPUT); // SPI Clock
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(13,LOW);
SPSR = (1<<SPI2X); // SPI set clock rate fck/2
SPCR = (1<<SPE)|(1<<MSTR); // Enable SPI, Master
for (int i=0;i<BrightnessSize;i++) //обнулить массив
{
Brightness[i]=0;
}
Serial.begin(115200);
TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2
TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика
TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика
TCCR2B |= (1<<CS22); //установка предделителя 64
ASSR &= ~(1<<AS2); //Выбор источника синхронизации таймера если AS2=0 от системного генератора
TCNT2 = TCNT2_Const; // 16000000/256/100/64=8 tcnt2=256-8=248.
TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2.
sei();
}
void loop()
{
if (Serial.available() > BrightnessSize)
{
if (Serial.read() == 255) //проверка прификса
{
for (int i = 0; i < BrightnessSize; i++)
{
Brightness[i] = Serial.read(); // прочитать данные о цветах из порта в массив
}
blank=0;
}
} else {
if(blank>100000) { blank=0; for (byte i = 0; i < BrightnessSize; i++) Brightness[i] = 15;}
blank++;
}
}
SIGNAL(TIMER2_OVF_vect)
{
uint8_t PWM_Counter_v=PWM_Counter; // поскольку PWM_Counter объявлена как valotile, обращение к ней - всегда обращение в память. Поэтому создаем локальную копию, она будет храниться в регистре.
TCNT2 = TCNT2_Const;
uint8_t i = 0;
uint8_t byte_shift;
uint8_t nbit; // делаем переменную для хранения сдвинутого бита, чтобы у компилятора не возникало желания каждый раз в цикле сдвигать 1 на bt бит влево
byte_shift = 0;
for (uint8_t bt=0; bt<8; bt++)
{
if(Brightness[i]>PWM_Counter_v) byte_shift|= 1; // тут соответственно использщуем nbit
i++;
byte_shift = byte_shift<<1;
}
SPDR = byte_shift; //отправляем в шину SPI
//**************************************
byte_shift = 0;
for (uint8_t bt=0; bt<8; bt++)
{
if(Brightness[i]>PWM_Counter_v) byte_shift|= 1; // тут соответственно использщуем nbit
i++;
byte_shift = byte_shift<<1;
}
SPDR = byte_shift; //отправляем в шину SPI
//**************************************
byte_shift = 0;
for (uint8_t bt=0; bt<8; bt++)
{
if(Brightness[i]>PWM_Counter_v) byte_shift|= 1; // тут соответственно использщуем nbit
i++;
byte_shift = byte_shift<<1;
}
SPDR = byte_shift; //отправляем в шину SPI
PORTB |= (1<<PIN2); //формируем положительный импульс защелки
PWM_Counter++;
while(!(SPSR & (1<<SPIF))); // Ожидание завершения передачи данных
PORTB &= ~(1<<PIN2);
}
схема
Вложение 10521
Распределение зон
Вложение 10520
-
Re: Фоновая подсветка телевизора Ambilight
[QUOTE=Chip;74534]Огромное спасибо за помощь SBorovkov
PHP код:
#define TCNT2_Const 250 //256-9
#define BrightnessSize 24 //число каналов
unsigned long blank=0; //таймер простоя
uint8_t volatile PWM_Counter=0;
uint8_t Brightness[BrightnessSize];
void setup()
{
pinMode(10, OUTPUT); //SS SPI вывод для управления защелкой
pinMode(11, OUTPUT); // SPI DATA
pinMode(13, OUTPUT); // SPI Clock
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(13,LOW);
SPSR = (1<<SPI2X); // SPI set clock rate fck/2
SPCR = (1<<SPE)|(1<<MSTR); // Enable SPI, Master
for (int i=0;i<BrightnessSize;i++) //обнулить массив
{
Brightness[i]=0;
}
Serial.begin(115200);
TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2
TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика
TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика
TCCR2B |= (1<<CS22); //установка предделителя 64
ASSR &= ~(1<<AS2); //Выбор источника синхронизации таймера если AS2=0 от системного генератора
TCNT2 = TCNT2_Const; // 16000000/256/100/64=8 tcnt2=256-8=248.
TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2.
sei();
}
void loop()
{
if (Serial.available() > BrightnessSize)
{
if (Serial.read() == 255) //проверка прификса
{
for (int i = 0; i < BrightnessSize; i++)
{
Brightness[i] = Serial.read(); // прочитать данные о цветах из порта в массив
}
blank=0;
}
} else {
if(blank>100000) { blank=0; for (byte i = 0; i < BrightnessSize; i++) Brightness[i] = 15;}
blank++;
}
}
SIGNAL(TIMER2_OVF_vect)
{
uint8_t PWM_Counter_v=PWM_Counter; // поскольку PWM_Counter объявлена как valotile, обращение к ней - всегда обращение в память. Поэтому создаем локальную копию, она будет храниться в регистре.
TCNT2 = TCNT2_Const;
uint8_t i = 0;
uint8_t byte_shift;
uint8_t nbit; // делаем переменную для хранения сдвинутого бита, чтобы у компилятора не возникало желания каждый раз в цикле сдвигать 1 на bt бит влево
byte_shift = 0;
for (uint8_t bt=0; bt<8; bt++)
{
if(Brightness[i]>PWM_Counter_v) byte_shift|= 1; // тут соответственно использщуем nbit
i++;
byte_shift = byte_shift<<1;
}
SPDR = byte_shift; //отправляем в шину SPI
//**************************************
byte_shift = 0;
for (uint8_t bt=0; bt<8; bt++)
{
if(Brightness[i]>PWM_Counter_v) byte_shift|= 1; // тут соответственно использщуем nbit
i++;
byte_shift = byte_shift<<1;
}
SPDR = byte_shift; //отправляем в шину SPI
//**************************************
byte_shift = 0;
for (uint8_t bt=0; bt<8; bt++)
{
if(Brightness[i]>PWM_Counter_v) byte_shift|= 1; // тут соответственно использщуем nbit
i++;
byte_shift = byte_shift<<1;
}
SPDR = byte_shift; //отправляем в шину SPI
PORTB |= (1<<PIN2); //формируем положительный импульс защелки
PWM_Counter++;
while(!(SPSR & (1<<SPIF))); // Ожидание завершения передачи данных
PORTB &= ~(1<<PIN2);
}
В моем повторении данного кода не загораются 3 светодиода, которые висят на Q2 каждого 74hc595. В чем может быть проблема?
-
Re: Фоновая подсветка телевизора Ambilight
-
Re: Фоновая подсветка телевизора Ambilight
Tarko, проверь плз, остальные по отдельности загораются и гаснут корректно?
-
Re: Фоновая подсветка телевизора Ambilight
SBorovkov, еще одну штуку заметил, делаю что бы все загорелись красные, ну тупо заливаю экран в паинте красным цветом, и все зоны располагаются на красном, то сначала светодиоды горят как и положено красным, но через некоторое время загораются синие, во как, а так в остальном вроде нормально, но по крайней мере еще не заметил
-
Re: Фоновая подсветка телевизора Ambilight
попробуй в начале обработчика прерывания поставить
sei();
и сообщи о результате.
-
Re: Фоновая подсветка телевизора Ambilight
Tarko, уточни, синие вместо красных или вместе с красными?
-
Re: Фоновая подсветка телевизора Ambilight
Нужно ли ставить на выходах ключи?
-
Re: Фоновая подсветка телевизора Ambilight
Цитата:
Сообщение от
SBorovkov
Tarko, уточни, синие вместо красных или вместе с красными?
именно синие вместо красных.
попробывал дописать sei(); в обработчик, ни чего хорошего не вышло, стало мерцание и загорались не те светодиоды что надо.
-
Re: Фоновая подсветка телевизора Ambilight
мерцаниепри добавлении - вполне нормально. Но не те светодиоды загораться по идее не должны бы. Подумаю вечерком.