Saltar al contenido
//

Bilim ve Teknoloji Üretmek İçin Buradayız!

La trampa de delay(): no duermas a tu robot
Consejos y trucos 02.08.2026 👁 12 ★ 5,0

La trampa de delay(): no duermas a tu robot

⏱️ Lectura estimada: 2 min

Casi todo principiante pasa por el comando facil delay(1000). La idea es simple: espera 1 segundo. Cuando el proyecto crece, el robot se vuelve raro. Pulsas un boton y no responde, aparece un obstaculo y no frena, se sale de la linea mientras la sigue.

No culpes primero al sensor o a la bateria. A menudo el culpable es delay(), que duerme al robot como una anestesia.

1) delay congela el cerebro

Cuando Arduino encuentra delay, no hace nada mas durante ese tiempo. Ejemplo: enciende la luz, espera 2 segundos, luego gira a la izquierda. En esos 2 segundos el robot:

  • No ve un muro delante (no lee ultrasonido)
  • No oye el boton de parada de emergencia
  • No nota que salio de la linea

delay no es un descanso; es una paralisis corta. Hasta que termina, el robot esta ciego, sordo y mudo.

2) La analogia del huevo

Metodo delay: Pones el huevo en agua y te quedas 5 minutos quieto mirando la olla. Suena el telefono? Lo ignoras. Llaman a la puerta? Lo ignoras.

Metodo millis: Anotas la hora: empece a las 14:00, lo saco a las 14:05. Luego preparas la mesa, cortas pan y miras el reloj de vez en cuando. Aun no? Sigues trabajando.

Los profesionales no dejan al robot esperando en la cocina; le ensenan a mirar el reloj.

3) Varias tareas a la vez (millis)

Si quieres parpadear un LED y seguir una linea a la vez, no uses delay. Mientras esperas el LED, no controlas motores.

Usa millis(), el reloj de Arduino. Sigue la linea y mueve motores. Mira tambien el reloj. Si pasaron 1000 ms desde el ultimo cambio del LED, cambialo — pero no te pares.

unsigned long lastTime = 0;
int ledState = LOW;

void loop() {
  followLine();

  if (millis() - lastTime >= 1000) {
    lastTime = millis();
    ledState = !ledState;
    digitalWrite(LED_BUILTIN, ledState);
  }
}

Nota de taller: delay no esta siempre prohibido. Esperas cortas en setup() o codigo de una sola vez fuera de carrera pueden valer. Dentro de loop() con sensores y motores, delay es una trampa.

Si las reacciones van tarde, busca delay en el codigo. No duermas al robot; ensenale a gestionar el tiempo. La vida real no se pausa; tu loop tampoco deberia.

Esta pagina fue traducida por inteligencia artificial. Mustafa KARSLI no se responsabiliza de ningun error o dano derivado de la traduccion.

👨‍💻

Autor

Mustafa KARSLI

Profesor de Informatica

Comparte este contenido

Te fue util esta pagina?

Valora este articulo

Valora de 1 a 5 estrellas — ayuda a mostrar estrellas en Google.

5,0 / 5 (1 votos)

Panel del alumno

Inicia sesion para guardar tu progreso.

Iniciar sesion

Acceso movil — Codigo QR

QR

Escanea con tu telefono

📚 Articulos relacionados

💬 Comentarios

Aun no hay comentarios.

Deja tu opinion

Los comentarios se publican tras la aprobacion del administrador. Se rechazan insultos, datos personales y anuncios.

Asistente biliMKurdu

Busqueda del sitio · analisis de codigo

🧩

Acertijo TIC del dia

Bir görüntünün netliğini ifade eden ve genişlik x yükseklik şeklinde yazılan değere ne denir?

🏆

Nuestros logros

👋 Quien soy?

Geleceğimiz gençlerimize Bilim ve Teknolojiyi Üretmeleri için yol göstermeliyiz. Bu minvalde vakit buldukça ücretsiz ders ve videolar hazırlayıp yayınlamaya çalışmaktayım....

Contacto →
📈

Estadisticas

En linea
4
Visitas totales 2.833.730