Результаты опроса: Нужна ли вам такая функция на телевизоре?

Голосовавшие
191. Вы ещё не голосовали в этом опросе
  • Нет.

    28 14.66%
  • Да.

    129 67.54%
  • Нужна , только руки кривые, самому не осилить

    34 17.80%
Страница 32 из 93 ПерваяПервая ... 22262728293031323334353637384282 ... ПоследняяПоследняя
Показано с 311 по 320 из 921
  1. #311
    Пользователь Аватар для Eraser
    Регистрация
    09.12.2010
    Возраст
    40
    Сообщений
    62
    Вес репутации
    149

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Цитата Сообщение от Tarko Посмотреть сообщение
    Eraser, думаю неплохо было б добавить, шаблоны для зон, допустим смотришь фильм используется одна заготовка, а слушаешь музыку и используешь в качестве светомузыки выбираешь другую заготовку.
    не совсем понял, что вы хотите

    была идея сделать анализатор для звука(чтобы "подмыргивало" разными цветами), но не получилось, пока забил, может потом

  2. #312
    Пользователь
    Регистрация
    22.11.2010
    Возраст
    43
    Сообщений
    20
    Вес репутации
    141

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    SBorovkov 42 канала круто! ждемс платы!
    на выходных буду собирать 24 канала на макетке!
    мож выложите платку - бум тестить все вместе!

  3. #313
    Модератор
    Регистрация
    06.07.2008
    Возраст
    43
    Сообщений
    414
    Вес репутации
    407

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Микрухи - 74hc595 и uln2004, По шесть штук каждых. На плате - SO корпуса (1.27 мм между выводами). Плата двухсторонняя, но можно сделать и одностороннюю с перемычками (надо будет маленько перерисовать тогда). Скетч отлаживаю. Скажу так: ошибки в опубликованном варианте есть.

    После сборки платы:
    1. Дорабатываем ленту (режем на куски, паяем к ней разъемы)

    2. Берем длинный шлейф 34 жилы (длиной высота+ширина), одеваем на него разъемы в нужных местах (их может быть от 5 и больше). Можно одеть сразу две ленты в один разъем, в разные стороны, как на фотографии. В каждый разъем ленты вставляются со сдвигом - в первый 1..4 контакты, во второй - 5..8, в третий - 9-12, четвертый - 13-16.

    3. Повторяем пункт 2 для второго шлейфа.

    На каждом из двух разъемов платы крепится по шлейфу, а на шлейфе - по 7 лент - итого 42 канала.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Ambilight-scheme.gif 
Просмотров:	1605 
Размер:	133.2 Кб 
ID:	10555   Нажмите на изображение для увеличения. 

Название:	Ambilight-down.gif 
Просмотров:	741 
Размер:	91.0 Кб 
ID:	10556   Нажмите на изображение для увеличения. 

Название:	Ambilight-up.gif 
Просмотров:	458 
Размер:	55.0 Кб 
ID:	10557   Нажмите на изображение для увеличения. 

Название:	LED-Strip.jpg 
Просмотров:	423 
Размер:	13.4 Кб 
ID:	10558  

    Нажмите на изображение для увеличения. 

Название:	Plata1.jpg 
Просмотров:	455 
Размер:	76.2 Кб 
ID:	10559   Нажмите на изображение для увеличения. 

Название:	Plata2.jpg 
Просмотров:	580 
Размер:	84.9 Кб 
ID:	10560   Нажмите на изображение для увеличения. 

Название:	ambilight1.jpg 
Просмотров:	469 
Размер:	71.9 Кб 
ID:	10561  
    Последний раз редактировалось SBorovkov; 24.12.2010 в 02:22.

  4. #314
    Пользователь
    Регистрация
    07.12.2010
    Сообщений
    34
    Вес репутации
    142

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Цитата Сообщение от Eraser Посмотреть сообщение
    не совсем понял, что вы хотите

    была идея сделать анализатор для звука(чтобы "подмыргивало" разными цветами), но не получилось, пока забил, может потом
    ну пусть то же самый AIMP, у него есть как все знают визуализация разворачивающаяся на весь экран, что позволит зажигать светодиоды под музыку. А шаблон позволить быстро выбирать нужную схему расположения зон. и будет происходить переключение так сказать между режимом просмотр фильма и светомузыки.
    и если не сложно, то добавь кнопку "Поверх всех окон" а то как то и не удобно когда оно всегда сверху.
    Последний раз редактировалось Tarko; 24.12.2010 в 22:50.

  5. #315
    Модератор
    Регистрация
    06.07.2008
    Возраст
    43
    Сообщений
    414
    Вес репутации
    407

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Я достиг зияющих высот! :-)
    Во-первых у меня таки заработала полноценно плата. К сожалению, на ней были ошибки и из-за этого я сделал изменение - пришлось припаять проводочек, который виден на фотке платы и еще в двух местах чуть изменить разводку. Ошибка была дуракцая - выход в нижний разъем шел не с выводов q1..q7 микрух uln2004, а с CD+ и q1..q6 (ошибся на один вывод). Рисунок платы я выложил сразу правленный, но формально - я его не пробовал. У меня абсолютно такая же верхняя часть платы, а на нижней небольшие изменения.

    Выявился и недостаток. По какой-то причине, через один из выводов каждой uln2004 даже в закрытом состоянии течет небольшой ток. Поэтому шесть линеек немного светятся. Красные и синие - вообще еле заметно, зеленая - сильнее. Яркость свечения на глаз примерно соответствует яркости 1 из 255.

    По поводу программной части:
    Мне удалось достигнуть выполнения таймера примерно за 370 тактов при работе на 42 канала. Это дает возможность обеспечить частоту мигания около 150 герц.
    Если же откомпилировать проект с опцией компилятора, расчитанной на максимальное быстродействие, то получим около 315 тактов на выполнение прерывания, это дает возможность выставить частоту 180 герц. Это даже быстрее, чем нынешний вариант на 24 канала.

    Ниже привожу исходник для avr atudio, который у меня работает. Если захотите взять отсюда исходники на 24 канала, потребуется из этих исходников взять:

    #define TCNT2_Const 256-50

    далее инициализация таймера
    TCCR2B |= (1<<CS21); //установка предделителя 8

    далее - основной цикл for(; можете перенести как есть в setup()
    до loop() в этом случае дело не дойтет, и ладно. Там надо будет поменять две функции работы с serial (у меня uart... ).

    Таймер - берете как есть и делаете изменение:
    1. Изменяете цикл
    for (j=6;j>0;j--)
    на
    for (j=3;j>0;j--)

    2. Добавляете перед строками
    SPDR = byte_shift; //отправляем в шину SPI
    }
    PWM_Counter++;
    еще две строки
    if(*CBright>PWM_Counter_v) byte_shift|= 1;
    CBright++;

    Тут дело в том, что у меня на плате на каждом шифте используется только 7 выводов из 8. Причем используются не 0..6 биты, а 1..7 (см. схему чуть выше). Поэтому я и формирую только 7 битов, а затем подвигаю эти биты на 1 влево, чтобы они попали на 1..7. Вам же в 0 бит после этого надо будет записать данные - этими двумя добавляемыми строками.
    Код:
    #include <iopins.h>
    #include <pinlist.h>
    #include <latch.h>
    
    #include "uart.h"
    
    using namespace IO;
    
    #include <avr/version.h>
    
    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <util/delay.h>
    
    #define BrightnessSize 42
    #define TCNT2_Const 256-45 //256-9
    
    #define MaxBlank 65000
    
    uint8_t volatile PWM_Counter=0; 
    uint8_t Brightness[BrightnessSize];
    
    typedef Pb2 SSPin;
    
    typedef Pd0 SerialIn_Pin;
    typedef Pd1 SerialOut_Pin;
    
    void Timer(void);
    
    int main (void)
    {
    	uint8_t i;
    	i=1;
    	DDRB=0;;
    
    	Pb5::SetDirWrite();
    	Pb3::SetDirWrite();
    	Pd7::SetDirWrite();
    	SSPin::SetDirWrite();
    
        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; 
        } 
    
    	uartInit();
    	uartSetBaudRate(115200);
    	SerialIn_Pin::SetDirRead();
    	SerialOut_Pin::SetDirWrite();
    
        TIMSK2 &= ~(1<<TOIE2); //разрешения прерывания по переполнению таймера/счетчика Т2   
        TCCR2A &= ~((1<<WGM21) | (1<<WGM20));// Режим работы таймера/счетчика  
        TCCR2B &= ~(1<<WGM22);// Режим работы таймера/счетчика  
        TCCR2B |= (1<<CS21); //установка предделителя 64 
        ASSR &= ~(1<<AS2);  //Выбор источника синхронизации таймера если AS2=0 от системного генератора  
        TCNT2 = TCNT2_Const; //  16000000/256/100/64=8 tcnt2=256-8=248.      
        TIMSK2 |= (1<<TOIE2);//Разрешение прерывания по переполнению Т2. 
        sei(); 
    
    	uint16_t blank=0;
    	uint8_t TimerCurrPWM=0;
    	for(;;)
    	{
    		  if (!uartReceiveBufferIsEmpty())
    		  {
    		      uint8_t b=uartGetByte();
    		      if (i==BrightnessSize)
    		      {
    		        if (b == 255)
    				{
    		          i=0;
    		      	  blank=0;
    				}
    		        else
    		          blank++;
    		      }
    		      else
    		      {
    		      	Brightness[i]=b;
    		      	blank=0;
    		           i++;
    		      }
    		  }
    		  else
    		  {
    		   if (blank<MaxBlank)
    		   {
    		   	if (TimerCurrPWM!=PWM_Counter)
    			{
    				blank++;
    				TimerCurrPWM=PWM_Counter;
                }
    		   }	
    		   else	
    		   {
    		   	for (uint8_t j = 0; j < BrightnessSize; j++)
    		   	  Brightness[j] = 15;
    		   	blank=MaxBlank;
    		   }
    		  }
    	}
    }
    
    
    //void Timer(void)
    SIGNAL(TIMER2_OVF_vect) 
    {  
       Pd7::Set(); 
       Pd7::Set(); 
       Pd7::Clear();; //формируем положительный импульс защелки 
    
    	uint8_t PWM_Counter_v=PWM_Counter; // поскольку PWM_Counter объявлена как valotile, обращение к ней - всегда обращение в память. Поэтому создаем локальную копию, она будет храниться в регистре. 
    	TCNT2 = TCNT2_Const;  
    
    
    	uint8_t byte_shift; 
    	uint8_t * CBright;
    	CBright = (uint8_t *)&Brightness[0];
    
    	uint8_t j=0;
    	for (j=6;j>0;j--)
    	{
    		byte_shift = 0; 
    
        	if(*CBright>PWM_Counter_v) byte_shift|= 1; 
       		CBright++;  
        	byte_shift = byte_shift<<1; 
    
        	if(*CBright>PWM_Counter_v) byte_shift|= 1; 
       		CBright++;  
        	byte_shift = byte_shift<<1; 
    
        	if(*CBright>PWM_Counter_v) byte_shift|= 1; 
       		CBright++;  
        	byte_shift = byte_shift<<1; 
    
        	if(*CBright>PWM_Counter_v) byte_shift|= 1; 
       		CBright++;  
        	byte_shift = byte_shift<<1; 
    
        	if(*CBright>PWM_Counter_v) byte_shift|= 1; 
       		CBright++;  
        	byte_shift = byte_shift<<1; 
    
        	if(*CBright>PWM_Counter_v) byte_shift|= 1; 
       		CBright++;  
        	byte_shift = byte_shift<<1; 
    
        	if(*CBright>PWM_Counter_v) byte_shift|= 1; 
       		CBright++;  
        	byte_shift = byte_shift<<1; 
    
    		SPDR = byte_shift; //отправляем в шину SPI  
    	}
    	PWM_Counter++;
    }
    ps. Я с этой темой почти наигрался, дальше прыгать вроде некуда. На телек я это вешать не буду. Поэтому думаю, что через короткое время буду готов продать плату вместе с 5-ю метрами светодиодной ленты (частично порезанной на 14 20-см кусков). Для того, чтобы из нее сделать эмбилайт, вам потребуется купить шлейф 34 жилы с шагом 1.27мм (длиной в периметр телевизора) и десяток или чуть больше разъемов на него. Ну и если решите использовать не 20-см куски, то еще и надо чуть-чуть уметь паять.
    Ну и, естественно, потребуется Carduino

    UPD. Приложил схему и плату в Eagle.
    Вложения Вложения
    Последний раз редактировалось SBorovkov; 26.12.2010 в 01:56.

  6. #316
    Пользователь
    Регистрация
    16.05.2010
    Сообщений
    49
    Вес репутации
    152

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Выявился и недостаток. По какой-то причине, через один из выводов каждой uln2004 даже в закрытом состоянии течет небольшой ток. Поэтому шесть линеек немного светятся. Красные и синие - вообще еле заметно, зеленая - сильнее. Яркость свечения на глаз примерно соответствует яркости 1 из 255.
    Как же это победить...

  7. #317
    Модератор
    Регистрация
    06.07.2008
    Возраст
    43
    Сообщений
    414
    Вес репутации
    407

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Есть подозрение, что достаточно покупать uln2004 не на митинском рынке, а в магазине. Но учитывая, что сетодиоды реально светятся примерно с яркостью 1 из 255, я на это забил. Зеленые светятся заметно - видна зеленая точка внутри и освещена внутренность светодиода, а синие и красные - видны как еле-светящиеся точки внутри светодиодов.
    Сфотографировать эффект, чтобы передать как он виден, мне не удалось.

    UPD.
    Выключил свет в комнате, зеленые светодиоды действительно светятся в какой-то степени. Свет от них в почти полной темноте позволяет увидеть наличие светлой стены сантиметрах в 50. При расстоянии 15 см стена заметно освещается. Повторюсь, в почти полной темноте, когда руки не видно без этих светодиодов.

    Померял ток, текущий через линейку - 80 микроампер. Для этих светодиодов рабочий ток - 30 мА. То есть ток почти в 370 раз слабее рабочего. Ток короткого замыкания uln2004 в таком режиме - 150мкА. То есть такие эффекты спокойно можно давить резистором с номиналом около 20кОм, включенным на +12В.

    И все же у меня есть большое подозрение, что дело в левых uln-ках. При внимательном рассмотрении выяснилось, что на разных микрухах разные выводы так "шалят".
    Последний раз редактировалось SBorovkov; 26.12.2010 в 06:06.

  8. #318
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    52
    Сообщений
    13,355
    Вес репутации
    10

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Цитата Сообщение от Patashnik Посмотреть сообщение
    Здравствуйте уважаемые знатоки!

    Пытаюсь собрать ambilight для 4 зон по описанной инструкции в ветке форума. Начал с самого маленького, только для одной зоны. Прошил Carduino Nano Duo со скетчем из "шапки" сообщений, запаял все на печатной плате с светодиодной лентой. Но ничего не получилось: загорается при подключении питания на доли секунды зеленый свет и медленно потухает. Подскажите, пожалуйста, в чем может быть проблема? Неправильно залился скетч? Транзисторы или резисторы по маркировке не подходят?
    Осталось узнать какие у тебя номиналы деталей

  9. #319
    Новичок
    Регистрация
    22.12.2010
    Сообщений
    3
    Вес репутации
    0

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Цитата Сообщение от Chip Посмотреть сообщение
    Осталось узнать какие у тебя номиналы деталей
    Резисторы по 270 Ом, транзисторы: LR2905Z IP035P XE 08H или LR2905 IRS533 D1 1A или LR2905 IR307G 3D 5H, т.е. пробовал на всех.

  10. #320
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    52
    Сообщений
    13,355
    Вес репутации
    10

    По умолчанию Re: Фоновая подсветка телевизора Ambilight

    Чтото я не нашел информации по твоим транзисторам

Страница 32 из 93 ПерваяПервая ... 22262728293031323334353637384282 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •