pwm-respiration.ino

Arduino Mega 2560 (Rev3) · Fichier : pwm-respiration.ino · Langage : Arduino · Usage : Faire respirer une LED avec la modulation de largeur d'impulsion

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);
}

← Retour à la fiche