5.4.2 Projet 1.2 : LED respirante

1. Description

Une LED respirante est un phénomène où la luminosité d’une LED change en douceur de sombre à brillante puis de nouveau à sombre, et ce de façon continue, donnant l’illusion que la LED respire. Cependant, comment contrôler la luminosité d’une LED ?

Il est logique d’exploiter le PWM. Le rapport cyclique correspond au nombre de niveaux haut et bas sur une unité de temps : plus le niveau haut occupe de temps, plus la valeur PWM est élevée, plus la LED est brillante.

image36

Nous fournissons le fichier de la bibliothèque de sortie PWM < analogwrite.h > pour ESP32, par conséquent une simple instruction analogWrite(); suffit pour contrôler la sortie PWM.

2. Code de test

#include <Arduino.h>
#define led_y 12    // Define LED pin

void setup()
{
  pinMode(led_y, OUTPUT);  // Set pin as output mode
}

void loop()
{
  for(int i = 0; i < 255; i++)  // For loop: increment variable i until it reaches 255
  {
    analogWrite(led_y, i);  // PWM output to control LED brightness
    delay(3);
  }

  for(int i = 255; i > 0; i--)  // For loop: decrement variable i until it reaches 0
  {
    analogWrite(led_y, i);
    delay(3);
  }
}

3. Résultat du test

La LED s’assombrit puis s’éclaircit progressivement, de manière cyclique, comme si elle respirait.