SunuLab
Notre savoir
Tous les projets
Facile30 minKit Découverte

Chenillard de LEDs (K2000)

Cinq LEDs alignées, une lumière qui va et vient comme la voiture K2000 ou la lampe de Cylon. Tu apprends les boucles `for`.

Vidéo du tutoriel — à venir
Chenillard de LEDs (K2000)
Tu auras besoin du

SunuMake Découverte

Tes premiers pas avec Arduino8 composants inclus.

7 500 FCFAVoir le kit
Pas à pas

Les étapes

  1. 1

    Matériel

    5 LEDs (peu importe la couleur, mais préfère 5 LEDs identiques), 5 résistances 220 Ω, 6 fils.

  2. 2

    Aligne les LEDs

    Plante les 5 LEDs côte à côte sur la breadboard, toutes dans le même sens (patte longue vers le haut). Chaque patte courte va au rail bleu via une résistance 220 Ω. Les pattes longues vont sur les broches 2, 3, 4, 5 et 6 de l'Arduino.

  3. 3

    Relie GND

    Un fil entre le rail bleu et la broche GND.

  4. 4

    Téléverse et regarde

    Téléverse. Une lumière parcourt les 5 LEDs de gauche à droite, puis revient de droite à gauche, en boucle. C'est l'effet « K2000 ».

  5. 5

    Joue avec la vitesse

    Change la valeur de `VITESSE` (en millisecondes) au début du code pour aller plus vite ou plus lentement. Avec 50 ms, ça devient hypnotique.

Code Arduino

Le programme à téléverser

Copie ce code dans l'IDE Arduino, branche ta carte en USB et clique sur le bouton « Téléverser » (la flèche en haut à gauche).

sketch.ino
// Chenillard K2000 — 5 LEDs sur les broches 2 à 6
const int LEDS[] = {2, 3, 4, 5, 6};
const int N = 5;
const int VITESSE = 120; // ms entre chaque LED
void setup() {
for (int i = 0; i < N; i++) {
pinMode(LEDS[i], OUTPUT);
}
}
void loop() {
// Aller : de gauche à droite
for (int i = 0; i < N; i++) {
digitalWrite(LEDS[i], HIGH);
delay(VITESSE);
digitalWrite(LEDS[i], LOW);
}
// Retour : de droite à gauche (sauf les extrémités déjà faites)
for (int i = N - 2; i > 0; i--) {
digitalWrite(LEDS[i], HIGH);
delay(VITESSE);
digitalWrite(LEDS[i], LOW);
}
}
Mini-cours

Comment ça marche ?

Un tableau (int LEDS[] = {2, 3, 4, 5, 6}) regroupe plusieurs valeurs sous un seul nom. On accède à chaque LED avec un index : LEDS[0] = la première, LEDS[1] = la deuxième, etc. (oui, on commence à compter à zéro en programmation — habitude à prendre).

La boucle for est l'outil qui répète une action plusieurs fois sans écrire 5 lignes identiques. for (int i = 0; i < 5; i++) se lit : « commence avec i=0, tant que i < 5, fais le bloc, puis ajoute 1 à i ». Sans cette boucle, il faudrait écrire 5 digitalWrite() à la suite — beaucoup moins élégant.

L'effet « va-et-vient » se fait avec deux boucles : la première va de 0 à 4 (gauche → droite), la seconde de 3 à 1 (droite → gauche, en sautant les extrémités déjà allumées au passage précédent). C'est la même technique qui anime les pixels d'un écran ou les frames d'un film.

Continuer

D'autres projets à essayer