Arduino-Feuchtemessung
DHT11 / DHT22 Sensoren
Das DHTxx-Modul enthält eine resistive Feuchtemesskomponente und eine NTC-Temperaturmesskomponente. Die Messungen werden von einem integrierten 8-Bit-Mikrocontroller durchgeführt, der einen kalibrierten digitalen Signalausgang liefert. Das Modul zeichnet sich durch hohe Zuverlässigkeit und hervorragende Langzeitstabilität aus. Der IC vom Typ AM2302 ist in den DHT22 integriert.
DHT11 gilt als „ultra” billig, anscheinend ist 11 „weniger” (siehe Vergleich unten).
Das DHTxx-Modul kann über eine einadrige serielle Schnittstelle mit einer maximalen Übertragungsentfernung von 20 Metern abgefragt werden. Der Sensor muss an einen digitalen Pin angeschlossen werden.
Feuchtemessmodule
Es gibt zwei Versionen von DHT 11/22 Modulen. Bei einem von ihnen wurden der Widerstand und der Kondensator, die zum Herstellen der Verbindung benötigt werden, integriert (z. B. 140C80, KY-015, ..), bei dem anderen Typ gibt es keine anderen Komponenten als den Sensor, sodass auch der Widerstand und der Kondensator getrennt sind. muss installiert sein (siehe Verkabelung).
Spezifikation
Parameter | DHT11 | DHT22 |
---|---|---|
Spannung | 3.3 ~ 5.5V DC | |
Signalübertragungsentfernung | maximal 20 m | |
Feuchtigkeitsmessbereich | 20 - 80% RH | 0 - 100% RH |
Fehlergrenze für Feuchtemessung | ± 5% | ± 2 ~ 5% |
Langzeitstabilität | < ± 1% RH / Jahr | |
Temperaturmessbereich | 0 - 50 °C | -40 - 125 °C |
Fehlergrenze für Temperaturmessung | ± 2% | ± 0.5% |
Auflösung | Feuchtemessung 1% RH, Temperatur 1 ℃ |
Verdrahtung
Software
Ich habe den Sensor mit einem Arduino Uno getestet. Der einfachste Weg, es einzurichten, ist die Installation des folgenden Verzeichnisses (Adafruit):
https://github.com/adafruit/DHT-sensor-library
Das Verzeichnis wird nicht kompiliert, ohne auf das unten stehende zusätzliche Verzeichnis zuzugreifen (dieses muss ebenfalls installiert sein):
https://github.com/adafruit/Adafruit_Sensor
Diese beiden Bibliotheken müssen also von Github aus installiert werden, dann muss der DHT-Tester über die ebenfalls hier installierten Beispielprogramme ausgeführt werden.
Das „gestrippte” Programm ohne die „Verzögerung” Funktion mit internem Timing (erfordert die obigen Verzeichnisse):
SI7021, GY-21 Modul
Dies sind Feuchtigkeits- und Temperaturmessmodule:
- auf die über die Kommunikation I²C zugegriffen werden kann
- HTU21D IC ist integriert
Das Modul ist (im Prinzip) technisch identisch mit folgenden Modulen: HTU21D, SHT20, SHT21, HDC1080.
Technische Details
Parameter | Data |
---|---|
Spannung | 1.9 .. 3.6 V DC (3,3V empfohlen) |
Standby Spannung | 60nA |
Temperaturbereich | -40 és 85 °C (-10 .. 60 °C empfohlen) |
Temperaturgenauigkeit | ± 0,4 °C (-10 .. 85 °C) |
Feuchtigkeit | 0-100% relative Luftfeuchtigkeit (20% - 80% relative Luftfeuchtigkeit) |
Genauigkeit der Feuchtemessung | ± 3% relative Luftfeuchtigkeit (0-80% relative Luftfeuchtigkeit) |
Temperaturumwandlungszeit | 7ms |
Feuchtigkeitsumwandlungszeit | 17ms |
Kommunikation | I²C |
Fix I²C Address | 0x40 |
Überbrückungsentfernung | Etwa 1 Meter für 100 Kbaud und 6-8 Meter für 10 Kbaud |
Die winzige weiße Abdeckung des IC (falls vorhanden) ist ein Membranfilter aus Polytetrafluorethylen (PTFE).
Nach dem Anschließen der Kommunikation empfiehlt es sich, das Vorhandensein des Moduls mit dem Arduino I²C-Scannerprogramm zu testen.
Eine Zusammenfassung des Arduino I²C finden Sie hier: Arduino I²C.
- Das Modul arbeitet mit 3,3-V-TTL-Logik. Für den Anschluss an die 5-V-Logik muss ein 10-kΩ-Widerstand verwendet werden.
- Das Modul verfügt über integrierte 4,7-KΩ-Abisolierwiderstände für die I²C-Kommunikation. Wenn Sie andere Teilnehmer an das I²C anschließen möchten, muss dieser Widerstand gelötet werden (oder die anderen Teilnehmer benötigen sie nicht mehr).
- Der Sensor muss vor physikalischen / chemischen Verunreinigungen geschützt werden, da diese die Genauigkeit der Messung stark beeinträchtigen.