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 menosPon 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.
Desafío
FácilHaz que el LED del pin 13 parpadee cada vez más rápido:
- al principio, crea
int waitTime = 1000; - en
loop(), parpadea condelay(waitTime)en ambas esperas - al final de
loop(), reducewaitTimeen 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
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Primeros circuitos
3Matemáticas en la pizarra
Constantes con nombreOperadores aritméticosDivisión enteraDecimales con floatUn parpadeo que se aceleraPractica por tu cuenta: Playground de Arduino