Ejecutar dos tareas a la vez
Haga parpadear un LED y lea un botón simultáneamente.
Ejecutar dos tareas a la vez es una lección gratuita de Arduino & IoT Academy en CoddyKit. Esta es la lección 4 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.
El sueño de la multitarea
Los dispositivos reales hacen muchas cosas a la vez: hacen parpadear una luz mientras observan un botón. Con una temporización sin bloqueo, su placa por fin puede hacer ambas cosas.
Cada tarea tiene su temporizador
El truco consiste en usar un temporizador por tarea. Asigne al parpadeo su propio previousMillis e intervalo, separados de cualquier otra tarea que quiera ejecutar.
Controle el tiempo por separado
Mantenga un previousMillis específico para el LED, de modo que su programación nunca se mezcle con otros trabajos temporizados del mismo bucle.
unsigned long ledPrevious = 0;
const long ledInterval = 500;Bloque de parpadeo
Primero, el bloque de parpadeo comprueba su propio temporizador. Cuando transcurren 500 milisegundos, cambia el estado del LED y reinicia el temporizador; después, la ejecución continúa.
if (millis() - ledPrevious >= ledInterval) {
ledPrevious = millis();
}Lea el botón en cada iteración
Justo después del bloque de parpadeo, lee el botón en cada iteración. Como nada se ha congelado, no se pierde ninguna pulsación.
int state = digitalRead(buttonPin);Dos trabajos, un bucle
Ahora el mismo bucle se encarga de ambas tareas: controla el tiempo del parpadeo y comprueba el botón miles de veces por segundo. Parecen simultáneas.
Añada una tercera tarea
¿Quiere hacer más cosas? Solo tiene que añadir otro temporizador y bloque, como leer un sensor cada dos segundos. El patrón se amplía fácilmente a muchas tareas.
Mantenga el bucle rápido
La regla que lo hace posible es no bloquear nunca. Mantenga rápida cada parte del bucle para que pueda volver a ejecutarse a menudo y atender todas las tareas de forma equilibrada.
No es paralelismo real
La placa sigue haciendo una sola cosa a la vez, pero a gran velocidad. Esto es multitarea cooperativa: cada tarea hace un poco y cede el control.
Destierre el delay largo
Un solo delay largo en cualquier parte rompe toda la ilusión, porque congela todas las tareas. Sustituya las pausas por comprobaciones con millis para que todo funcione con fluidez.
El corazón de la IoT reactiva
Este estilo de máquina de estados, con muchas comprobaciones temporizadas pequeñas en un mismo bucle, es la forma real de construir sensores, pantallas y dispositivos conectados que respondan con rapidez.
Comprobación rápida
¿Cómo puede un mismo bucle hacer parpadear un LED y leer un botón al mismo tiempo?
Resumen
Ha combinado temporizadores en un mismo bucle para hacer multitarea: hacer parpadear un LED y leer un botón a la vez, sin un delay bloqueante. Esa es la habilidad fundamental de los dispositivos IoT reales. 🚀
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 «Ejecutar dos tareas a la vez» es gratis?
Sí — el texto completo de «Ejecutar dos tareas a la vez» 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 «Ejecutar dos tareas a la vez»?
Haga parpadear un LED y lea un botón simultáneamente. 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 4 de 4.
¿Cuánto tiempo toma la lección «Ejecutar dos tareas a la vez»?
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
- int, float, bool en Arduino
- Por qué delay() lo bloquea todo
- Hacer parpadear un LED sin delay usando millis
- Ejecutar dos tareas a la vez