Menu
CoddyTech

Graphique à barres avec un potentiomètre

Fait partie de la section Sorties du Journey Arduino de Coddy. Leçon 18 sur 24.

Une rangée de LED peut représenter un nombre sous forme de barre : plus il y a de LED allumées, plus le nombre est grand. Ici, le nombre provient du potentiomètre.

Commence par convertir la valeur lue en nombre de LED à allumer, de 0 à 5 :

int count = map(analogRead(A0), 0, 1023, 0, 5);

Ensuite, parcoure chaque LED avec une boucle for et décide pour chacune. Les LED avant la position count sont allumées, les autres sont éteintes :

for (int i = 0; i < 5; i++) {
  if (i < count) {
    digitalWrite(ledPins[i], HIGH);
  } else {
    digitalWrite(ledPins[i], LOW);
  }
}

else est important : lorsque tu baisses le potentiomètre, c’est lui qui éteint les LED qui ne font plus partie de la barre.

challenge icon

Défi

Moyen

Le potentiomètre est connecté à A0 et les LED sont dans ledPins. Crée un graphique à barres :

  • transforme la valeur lue en un nombre de 0 à 5 avec map()
  • allume autant de LED, en commençant par la première du tableau, et éteins les autres
  • attends 10 ms, puis recommence

Appuie sur Run et tourne le potentiomètre, puis clique sur Check.

Essayez vous-même

const int knobPin = A0;
int ledPins[] = {2, 3, 4, 5, 6};

void setup() {
  for (int i = 0; i < 5; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
}

void loop() {
  // convertir la valeur lue en un nombre de 0 à 5
  // allumer les premières LED selon ce nombre et éteindre les autres
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Sorties

Entraînez-vous par vous-même : Playground Arduino