#7Intermédiaire

Chenillard à LED à vitesse réglable

4.6(71)
133 terminé
Chenillard à LED à vitesse réglable
Le projet qui permet d'ajuster la vitesse du chenillard à LED en temps réel avec le potentiomètre. Il enseigne le contrôle dynamique du temps de retard en lisant la valeur du potentiomètre avec l'analogiqueRead.

Vidéo

Schéma du circuit

Chenillard à LED à vitesse réglable - Circuit

Code source

Arduino (C++)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   Chenillard à LED à vitesse réglable
4// ─────────────────────────────────────────
5// Un potentiomètre règle la vitesse de l'effet de LED en marche. A0 est lu
6// à chaque pas et sa valeur de 0-1023 devient le temps de pause (ms).
7//
8// Broches :
9//   D2, D3, D4, D5, D6, D7 -> 6 LED (dans l'ordre)
10//   Chaque LED avec une résistance de 330 ohm
11//   A0 -> Curseur du potentiomètre
12//   (pattes extérieures sur 5V et GND)
13
14int ledPins[] = {2, 3, 4, 5, 6, 7};   // Broches des LED dans l'ordre d'allumage
15int potValue;                         // Valeur du potentiomètre = pause (ms)
16
17void setup() {
18  // Mettre toutes les broches de LED en sortie
19  for(int i = 0; i < 6; i++) {
20    pinMode(ledPins[i], OUTPUT);
21  }
22}
23
24void loop() {
25  for(int i = 0; i < 6; i++) {
26    potValue = analogRead(A0);        // Lire la vitesse (0-1023)
27    digitalWrite(ledPins[i], HIGH);
28    delay(potValue);                  // Attendre autant de ms que la valeur du potentiomètre
29    digitalWrite(ledPins[i], LOW);
30  }
31}
32

FAQ

Quelles valeurs la fonction analogRead renvoie-t-elle ?▾

Les entrées analogiques de l'Uno lisent les tensions comprises entre 0 et 5 V avec une résolution de 10 bits et renvoient une valeur comprise entre 0 et 1 023. Lorsque le potentiomètre est tourné d'une extrémité à l'autre, la valeur passe de 0 à 1 023.

Comment convertir la valeur du potentiomètre en vitesse ?▾

La fonction map() te permet de convertir l'intervalle 0–1023 en l'intervalle de délai de ton choix (par exemple 20–500 ms) : map(valeur, 0, 1023, 20, 500). Lorsque cette valeur est utilisée dans la fonction delay(), la vitesse change instantanément.

Comment raccorder les broches d'un potentiomètre ?▾

Les deux broches extérieures se connectent à 5 V et à la masse (GND), tandis que la broche du milieu (essuie-glace) se connecte à une entrée analogique (par ex. A0). Si vous inversez les broches extérieures, seul le sens de rotation s'inverse ; le circuit ne subit aucun dommage.

Le changement de vitesse est perçu avec un certain retard, pourquoi ?▾

Si la valeur du potentiomètre n'est lue qu'au début de la boucle, la nouvelle valeur n'est pas appliquée tant que toutes les LED n'ont pas défilé. Si vous intégrez la lecture à chaque étape de défilement des LED, la vitesse change instantanément.

Chenillard à LED à vitesse réglable | BlueGrays