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 👁 169 ★ 5,0

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

⏱️ Tiempo de lectura 2 dk

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. El sitio bilimkurdu no se responsabiliza de ningun error o dano derivado de la traduccion.

👨‍💻

Autor

Mustafa KARSLI

Bilişim Teknolojileri Öğretmeni

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 (2 votos)

Codigo QR

Escanea con tu telefono

QR

Tambien te puede interesar

Comentarios

Aun no hay comentarios.

Deja tu opinion

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


🛠️

Hoy en el taller

17 Eylül 2026 — sözlük, hata, araç.

Ir al taller →
📈

Estadisticas

En linea
2
Visitas totales 2.864.638