Menu
CoddyTech

Faire s’allumer progressivement une LED

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

Une variable peut contenir la luminosité. Chaque fois que loop() s’exécute, écris cette valeur sur la LED, augmente-la un peu et attends un instant. La LED devient plus lumineuse étape par étape :

int brightness = 0;

void loop() {
  analogWrite(9, brightness);
  brightness = brightness + 5;
  if (brightness > 255) {
    brightness = 0;
  }
  delay(30);
}

La luminosité est définie en haut du programme, comme le compteur de pressions, afin qu’elle conserve sa valeur d’une exécution de loop() à la suivante. Définie à l’intérieur de loop(), elle reviendrait à 0 à chaque fois.

255 est la valeur maximale acceptée par analogWrite(), donc le if relance le fondu à partir de 0 une fois que la luminosité la dépasse.

Le pas et l’attente déterminent la vitesse : environ 50 étapes de 30 ms prennent une seconde et demie.

challenge icon

Défi

Facile

Fais varier progressivement la luminosité de la LED sur la broche 9, encore et encore :

  • conserve la luminosité dans une variable déclarée au-dessus de setup(), en commençant à 0
  • dans loop(), écris sa valeur avec analogWrite(), ajoute 5 et attends 30 ms
  • lorsqu’elle dépasse 255, remets-la à 0

Appuie sur Run et observe la LED, puis sur Check.

Essayez vous-même

const int ledPin = 9;
// créez ici la variable de luminosité, avec une valeur initiale de 0

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

void loop() {
  // écrivez la valeur de luminosité, ajoutez 5, recommencez après 255, attendez 30 ms
}
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