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.

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.