Страница 6 из 12 ПерваяПервая 123456789101112 ПоследняяПоследняя
Показано с 51 по 60 из 116
  1. #51
    Новичок
    Регистрация
    17.09.2010
    Сообщений
    8
    Вес репутации
    169

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    Прошу прощения за, возможно, глупый вопрос.
    В тексте программы есть оператор analogwrite (,). Так вот, собственно вопрос: модуль ардуино выдает действительно аналоговый сигнал (с ЦАПа, например), или, как я понял из текста, ШИМ сигнал?

    И можно ли полевиком рулить не ШИМ а просто постоянкой, например с переменного резистора? Матрице не поплохеет?

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

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    analogwrite вадает на выход ШИМ
    От пременника матрице плохо не станет , но полевик будет при этом греться

  3. #53
    Новичок
    Регистрация
    17.09.2010
    Сообщений
    8
    Вес репутации
    169

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    Все понял, спасибо!

  4. #54
    Пользователь
    Регистрация
    01.05.2011
    Сообщений
    20
    Вес репутации
    165

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    Кстати, после настройки сего скетча настоятельно рекомендую закомментарить строчки Serial.print(sens, DEC);
    Serial.print(" ");
    Особенно если к нему дополнительно дописывать что-то что будет слать информацию в комп. Иначе будет нестись неисчерпаемый поток мусора.

  5. #55
    Пользователь
    Регистрация
    01.05.2011
    Сообщений
    20
    Вес репутации
    165

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    Еще могу предложить мой вариант прочтения программ от Чипа, если он не возражает.
    В данном скетче объединены резистивные кнопки, автоматическая регулировка LED подсветки и добавлена реакция на включение заднего хода.
    Отличия от первоисточников:
    1. реакция на резистивные кнопки по факту нажатия а не отпускания т.е. практически мгновенно
    2. Для регулировки яркости подсветки используется усредненное значение двух замеров при отсутствии дребезга и яркость сдвигается по единичке
    3. При включении заднего хода яркость выставляется на максимум
    4. Используются условные переходы, поэтому одновременно несколько действий не происходит и поэтому нет поводов для глюков



    PHP код:
    //AutoLight & Softresbutton & reverslight  
    //http://compcar.ru 
    #define PIN 5  //номер аналогового порта  
    #define LIMIT 10 //предел погрешности сопротивления  
    #define DELTA 5 //предел погрешности освещения

    byte bytes[2];   
    int res_dt1res_d;
    int back_on 12;    //вход сигнал включения задней скорости
    int ledPin 9;  //номер светодиодного порта
    int light 0;
    int reallight 0;
    int oldlight 0;
    int sensVal_dt1 0;
    int sensVal_d 0;

    void setup()    

      
    pinMode(back_onINPUT); 
      
    digitalWrite(back_onHIGH); //Подключить внутренний подтягивающий резистор   
      
    pinMode(ledPinOUTPUT);
      
    TCCR1B TCCR1B 0b11111000 1;  
      
    Serial.begin(115200); // настроить скорость com порта
    }   

    void loop()    
    {     
      
    res_d analogRead(PIN); // прочитать данные АЦП 
      
    delay(50); 
      
    res_dt1 analogRead(PIN); // прочитать данные АЦП  
      
    if (res_dt1 res_d-LIMIT && res_dt1 res_d+LIMIT && res_dt1 900// если сигнал резистивных кнопок не дребезжит и что-то нажато
      
    {   
        
    bytes[0] = res_d 255;          // преобразовать в 2-байта    
        
    bytes[1] = (res_d 768) >> 8;    
        
    Serial.writebytes,2); // отправить прочитаное значение компьютеру 
        
    delay(700);
      }
      else if (
    digitalRead(back_on) == HIGH)  //если нет сигнала резистивных кнопок надо проверить включен ли задний ход 
      
    {
        
    delay(200);
        
    light 255// ежели включен з.х.- сделать яркость на максимум (иначе нифига ночью не видно)
        
    goto label;
      }
      else
      {
        
    sensVal_d analogRead(0); // если нет з.х.- прочитать данные фоторезистора
        
    delay(100);
        
    sensVal_dt1 analogRead(0); // опять прочитать данные фоторезистора
        
    if(sensVal_dt1 sensVal_d-DELTA && sensVal_dt1 sensVal_d+DELTA )  // если разница между замерами незначительна
        
    {
          
    reallight = (sensVal_d sensVal_dt1)/50 7// присваиваем значению которое программа хотела бы отправить на светодиоды сумму этих замеров.
          // можно дополнительно умножить или приплюсовать любое поправочное значение которое подойдет для настройки адекватной яркости

          
    if(reallight == oldlight//сравниваем желаемое для программы значение яркости со старым и если они не совпадают, то изменяем по единичке
          
    {
            
    light oldlight
          }
          else if(
    reallight oldlight//
          
    {
            
    light = ++oldlight;
          }

          else
          {
            
    light = --oldlight;
          }
        }  
        else
        {
          
    light oldlight;
        }
      }
      
    oldlight light;
    label
      
    constrain(light8255);
      
    analogWrite(ledPinlight);

    Последний раз редактировалось Chip; 06.11.2011 в 20:52.

  6. #56
    Продвинутый Аватар для Alex_E
    Регистрация
    29.02.2008
    Возраст
    55
    Сообщений
    337
    Вес репутации
    277

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    Цитата Сообщение от Артур Посмотреть сообщение
    ...3. При включении заднего хода яркость выставляется на максимум...
    Вот это, пожалуй, зря. Как раз в этой ситуации, ночью больше всего мешает его высокая яркость, когда приходится несколько раз переводить взгляд с задних стекол на дисплей. Я даже перестал на него смотреть, потому что глаза слепнут и некоторое время позади машины не удается ничего разглядеть...

  7. #57
    Пользователь
    Регистрация
    01.05.2011
    Сообщений
    20
    Вес репутации
    165

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    Цитата Сообщение от Alex_E Посмотреть сообщение
    Вот это, пожалуй, зря.
    Ну, каждому свое! Когда ночью яркость экрана на минимуме, да к тому-же изображение с камеры тоже очень темное, мне лично было ничего не видно. Теперь стало просто отлично. Кто-то писал про "нереально яркие" матрицы некоторых "Лилипутов". Возможно в таком случае данная опция окажется лишней, но у меня "Innolux" и мне надо яркость на полную.

  8. #58
    Местный
    Регистрация
    11.11.2009
    Возраст
    35
    Сообщений
    114
    Вес репутации
    201

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    в этом случае массы монитора и ардуины тож надо объединять?

  9. #59
    Пользователь
    Регистрация
    01.05.2011
    Сообщений
    20
    Вес репутации
    165

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    Вопрос массы в автомобиле- это самая сложная из тем для обсуждения. Массы практически всех устройств так или иначе соединены с кузовом автомобиля, только эти цепочки масс бывают слишком длинными и сечение проводников слишком маленькое. Отсюда появляются разности потенциалов массы в различных точках электрооборудования, что может привести к некорректной его работе.
    У меня, например, монитор запитан от блока питания компа, и ардуина через ЮСБшный шнурок соответственно тоже, поэтому массы объединены через системник. Вроде этого достаточно, но не факт что у всех будет так.

  10. #60
    Местный
    Регистрация
    11.11.2009
    Возраст
    35
    Сообщений
    114
    Вес репутации
    201

    По умолчанию Re: Автоматическая регулировка яркости светодиодной подсветки.

    bc817 тут не пойдет?

Страница 6 из 12 ПерваяПервая 123456789101112 ПоследняяПоследняя

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

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

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

Ваши права

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