Faire varier l’intensité d’une LED
Fait partie de la section Sorties du Journey Arduino de Coddy. Leçon 4 sur 24.
Pour diminuer à nouveau la luminosité, le pas doit changer de direction. Conserve le pas dans sa propre variable, fadeAmount. Ajouter un nombre négatif fait diminuer la luminosité :
int brightness = 0;
int fadeAmount = 5;
void loop() {
analogWrite(9, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(30);
}Un signe moins devant une variable inverse son signe : -fadeAmount transforme 5 en -5, puis -5 en 5.
Le if vérifie les deux extrêmes. En haut, le pas devient -5 et la LED s'assombrit ; en bas, il redevient 5 et la LED s'éclaircit. La LED respire, sans jamais passer brusquement de l'état lumineux à l'obscurité.
Défi
FacileFais varier progressivement l’intensité de la LED sur la broche 9, puis fais-la diminuer, encore et encore :
- une variable
fadeAmountde 5 à côté debrightness - ajoute
fadeAmountà la luminosité à chaque exécution deloop(), puis attends 30 ms - inverse son signe lorsque la luminosité atteint 0 ou 255
Appuie sur Run, puis sur Check.
Essayez vous-même
const int ledPin = 9;
int brightness = 0;
// définis fadeAmount ici
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
analogWrite(ledPin, brightness);
brightness = brightness + 5;
if (brightness > 255) {
brightness = 0;
}
delay(30);
}
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