#8Intermédiaire

Speed Adjustable Black Lightning Led

4.5(59)
115 terminé
Speed Adjustable Black Lightning Led
Projet avec potentiomètre qui peut ajuster la vitesse de l'animation LED de l'éclair noir en temps réel. Il combine une entrée analogique et un contrôle en boucle bidirectionnel.

Vidéo

Schéma du circuit

Speed Adjustable Black Lightning Led - Circuit

Code source

Arduino (C++)
1int ledPins[] = {2, 3, 4, 5, 6, 7};
2int potValue;
3
4void setup() {
5  for(int i = 0; i < 6; i++) {
6    pinMode(ledPins[i], OUTPUT);
7  }
8}
9
10void loop() {
11  for(int i = 0; i < 6; i++) {
12    potValue = analogRead(A0);
13    digitalWrite(ledPins[i], HIGH);
14    delay(potValue);
15    digitalWrite(ledPins[i], LOW);
16  }
17
18  for(int i = 4; i > 0; i--) {
19    potValue = analogRead(A0);
20    digitalWrite(ledPins[i], HIGH);
21    delay(potValue);
22    digitalWrite(ledPins[i], LOW);
23  }
24}

FAQ

En quoi ce projet apporte-t-il un enseignement différent des précédents ?▾

Il associe l'entrée analogique (potentiomètre) à une boucle bidirectionnelle : à chaque pas, lorsque la lumière avance ou recule, la valeur du potentiomètre est lue et mise à jour instantanément. C'est le principe de base permettant de modifier le comportement en fonction de la valeur du capteur.

La valeur affichée vacille, comment puis-je la stabiliser ?▾

De légères variations sont normales dans les mesures analogiques. Calculer la moyenne de plusieurs mesures ou diviser la valeur en pas plus grossiers à l'aide de la fonction map() (par exemple, par pas de 10 ms) permet de masquer ces fluctuations.

Puis-je utiliser un autre capteur à la place du potentiomètre ?▾

Oui. Tout capteur fournissant une sortie analogique, comme le LDR, peut être connecté à la même entrée A0 ; par exemple, la lumière peut varier plus rapidement à mesure que l'environnement s'assombrit. Il suffit de réajuster la plage de lecture à l'aide de la fonction map().

Quelle broche analogique dois-je utiliser ?▾

Sur l'Uno, toutes les broches comprises entre A0 et A5 permettent une lecture analogique. Assure-toi que la broche que tu utilises dans ton code correspond bien à celle du circuit ; comme les broches A4 et A5 sont également utilisées pour l'I2C, privilégie la broche A0 si tu envisages d'ajouter un écran ultérieurement.

Speed Adjustable Black Lightning Led | BlueGrays