pwm-respiration.ino

Arduino Mega 2560 (Rev3) · 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 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);
}

← Volver a la ficha