pwm-respiration.ino

LilyPad Arduino · 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 LilyPad Arduino (ATmega168V/328V, 8 MHz, 3,3 V) avec ses pastilles à coudre, programmée par câble FTDI (breakout) et alimentée par 3,7 V (LiPo) ou 5 V sur V-REG. 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 « LilyPad Arduino » et le port FTDI, puis Téléverser. Le fil conductif crée des résistances de quelques ohms : gardez les courtes distances et isolez les croisements.

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