Leitura periódica e loop principal do sketch

Veja como os timers do firmware Arduino leem as sondas DHT22, servem JSON por HTTP e atualizam o LCD sem travar o loop principal.

Vista de cima de uma placa microcontroladora Arduino Uno azul sobre fundo branco
Placas compatíveis com Arduino rodam o sketch que lê as sondas e publica o JSON. Foto: Wikimedia Commons contributor. CC0

O loop principal equilibra a leitura dos sensores, a atualização do LCD e o serviço HTTP sem bloquear nenhuma tarefa por tempo demais. As leituras do DHT22 levam centenas de milissegundos; o tratamento da Ethernet precisa continuar ágil o bastante para que as consultas do dashboard não expirem.

Estrutura típica do loop

  1. Verificar o timer: se o intervalo de leitura passou, leia cada DHT22 com novas tentativas.
  2. Atualizar o LCD: atualize as linhas da sonda 0, da sonda 1 e da média opcional.
  3. Servir HTTP: interprete as requisições dos clientes e retorne o JSON em cache.
  4. Watchdog / reconexão: reinicie ou reinicialize a Ethernet se o link cair.

Restrições de tempo

Respeite o mínimo de dois segundos entre leituras do DHT22 em cada sensor. Escalone as sondas, se necessário. A lógica de média está documentada em média com duas sondas. Quando uma leitura falhar, deixe de atualizar aquela chave em vez de publicar NaN.

Depuração pela serial

Registre falhas de leitura e o estado da Ethernet durante o desenvolvimento. Depois da instalação, conte com o diagnóstico de leituras desatualizadas do lado do site. Caminhos de recuperação: recuperação por watchdog no firmware.