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

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

    28 14.66%
  • Да.

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

    34 17.80%
Страница 75 из 93 ПерваяПервая ... 25656970717273747576777879808185 ... ПоследняяПоследняя
Показано с 741 по 750 из 921
  1. #741
    Новичок
    Регистрация
    01.04.2012
    Сообщений
    3
    Вес репутации
    0

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

    Цитата Сообщение от MAKC Посмотреть сообщение
    На чем основано данное замечание?
    просто по видео сделал выводы

  2. #742
    Пользователь
    Регистрация
    12.11.2011
    Возраст
    47
    Сообщений
    37
    Вес репутации
    161

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

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

  3. #743
    Пользователь
    Регистрация
    12.11.2011
    Возраст
    47
    Сообщений
    37
    Вес репутации
    161

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

    Интересно, а можно как-нито скомпенсировать индивидуальный цветовой фон в каждом отдельном случае?
    Например в моем убавить красного и добавить синего с зеленым, чтобы итоговая цветопередача была правильной.

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

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

    попробуешь напиши, очень хочу посмотреть, а динамические сцены без опозданий?

  5. #745
    Пользователь
    Регистрация
    12.11.2011
    Возраст
    47
    Сообщений
    37
    Вес репутации
    161

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

    Цитата Сообщение от kalnoy Посмотреть сообщение
    попробуешь напиши, очень хочу посмотреть, а динамические сцены без опозданий?
    Дай ссылку на какой-нито роллик, с интересующими тебя динамическими сценами, на нем и пересниму свою демушку

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

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

    Доброго времени суток! Решил сделать подсветку на 42 канала, используя 74HC595 и ULN2004. Развел платку, запаял, прошил, вроде как работает, светодиоды загораются, но не так как надо. не загорается красный из 3 зоны, зелёный из 5 зоны, красный из 10 зоны, зелёный из 12 зоны, а синего из 7 зоны и синего из 14 зоны вообще нету. То есть походу не правильная отправка потока в SPI. Код который заливаю в мегу написанный в ArduinoIDE:

    Код:
    #define TCNT2_Const 247 
    #define BrightnessSize 42//число каналов 
    
    unsigned long blank=0; //таймер простоя  
    unsigned long Max_Blank=65000;
    
    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())   
      {   
          if (Serial.read() == 255)  //проверка прификса        
            { 
             for (int i = 0; i < BrightnessSize; i++)   
             {                  
              for (;(Serial.available()==0)&&(blank<=Max_Blank);blank++);
                if (Serial.available())
                  {
                   Brightness[i] = Serial.read();  // прочитать данные о цветах из порта в массив  
                   blank=0;  
                  }
             }
            }  
      } else
        {   
         if(blank>Max_Blank)
           {
             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, обращение к ней - всегда обращение в память. Поэтому создаем локальную копию, она бeдет храниться в регистре. 
      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  
      }
      PORTB |= (1<<PIN2); //формируем положительный импульс защелки 
      PWM_Counter++; 
      while(!(SPSR & (1<<SPIF)));   // Ожидание завершения передачи данных 
      PORTB &= ~(1<<PIN2);
    }
    Помогите пожалуйста разобраться с этой ситуацией.
    P.S. софт использую Ambilight - 2011 - Eraser Soft c.1.1.11 и Лайтпак 5.8.6-1

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

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

    Ну я бы стал проверять так:
    1. Сделал так, чтобы все светодиоды горели -
    после блоков

    if(*CBright>PWM_Counter_v) byte_shift|= 1;
    CBright++;
    byte_shift = byte_shift<<1;

    прописать
    SPDR=255;
    вместо
    SPDR = byte_shift;

    Затем взять вольтметр и посмотреть что творится на выводах 595-х. Что-то мне подсказывает, что у тебя проблема скорее в разводке (которую, возможно, получится программно исправить).
    У тебя не работает по светодиоду в 3-5-7-10-12-14 зонах.
    Если считать, что не работает каждый 7-й вывод, то так и будет.

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

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

    Цитата Сообщение от SBorovkov Посмотреть сообщение
    Ну я бы стал проверять так:
    1. Сделал так, чтобы все светодиоды горели -
    после блоков

    if(*CBright>PWM_Counter_v) byte_shift|= 1;
    CBright++;
    byte_shift = byte_shift<<1;

    прописать
    SPDR=255;
    вместо
    SPDR = byte_shift;

    Затем взять вольтметр и посмотреть что творится на выводах 595-х. Что-то мне подсказывает, что у тебя проблема скорее в разводке (которую, возможно, получится программно исправить).
    У тебя не работает по светодиоду в 3-5-7-10-12-14 зонах.
    Если считать, что не работает каждый 7-й вывод, то так и будет.
    Когда поменял SPDR = byte_shift на SPDR=255 на всех выходах 595-х по 4,82 вольта. А когда проге выставляю в настройках подсветка и цвет белый, перед этим естественно прошивку вернул как было, то на выводах 595-х с 1 по 6 и 15-ый есть напряжение 4,67 а на 7-ом выводе каждой 595-ой напряжение 0,7. То есть ты прав не работает каждый 7-й вывод.
    А вследствии чего так происходит??? данные не смещаются на один бит влево???

  9. #749
    Модератор
    Регистрация
    06.07.2008
    Возраст
    46
    Сообщений
    414
    Вес репутации
    436

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

    попробуй в последнем блоке

    if(*CBright>PWM_Counter_v) byte_shift|= 1;
    CBright++;
    byte_shift = byte_shift<<1;

    убрать последнюю строку

    ps. я правильно понял, что при byte_shift = 255 все светится?

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

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

    да правильно понял, при SPDR = 255 под напряжением все выводы, при удалении строчки byte_shift = byte_shift<<1 в последнем блоке, происходит то что отсутствие напряжение с 7 переходит на 6 вывод, то есть на 7 выводе раньше не было теперь появилось напряжение, а на 6 раньше было а щаст нету
    Последний раз редактировалось Tarko; 05.04.2012 в 23:32.

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

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

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

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

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

Ваши права

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