Menu
CoddyTech

Un parpadeo que se acelera

Parte de la sección Primeros circuitos del Journey de Arduino de Coddy. Lección 17 de 22.

delay(waitTime) espera lo que contenga waitTime en ese momento. Cambia la variable mientras se ejecuta el sketch, y el parpadeo cambiará con ella.

waitTime = waitTime - 100;   // el siguiente parpadeo dura 100 ms menos

Pon eso al final de loop() y cada parpadeo será más corto que el anterior.

Observa lo que ocurre cuando se ejecuta durante un rato. La espera se reduce a 0 y después baja de 0. delay() no puede esperar un tiempo negativo: interpreta -200 como un número enorme, aproximadamente 49 días, así que el LED parece congelado. Un sketch tiene que decidir por sí mismo cuándo dejar de reducir el tiempo, y de eso trata la siguiente lección.

challenge icon

Desafío

Fácil

Haz que el LED del pin 13 parpadee cada vez más rápido:

  • al principio, crea int waitTime = 1000;
  • en loop(), parpadea con delay(waitTime) en ambas esperas
  • al final de loop(), reduce waitTime en 200

Pulsa Run y observa hasta que se congele; después, pulsa Check.

Pruébalo tú mismo

// crea waitTime aquí

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
  // haz que waitTime sea más pequeño
}
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 Primeros circuitos

Practica por tu cuenta: Playground de Arduino