Étape 1: Code
Voici le code pour le système. Vérifiez les commentaires dans le code pour plus d’informations. J’ai essayé de s’assurer que j’ai commenter tout d’importance, mais s’il vous plaît demander de suite si il y a quelque chose qui n’a aucun sens. La mise en forme travaille dans le logiciel Arduino ou avec une police à largeur fixe./**************************************
* Programme : piste v2.0 *
***************************************
* Description: *
* Flash 6 leds sur les ports PWM *
* séquence avec un fondu après. *
* Niveau de luminosité réglable et *
* ' longueur queue'. *
* Flash au début pour vérifier toutes les LED *
* fonctionnent. *
***************************************
* Usage: *
* Variable « comparer » décide la queue *
* longueur, le plus grand nombre = plus grande queue. *
* ' maxbri' définit la valeur maximale *
* la luminosité des LED, le plus bas *
* Il est le plus rapide sera le cycle *
* exploiter donc sera le plus grand « dly » *
* Il faut garder les mêmes *
* taux séquence. *
**************************************/
LED 1 octet = 9 ; numéros de port LED
led2 octets = 10 ; tout sur les ports PWM
led3 octets = 11 ;
led4 octets = 6 ;
octet 5 = 5 ;
led6 octets = 3 ;
led1bri octets = 0 ; variables de luminosité LED
led2bri octets = 0 ;
led3bri octets = 0 ;
led4bri octets = 0 ;
led5bri octets = 0 ;
led6bri octets = 0 ;
Comparez octets = 90 ; niveau de luminosité avant la prochaine activation led
maxbri octets = 128 ; luminosité maximale des leds. Comparez doit être inférieur puis maxbri !
dly octets = 2 ; délai pour ralentir de routine, le maxbri inférieur du
dly supérieur doit être de garder la même vitesse de déplacement
void setup()
{
pinMode (led1, sortie) ; direction de goupille d’installation
pinMode (led2, sortie) ;
pinMode (DEL3, sortie) ;
pinMode (led4, sortie) ;
pinMode (DEL5, sortie) ;
pinMode (led6, sortie) ;
Flash toutes les LED pour vérifier le fonctionnement
digitalWrite (led1, HIGH) ; toutes les del sur
digitalWrite (led2, HIGH) ;
digitalWrite (DEL3, HIGH) ;
digitalWrite (led4, HIGH) ;
digitalWrite (DEL5, HIGH) ;
digitalWrite (led6, HIGH) ;
Delay(1000) ; pause pendant 1 seconde
pour (led1bri = 255 ; led1bri > 0; led1bri--)
{
analogWrite (led1, led1bri) ; s’estomper toutes les LED en même temps
analogWrite (led2, led1bri) ;
analogWrite (DEL3, led1bri) ;
analogWrite (led4, led1bri) ;
analogWrite (5, led1bri) ;
analogWrite (led6, led1bri) ;
delayMicroseconds(750) ; court délai pour fondu rapide
}
digitalWrite (led1, faible) ; tous les voyants partons
digitalWrite (led2, faible) ;
digitalWrite (DEL3, faible) ;
digitalWrite (led4, faible) ;
digitalWrite (DEL5, faible) ;
digitalWrite (led6, faible) ;
Delay(500) ;
led1bri = maxbri ; amorcer la luminosité de la LED 1
}
void loop()
{
la routine principale, flashy flashy !
Si (led1bri > 0) {led1bri--;} //decrement ledxbri si pas déjà au large
Si (led2bri > 0) {led2bri--;}
Si (led3bri > 0) {led3bri--;}
Si (led4bri > 0) {led4bri--;}
Si (led5bri > 0) {led5bri--;}
Si (led6bri > 0) {led6bri--;}
Si (led1bri == compare) {led2bri = maxbri;} //if précédent conduit à luminosité réglée
Si (led2bri == compare) {led3bri = maxbri;} //set actuelle a conduit la luminosité à
Si (led3bri == compare) {led4bri = maxbri;} //maximum dans maxbri
Si (led4bri == compare) {led5bri = maxbri;}
Si (led5bri == compare) {led6bri = maxbri;}
Si (led6bri == compare) {led1bri = maxbri;}
analogWrite (led1, led1bri) ; sortie à leds
analogWrite (led2, led2bri) ;
analogWrite (DEL3, led3bri) ;
analogWrite (led4, led4bri) ;
analogWrite (5, led5bri) ;
analogWrite (led6, led6bri) ;
Delay(dly) ; faire une pause avant de commencer à nouveau
}