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.
Défi
FacileLe 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
}
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