Показано с 1 по 8 из 8

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #7
    Новичок
    Регистрация
    09.07.2010
    Возраст
    51
    Сообщений
    6
    Вес репутации
    190

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

    Цитата Сообщение от crash-100 Посмотреть сообщение
    Вот законченный вариант, интересно было бы посмотреть как это реализовать с прерываниями, на выходе как и писал ранее управление штатной подсветкой +12v.
    PHP код:
    #define LED 9     //  выход на управлении подсветкой 
    #define BUTTON 7  // переключател   гараритов 
    #define Ain 5  // аналоговый вход для измерения сопротивления

    int i 0;         
    int val LOW;  // состояние переключателя габаритов on - off     
    int res 0// уровень яркости 
    int old_val LOW;   
    int old_res LOW;
    int on 0;



    void setup() { 
      
    pinMode(LEDOUTPUT);    
      
    pinMode(BUTTONINPUT);  
      
    analogWrite(LED0);



    void loop() { 
      
      
    res analogRead(Ain)/4;

      
    val digitalRead(BUTTON); // читаем состояния переключателя  
       
    delay(10); 

        if (
    val == HIGH && old_val==0)   //если подсветку включаем 
          
    {
            
    res analogRead(Ain)/4;  // читаем состояние регулятора яркости 
            
    for (0resi++) { // зажигаем плавно подсветку до уровня //выбранной яркости 
             
    analogWrite(LEDi);        
            
    delay(30);  
              } 
           
    old_val 1
         
    on 1;  
          }   

      if ( 
    val == LOW  && old_val==1//если подсветку выключаем 
        
    {
          
    res analogRead(Ain)/4;  
           for (
    res0i--) { // тушим плавно от уровня регулятора яркости //до нуля 
            
    analogWrite(LEDi); // set the LED brightness 
          
    delay(10);           // Wait 10ms 
          

         
    old_val 0;
        
    analogWrite(LED0); 
        
    on 0
        } 
        
       
    if(
    old_res res and on ==1){
    for (
    old_resresi++) { // loop from 0 to 254 (fade in)
        
    analogWrite(LEDi);      // set the LED brightness
        
    delay(10); // Wait 10ms because analogWrite
                   // is instantaneous and we would
                   // not see any change  

    }

      }
       
    old_res res
     } 


    Зесь есть не доработка!
    При регулировке яркости в "+" все работает корректно, но при регулировке в "-" идут траблы.
    Причина, в отсудствии регулировок в низ. Для устранения необходимо перед строкой

    " old_res = res; "

    дописать

    if(old_res > res and on ==1){
    for (i = old_res; i > res; i--) { // loop from 0 to 254 (fade in)
    analogWrite(LED, i); // set the LED brightness
    delay(10);
    }
    }
    Последний раз редактировалось Karas; 07.03.2011 в 04:28.

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

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

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

Ваши права

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