Menu
CoddyTech

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é.

challenge icon

Défi

Facile

Fais varier progressivement l’intensité de la LED sur la broche 9, puis fais-la diminuer, encore et encore :

  • une variable fadeAmount de 5 à côté de brightness
  • ajoute fadeAmount à la luminosité à chaque exécution de loop(), 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);
}
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