Parpadear con un comando
Parte de la sección Entradas del Journey de Arduino de Coddy. Lección 18 de 22.
Escribe 3 y el LED debería parpadear tres veces y detenerse después. loop() ya se repite, así que deja que se encargue del conteo: mantén una variable con el número de parpadeos que quedan por hacer. Cada vez que se ejecuta loop(), si quedan parpadeos, parpadea una vez y resta uno.
int blinksLeft = 0;
void loop() {
// un número del monitor Serial establece blinksLeft
if (blinksLeft > 0) {
// un parpadeo
blinksLeft = blinksLeft - 1;
}
}Cuando blinksLeft llega a 0, el if es falso y el LED permanece apagado hasta el siguiente número.
El salto de línea después del número hace que parseInt() devuelva 0 un segundo después. Ignora el 0 como antes, o borraría los parpadeos que aún quedan por hacer.
Desafío
IntermedioHaz parpadear el LED del pin 13 tantas veces como el número escrito en el monitor Serial:
- cuando haya caracteres esperando, lee un número con
parseInt()y guárdalo enblinksLeftsi es mayor que 0 - si
blinksLeftes mayor que 0, hazlo parpadear una vez (200 ms encendido, 200 ms apagado) y réstale uno
Pulsa Run, envía 3 desde el monitor Serial y después pulsa Check.
Pruébalo tú mismo
const int ledPin = 13;
int blinksLeft = 0;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// un número del monitor Serial establece blinksLeft
// mientras blinksLeft sea mayor que 0, haz parpadear el LED una vez y resta uno
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Entradas
3Entrada serial
Leer un carácter serialComandos de palabrasVelocidad de parpadeo desde SerialParpadear con un comandoPractica por tu cuenta: Playground de Arduino