pwm-respiration.ino

Arduino Duemilanove — Ficha de placa · Archivo : pwm-respiration.ino · Lenguaje : Arduino · Uso : Faire respirer une LED avec la modulation de largeur d'impulsion

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

← Volver a la ficha