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 Mega 2560 (ATmega2560, 16 MHz, 5 V): 54 E/S digitales, 15 PWM, 16 entradas analógicas, 4 UART por hardware. 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 Mega 2560 » y el puerto, y suba. PWM en 2-13 y 44-46; UART1=18/19, UART2=16/17, UART3=14/15; SPI en 50-53.
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);
}