• Post category:Fort
  • Post comments:0 commentaire
  • Post last modified:mars 13, 2022
  • Temps de lecture :7 min de lecture

Faire varier la vitesse d’un Chenillard de 9 Leds grâce à un potentiomètre avec un Arduino

Niveau APPRENTISSAGE :   Fort

 

    Prérequis :

Matériel :

  • 1 x Carte Arduino
  • 9 x Résistances 220 ohms
  • 9 x Leds
  • 1 x Potentiomètre 10 KΩ
  • Fils de connexion
  • 1 x Breadboard

Version IDE :

 

 

Vidéo de démonstration :

 

Schéma de câblage :

 

Code :

// Déclaration variable valeurPotentiometre qui va servir à stocker une valeur au format int.
int valeurPotentiometre;
// Déclaration variable nombreled qui va servir à stocker une valeur au format int.
// Elle prend la valeur de 9 équivalant au nombre de LED
int nombreled = 9;
// Déclaration d'un tableau de variable ledPins qui va servir à stocker des valeurs au format int.
// On remplit le tableau avec les numéros des broches numériques utilisées pour les LEDS
int ledPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 10};

void setup() {
  // On utilise une boucle for pour déclarer les sorties
  // On initialise une variable int Led pour qu’elle débute de 0
  // Tant que la condition est Vrai Led < nombreled on répète les actions entre {} de la boucle for
  // Et on incrémente Led++.
  for (int Led = 0; Led < nombreled; Led++) {
    // Définit ledPins[Led] comme sortie.
    pinMode(ledPins[Led], OUTPUT);
  }
}

void loop() {
  // On utilise une boucle for pour définir état de sortie des Leds soit HIGH ou LOW
  // et définir un temps de pause qui va varier selon la valeur du potentiomètre

  // On initialise une variable int Led pour qu’elle débute de 0
  // Tant que la condition est Vrai Led < nombreled on répète les actions entre {} de la boucle for
  // Et on incrémente Led++.
  for (int Led = 0; Led < 9; Led++) {
    // Lit la broche analogique A0 et stock ça valeur dans valeurPotentiometre.
    valeurPotentiometre = analogRead(A0);
    // La valeur valeurPotentiometre Min = 0, Max = 1023 et mappée à Min = 800, Max = 10
    // puis est stockée dans la variable delayonoff au format int.
    int delayonoff = map(valeurPotentiometre, 0, 1023, 800, 10);
    // Met la broche numérique stockée dans ledPins[Led] sur ON
    digitalWrite(ledPins[Led], HIGH);
    // On attend selon la valeur de delayonoff en millisecondes
    delay(delayonoff);
    // Met la broche numérique stockée dans ledPins[Led] sur OFF
    digitalWrite(ledPins[Led], LOW);
    // On attend selon la valeur de delayonoff en millisecondes
    delay(delayonoff);
  }
}

 

Simulation TINKERCAD :

 


+ Infos sur le langage utilisé :

1. Fonctions
2. Variables
3. Stucture

 

Laisser un commentaire