Menu
CoddyTech

Variateur à potentiomètre

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

Un bouton fournit à analogRead() un nombre compris entre 0 et 1023, tandis que analogWrite() attend une valeur comprise entre 0 et 255. Les deux plages ne correspondent pas : convertis l’une en l’autre avec map() :

int reading = analogRead(A0);
int brightness = map(reading, 0, 1023, 0, 255);
analogWrite(9, brightness);

Quand le bouton est baissé, il donne 0 et la LED est éteinte ; quand il est monté, il donne 1023, qui devient 255 : la LED est alors allumée à pleine puissance. Toutes les positions intermédiaires donnent une luminosité intermédiaire.

Écrire directement la valeur lue sur la LED ne fonctionne pas : analogWrite() n’accepte que des valeurs de 0 à 255, donc une valeur lue comme 600 donne une luminosité incorrecte.

challenge icon

Défi

Facile

Le potentiomètre est sur A0 et la LED sur la broche 9. Faites en sorte que le potentiomètre règle la luminosité :

  • lisez la valeur du potentiomètre
  • convertissez la valeur en une plage de 0 à 255 avec map()
  • écrivez-la sur la LED, puis attendez 10 ms

Appuyez sur Run et tournez le potentiomètre, puis sur Check.

Essayez vous-même

const int knobPin = A0;
const int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // lis la valeur du potentiomètre, convertis-la sur une échelle de 0..255 et envoie-la à la LED
}
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