
Vidéo
Schéma du circuit

Code source
1int ledPins[] = {2, 3, 4, 5, 6, 7};
2
3void setup() {
4 for(int i = 0; i < 6; i++) {
5 pinMode(ledPins[i], OUTPUT);
6 }
7}
8
9void loop() {
10 for(int i = 0; i < 6; i++) {
11 digitalWrite(ledPins[i], HIGH);
12 delay(100);
13 digitalWrite(ledPins[i], LOW);
14 }
15
16 for(int i = 4; i > 0; i--) {
17 digitalWrite(ledPins[i], HIGH);
18 delay(100);
19 digitalWrite(ledPins[i], LOW);
20 }
21}FAQ
Comment l'effet « Karaşimşek » (Knight Rider) est-il créé ?▾
Les LED s'allument d'abord de gauche à droite, puis de droite à gauche, les unes après les autres. Deux cycles se succèdent ; comme le deuxième cycle compte dans le sens inverse, la lumière va et vient.
Les LED aux extrémités semblent clignoter deux fois, comment puis-je y remédier ?▾
Si le cycle de rotation rallume la LED d'extrémité, celle-ci reste allumée pendant deux pas. Tu peux éviter la répétition aux extrémités en démarrant le cycle de rotation avec un indice en moins ou en plus (par exemple, de 4 à 1).
Comment régler la vitesse ?▾
Modifie la valeur de delay() entre chaque pas. Une valeur comprise entre 30 et 80 ms donne un effet fluide. Si tu souhaites modifier la vitesse pendant le fonctionnement, tu peux ajouter un potentiomètre, comme dans le projet suivant, « Éclair noir à vitesse réglable ».
Puis-je ajouter d'autres LED ?▾
Oui, il te suffit d'ajouter de nouvelles broches à la liste et de mettre à jour les limites de la boucle. L'Uno dispose de 12 broches numériques libres ; pour en avoir davantage, tu peux piloter plus de 8 LED à l'aide d'un registre à décalage 74HC595 avec seulement 3 broches.
