pwm-respiration.ino
La LED monte puis redescend progressivement grâce à analogWrite, qui génère un PWM 8 bits sur une broche marquée ~. Le sens s'inverse aux bornes 0 et 255.
Matériel requis
Une Arduino Mega 2560 (ATmega2560, 16 MHz, 5 V) : 54 E/S numériques, 15 PWM, 16 entrées analogiques, 4 UART matériels. 1 LED + résistance 330 Ω.
Branchement
Anode de la LED (via résistance) sur la broche 9, cathode sur GND.
Fonctionnement
analogWrite applique un rapport cyclique croissant puis décroissant ; l'œil perçoit une variation continue de luminosité. Dans l'Arduino IDE, choisissez « Arduino Mega 2560 » et le port, puis Téléverser. PWM sur 2-13 et 44-46 ; UART1=18/19, UART2=16/17, UART3=14/15 ; SPI sur 50-53.
Pour aller plus loin
Pilotez plusieurs LED en opposition de phase, ou pilotez un MOSFET pour un ruban LED complet.
pwm-respiration.ino
// Respiration LED sur broche PWM (analogWrite 0..255).
const int LED = 9;
int niveau = 0;
int pas = 4;
void setup() {
pinMode(LED, OUTPUT);
}
void loop() {
analogWrite(LED, niveau);
niveau += pas;
if (niveau <= 0 || niveau >= 255) pas = -pas; // inversion au bord
delay(15);
}