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

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

    28 14.66%
  • Да.

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

    34 17.80%
Страница 62 из 93 ПерваяПервая ... 12525657585960616263646566676872 ... ПоследняяПоследняя
Показано с 611 по 620 из 921
  1. #611
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,379
    Вес репутации
    10

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

    Скорее всего у тебя слабый компьютер
    Уменьшай размер зон для увеличения производительности компьютера

  2. #612
    Пользователь
    Регистрация
    23.09.2011
    Возраст
    34
    Сообщений
    37
    Вес репутации
    163

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

    ДАже когда включаю режим подсветка....
    проц ATOM525
    Последний раз редактировалось asuz; 23.09.2011 в 14:43.

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

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

    Рекомендации написал выше.
    Уменьшай размер зон для увеличения производительности компьютера

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

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

    поставил 4 зоныв программе. всё равно ёлка....
    ардуино прошит на 10 зон.

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

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

    Нужно не количество зон уменьшать, а их площадь которая в настройках программы для каждой зоны
    Последний раз редактировалось Chip; 23.09.2011 в 15:45.

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

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

    ок, сделал 2 зоны 10 на 10 и 10 в ширину , не чего не меняется.... сделал 2000мс диоды мерцают, и иногда подглючивают.....
    если прошиваю ардуино прошивкой на 16 портов то работает всё замечательно, хоть зоны на весь экран ставь, а когда шью на 30 начинает лагать.... может этот softPWM не умеет на 30 каналов раскладывать, не простож там наверно стояло 16 максимальных каналов может кто нить скетч подкинет на 30 каналов без soft PWM?

    я пробовал вот так шить
    #define D2_High PORTE |=B00010000 //red line-1 on
    #define D2_LOW PORTE &= B11101111 //red line-1 off
    #define D3_High PORTE |=B00100000 //green line-1 on
    #define D3_LOW PORTE &= B11011111 //green line-1 off
    #define D4_High PORTG |=B00100000 //blue line-1 on
    #define D4_LOW PORTG &= B11011111 //blue line-1 off

    #define D5_High PORTE |=B00001000 //red line-2 on
    #define D5_LOW PORTE &= B11110111 //red line-2 off
    #define D6_High PORTH |=B00001000 //green line-2 on
    #define D6_LOW PORTH &= B11110111 //green line-2 off
    #define D7_High PORTH |=B00010000 //blue line-2 on
    #define D7_LOW PORTH &= B11101111 //blue line-2 off

    #define D8_High PORTH |=B00100000 //red line-3 on
    #define D8_LOW PORTH &= B11011111 //red line-3 off
    #define D9_High PORTH |=B01000000 //green line-3 on
    #define D9_LOW PORTH &= B10111111 //green line-3 off
    #define D10_High PORTB |=B00010000 //blue line-3 on
    #define D10_LOW PORTB &= B11101111 //blue line-3 off

    #define D11_High PORTB |=B00100000 //red line-4 on
    #define D11_LOW PORTB &= B11011111 //red line-4 off
    #define D12_High PORTB |=B01000000 //green line-4 on
    #define D12_LOW PORTB &= B10111111 //green line-4 off
    #define D13_High PORTB |=B10000000 //blue line-4 on
    #define D13_LOW PORTB &= B01111111 //blue line-4 off

    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[12]; //массив храннения цветов 12-ть каналов


    void setup()
    {
    for (int i=2; i < 14; 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() > 12)
    {
    if (Serial.read() == 255) //проверка прификса
    {
    for (int i = 0; i < 12; 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 < 12; 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;
    }
    но и тут всего 14 каналов......
    в програмировании ардуин не силён, прошу помощи....

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

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

    Попробуй в следующей строке подобрать значение
    tcnt2 = 252; // 16000000/31000/64=8 tcnt2=256-8=248.
    нужно значение 252 уменьшать

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

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

    Цитата Сообщение от Chip Посмотреть сообщение
    Попробуй в следующей строке подобрать значение

    нужно значение 252 уменьшать
    так ведь это для 14 каналов? или если я уменьшу значение каналы возрастут?

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

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

    Это плавное изменение частоты ШИМ

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

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

    Вот теперь совсем запутолся.....
    У меня скейч на 30 диодов работает через одно место но все 30!
    #include <SoftPWM.h>
    uint8_t leds[30] = {22, 23, 24, 25, 26, 27, 28, 29, 30,31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51};
    byte volatile color[30];
    unsigned long night=0;

    void setup()
    {
    Serial.begin(115200);
    SoftPWMBegin();
    for (int i = 0; i < 30; i++)
    SoftPWMSet(leds[i], 0);
    SoftPWMSetFadeTime(ALL, 5, 5);
    }
    void loop()
    {
    if (Serial.available() > 30)
    {
    if (Serial.read() == 255)
    {
    for (int i = 0; i < 30; i++)
    {
    color[i] = Serial.read();
    }
    night=0;
    }
    }
    else
    {
    if(night>30000) { night=0; for (byte i = 0; i < 30; i++) color[i] = 0;}
    night++;
    }
    for (int i = 0; i < 30; i++)
    SoftPWMSet(leds[i], color[i]);
    }
    или с ней не чего не выдет?

    Эту я тоже пробовал но тут нет 30... тут только 14...
    Если так то как добавить к этой
    #define D2_High PORTE |=B00010000 //red line-1 on
    #define D2_LOW PORTE &= B11101111 //red line-1 off
    #define D3_High PORTE |=B00100000 //green line-1 on
    #define D3_LOW PORTE &= B11011111 //green line-1 off
    #define D4_High PORTG |=B00100000 //blue line-1 on
    #define D4_LOW PORTG &= B11011111 //blue line-1 off

    #define D5_High PORTE |=B00001000 //red line-2 on
    #define D5_LOW PORTE &= B11110111 //red line-2 off
    #define D6_High PORTH |=B00001000 //green line-2 on
    #define D6_LOW PORTH &= B11110111 //green line-2 off
    #define D7_High PORTH |=B00010000 //blue line-2 on
    #define D7_LOW PORTH &= B11101111 //blue line-2 off

    #define D8_High PORTH |=B00100000 //red line-3 on
    #define D8_LOW PORTH &= B11011111 //red line-3 off
    #define D9_High PORTH |=B01000000 //green line-3 on
    #define D9_LOW PORTH &= B10111111 //green line-3 off
    #define D10_High PORTB |=B00010000 //blue line-3 on
    #define D10_LOW PORTB &= B11101111 //blue line-3 off

    #define D11_High PORTB |=B00100000 //red line-4 on
    #define D11_LOW PORTB &= B11011111 //red line-4 off
    #define D12_High PORTB |=B01000000 //green line-4 on
    #define D12_LOW PORTB &= B10111111 //green line-4 off
    #define D13_High PORTB |=B10000000 //blue line-4 on
    #define D13_LOW PORTB &= B01111111 //blue line-4 off

    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[12]; //массив храннения цветов 12-ть каналов


    void setup()
    {
    for (int i=2; i < 14; 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() > 12)
    {
    if (Serial.read() == 255) //проверка прификса
    {
    for (int i = 0; i < 12; 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 < 12; 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;
    }
    ещё 16 каналов?
    Последний раз редактировалось asuz; 23.09.2011 в 17:17.

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

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

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

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

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

Ваши права

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