Sondeo del sketch y bucle principal

Cómo los temporizadores del firmware Arduino leen las DHT22, sirven JSON por HTTP y refrescan la LCD sin bloquear el bucle del controlador.

Vista superior de una placa microcontroladora Arduino Uno azul sobre fondo blanco
Las placas compatibles con Arduino ejecutan el sketch que consulta las sondas y publica JSON. Foto: Wikimedia Commons contributor. CC0

El bucle principal reparte el tiempo entre sondear los sensores, refrescar la LCD y atender HTTP sin bloquear ninguna tarea demasiado tiempo. Las lecturas del DHT22 tardan cientos de milisegundos; la gestión de Ethernet tiene que seguir respondiendo lo bastante rápido para que las consultas del panel no agoten el tiempo de espera.

Estructura típica del bucle

  1. Comprobar el temporizador: si pasó el intervalo de sondeo, lee cada DHT22 con reintentos.
  2. Actualizar la LCD: refresca las líneas de la sonda 0, la sonda 1 y, opcionalmente, la media.
  3. Atender HTTP: analiza las peticiones entrantes de los clientes y devuelve el JSON en caché.
  4. Watchdog / reconexión: reinicia o vuelve a inicializar Ethernet si se cayó el enlace.

Restricciones de tiempo

Respeta el mínimo de dos segundos entre lecturas del DHT22 para cada sensor. Escalona las sondas si hace falta. La lógica de promedio está documentada en promedio de dos sondas. Cuando una lectura falla, no actualices esa clave en lugar de publicar NaN.

Depuración por puerto serie

Registra los fallos de lectura y el estado de Ethernet durante el desarrollo. Una vez desplegado, apóyate en el diagnóstico de lecturas obsoletas del lado del sitio web. Vías de recuperación: recuperación con watchdog en el firmware.