In diesem ersten Teil schauen wir uns die Rohdaten an, die der Sensor abliefert. Dazu wird das Datenblatt des Herstellers zu Rate gezogen. Um an die Rohdaten zu kommen, wird eine Bibliotheksdatei von github.com benutzt. Wer weiter einsteigen möchte in die Programmierung dieses Sensors, kann dort auch die Bibliotheksdateien mit ihren Funktionen einsehen und erfahren, wie auf die einzelnen Bits des DHT22/DHT11 zugegriffen wird.
Der Sensor DHT22
SDA Datenleitung (1-Wire-Verbindung mit eigenem Protokoll)
NA nicht verfügbar, nicht belegt
Leistungsdaten nach Herstellerangaben
Schaltungsaufbau
Rohdatenverarbeitung | |
Material |
|
Aufgaben |
|
Terminalausgabe der Rohdaten des Sensors
Das Programm dht22_2.ino
Wie arbeitet das Programm dht22_2.ino?
Durch die Einbindung der Bibliotheksdatei SimpleDHT.h wird das Auslesen von Messdaten zur relativen Feuchte und der Raumtemperatur in ein Array data möglich. Dem Datenblatt des Sensors ist zu entnehmen, dass der DHT22, sobald er aktiviert wurde, nach jeder Messung 5 Bytes oder 40 Bits an den Arduino UNO überträgt (Abb. 2). Die fünf Bytes schlüsseln sich wie folgt auf:
Nach Angabe des Herstellers (Datenblatt) werden die Daten des Sensors in jeweils 5 Byte Blöcken ausgegeben. Die ersten beiden Blöcke geben die relative Luftfeuchtigkeit an, der dritte und vierte Block die Temperatur. Das fünfte Byte ist ein sogenanntes Prüfsummenbyte (Abb. 3).
Die Dekodierung der Rohdaten erfolgt über die Umrechnung der Binärdaten ins Dezimalsystem. Aus Vereinfachungsgründen habe ich hier neben der binären auch die hexadezimale Darstellungsform gewählt. Ihre Umrechnung ins 10-er System erscheint einfacher und weniger fehleranfällig zu sein.
Die Prüfsumme ergibt sich aus der Addition der Messdatenbytes.
Stimmt die Prüfsumme mit der Messdatensumme überein, dann ist wahrscheinlich kein Fehler bei der Datenermittlung aufgetreten.
In dieser Übung werden Funktionen und beigefügte Beispielprogramme einer DHT-Sensor-Bibliothek genutzt, die aus dem Internet bei github.com geladen werden kann.
Benenne die nicht entpackte Datei nach dem Herunterladen in DHT um und kopiere sie in den Libraries Ordner von Arduino. Starte anschließend den Arduino Editor.
Über das Hauptmenü Sketch – Bibliothek einbinden - .ZIP Bibliothek hinzufügen wird die DHT Bibliothek in das System eingebunden und kann jetzt im Programm benutzt werden.
Temperatur- und Luftfeuchtemessung | |
Material |
|
Aufgaben |
|
Das Programm dht22_1.ino
Terminalausgabe der Messwerte