pwm-respiration.ino
El LED sube y baja gradualmente gracias a analogWrite, que genera PWM de 8 bits en un pin marcado ~. El paso se invierte en los bordes 0 y 255.
Hardware necesario
Un Arduino Duemilanove (ATmega168 o 328P, 16 MHz, 5 V) con su cable mini-USB-B; el puerto serie aparece tras instalar el driver FTDI. 1 LED + resistencia de 330 Ω.
Cableado
Ánodo del LED (con resistencia) en el pin 9, cátodo a GND.
Funcionamiento
analogWrite aplica un ciclo de trabajo creciente y luego decreciente; el ojo percibe un cambio suave de brillo. En el Arduino IDE, elija « Arduino Duemilanove » (o « Diecimila » para placas muy antiguas) y el puerto FTDI, y pulse Subir. El ATmega168 solo deja 14 KB para el sketch.
Para ir más lejos
Controle varios LED en oposición de fase, o un MOSFET para una tira LED completa.
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);
}