Aumenta gradualmente el brillo de un LED
Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 3 de 24.
Una variable puede almacenar el brillo. Cada vez que se ejecuta loop(), escríbelo en el LED, súmale un poco y espera un momento. El LED se ilumina gradualmente:
int brightness = 0;
void loop() {
analogWrite(9, brightness);
brightness = brightness + 5;
if (brightness > 255) {
brightness = 0;
}
delay(30);
}El brillo se declara en la parte superior del sketch, como el contador de pulsaciones, así que conserva su valor de una ejecución de loop() a la siguiente. Si se declarara dentro de loop(), volvería a ser 0 cada vez.
255 es el valor máximo que acepta analogWrite(), así que if vuelve a iniciar el desvanecimiento desde 0 cuando el brillo lo supera.
El incremento y la espera determinan la velocidad: unos 50 pasos de 30 ms tardan un segundo y medio.
Desafío
FácilHaz que el LED del pin 9 se atenúe una y otra vez:
- guarda el brillo en una variable creada antes de
setup(), empezando en 0 - en
loop(), escríbelo conanalogWrite(), suma 5 y espera 30 ms - cuando supere 255, vuelve a ponerlo en 0
Pulsa Run y observa el LED; después, pulsa Check.
Pruébalo tú mismo
const int ledPin = 9;
// crea aquí la variable de brillo, comenzando en 0
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
// escribe el valor de brillo, suma 5, vuelve a empezar después de 255 y espera 30 ms
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Salidas
1Brillo
Atenúa un LED con PWMPines PWM marcados con ~Aumenta gradualmente el brillo de un LEDAumenta y disminuye gradualmente el brilloAtenuador con perillaPractica por tu cuenta: Playground de Arduino