Вот законченный вариант, интересно было бы посмотреть как это реализовать с прерываниями, на выходе как и писал ранее управление штатной подсветкой +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
 }