Modifications

Controleur de Lumière

1 005 octets ajoutés, 22 avril 2014 à 20:50
pwm
http://www.kobakant.at/DIY/?p=3393
 
La difficulté est de faire du PWM sur les phares sans perdre la temporisation des clignotants
 
le principe est le suivant :
 
Blink_delay correspond à la durée de clignotement des clignotants
 
 
* on allume les clignotants si besoin
 
* pendant 10 cycles d'une durée de (Blink_delay/10) on allume (et on étient si besoin) les phares
 
* on étiend les clignotants
 
* pendant 10 cycles d'une durée de (Blink_delay/10) on allume (et on étient si besoin) les phares
 
 
le code de ce pwm du pauvre est :
 
<code lang=c>
void poormanPWM(){//for lights
int i;
for (i=0; i<10; i++) {
if(light_mode!=0){
set(Lights_port,Light_pin); // Turn light on if necessary
}else{
clear(Lights_port,Light_pin);//else shut it
}
long_delay_ms(blink_delay/20);
if(light_mode==1) clear(Lights_port,Light_pin); // Turn light off half time in low mode
long_delay_ms(blink_delay/20);
}
}
 
</code>
[[Catégorie:FabAcademy]]
0
6 691
modifications