Abfragen und Hauptschleife im Sketch

Wie Timer in der Arduino-Firmware DHT22-Fühler auslesen, JSON per HTTP ausliefern und das LCD aktualisieren, ohne die Hauptschleife zu blockieren.

Draufsicht auf eine blaue Arduino-Uno-Mikrocontrollerplatine vor weißem Hintergrund
Arduino-kompatible Boards führen den Sketch aus, der die Fühler abfragt und JSON veröffentlicht. Foto: Wikimedia Commons contributor. CC0

Die Hauptschleife verteilt die Zeit zwischen Sensorabfrage, LCD-Aktualisierung und HTTP-Dienst, ohne eine Aufgabe zu lange zu blockieren. DHT22-Abfragen dauern Hunderte Millisekunden; die Ethernet-Verarbeitung muss reaktionsschnell genug bleiben, damit Abrufe des Dashboards nicht in einen Timeout laufen.

Typischer Aufbau der Schleife

  1. Timer prüfen: Ist das Abfrageintervall abgelaufen, jeden DHT22 mit Wiederholungen auslesen.
  2. LCD aktualisieren: Zeilen für Fühler 0, Fühler 1 und optional den Durchschnitt neu schreiben.
  3. HTTP bedienen: Eingehende Client-Anfragen auswerten und zwischengespeichertes JSON zurückgeben.
  4. Watchdog / Neuverbindung: Ethernet zurücksetzen oder neu initialisieren, wenn die Verbindung abgebrochen ist.

Zeitliche Vorgaben

Halte pro Sensor den Mindestabstand von zwei Sekunden zwischen DHT22-Abfragen ein. Versetze die Fühlerabfragen bei Bedarf zeitlich. Die Mittelwertlogik ist unter Mittelwertbildung mit zwei Fühlern dokumentiert. Schlägt eine Abfrage fehl, aktualisiere diesen Schlüssel nicht, statt NaN zu veröffentlichen.

Fehlersuche über die serielle Schnittstelle

Protokolliere während der Entwicklung Lesefehler und den Ethernet-Status. Nach der Inbetriebnahme verlässt du dich auf der Website-Seite auf die Diagnose veralteter Messwerte. Wiederherstellungswege: Wiederherstellung per Firmware-Watchdog.