Arduino & IoT Academy · Lección

Hacer parpadear un LED sin delay usando millis

Mida el tiempo transcurrido para ejecutar tareas según lo previsto.

Lección 3 de 413 pasos

Hacer parpadear un LED sin delay usando millis es una lección gratuita de Arduino & IoT Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Arduino & IoT Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Arduino & IoT Academy incluye 4 lecciones en total.

Un cronómetro incorporado

La función millis devuelve cuántos milisegundos lleva funcionando la placa desde que se encendió. Es un cronómetro gratuito que cuenta constantemente. ⏱️

unsigned long now = millis();

Por qué unsigned long

Guarde millis en un unsigned long. El contador aumenta enormemente con el tiempo, y un int normal se desbordaría en menos de un minuto.

La idea principal

En lugar de pausar, recuerde la última vez que actuó y compruebe en cada iteración cuánto tiempo ha pasado desde entonces.

Recuerde el último instante

Mantenga una variable como previousMillis para guardar cuándo cambió por última vez el estado del LED. La comparará con la hora actual en cada iteración.

unsigned long previousMillis = 0;

Establezca el intervalo

Elija un intervalo, por ejemplo 1000 milisegundos, como separación entre parpadeos. Actuar solo después de que transcurra ese tiempo proporciona un ritmo constante.

const long interval = 1000;

¿Ha transcurrido suficiente tiempo?

En cada iteración, reste previousMillis del valor actual de millis. Si la diferencia es al menos igual que su intervalo, es hora de actuar.

if (millis() - previousMillis >= interval) {

Reinicie el temporizador

En el instante en que actúe, establezca previousMillis en la hora actual. Así reinicia la cuenta atrás y el siguiente parpadeo vuelve a esperar un intervalo completo.

previousMillis = millis();

Cambie el estado del LED

Dentro del bloque temporizado, simplemente cambie el estado del LED: enciéndalo si estaba apagado y apáguelo si estaba encendido, para obtener un parpadeo uniforme.

ledState = !ledState;
digitalWrite(ledPin, ledState);

El bucle nunca se detiene

Entre un parpadeo y otro, el bucle sigue ejecutándose a toda velocidad, disponible para leer sensores o botones. Nunca se congela esperando.

La resta gestiona el desbordamiento

Después de unos 49 días, millis vuelve a cero, pero el método de la resta sigue proporcionando la diferencia correcta, por lo que el control del tiempo continúa funcionando.

Un patrón reutilizable

Este patrón de millis sirve para cualquier tarea repetitiva, no solo para parpadear. Cambie el intervalo y la acción y podrá programar cualquier cosa.

Comprobación rápida

¿Por qué guardamos el resultado de millis en un unsigned long?

Resumen

Ha aprendido el patrón de millis: recordar la última vez, comprobar el tiempo transcurrido, actuar y reiniciar. Ahora la placa parpadea sin dejar de estar completamente atenta. 🎉

Gratis para empezar

Aprende C++ con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «Hacer parpadear un LED sin delay usando millis» es gratis?

Sí — el texto completo de «Hacer parpadear un LED sin delay usando millis» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Arduino & IoT Academy, actualiza a CoddyKit PRO. El curso de Arduino & IoT Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Hacer parpadear un LED sin delay usando millis»?

Mida el tiempo transcurrido para ejecutar tareas según lo previsto. Practicas Arduino & IoT Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Arduino & IoT Academy?

No se requiere experiencia previa. Arduino & IoT Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Hacer parpadear un LED sin delay usando millis»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Arduino & IoT Academy?

Sí. Cada lección de Arduino & IoT Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. int, float, bool en Arduino
  2. Por qué delay() lo bloquea todo
  3. Hacer parpadear un LED sin delay usando millis
  4. Ejecutar dos tareas a la vez
← Volver a Arduino & IoT Academy