Menu
CoddyTech

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.

challenge icon

Desafío

Intermedio

Haz 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 en blinksLeft si es mayor que 0
  • si blinksLeft es 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
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Entradas

Practica por tu cuenta: Playground de Arduino