Czujnik DHT22
DHT22 jest 8 bitowym czujnikiem wilgotności i temperatury, komunikającym się za pomocą interfejsu Single-Wire Two-Way.
Jest on bardziej dokładnym odpowiednikiem czujnika DHT11. Dodatkowo pozwala na pomiar znacznie większego zakresu temperatur niż DHT11.
Czujnik posiada również oznaczenie AM2302.
Parametry DHT22
Napięcie zasilania: 3.3 – 6V DC
Pobór prądu podczas pomiaru: 0.5mA – 2.5mA
Spoczynkowy pobór prądu: 100uA – 150uA
Zakres pomiaru temperatur: -40 – 80 °C
Rozdzielczość pomiaru temperatury: 8 bitów
Dokładność pomiaru temperatury: 0.5°C
Zakres pomiaru wilgotności: 20 – 100 %DH
Rozdzielczość pomiaru wilgotności: 8 bitów
Dokładność pomiaru wilgotności: ±2 RH
Podłączenie do Arduino
1 pin podłączamy do zasilania
2 pin poprzez rezystor podciągający 4.7kOhm podłączymy do zasilania i do pinu cyfrowego Arduino
3 pin do masy
(na schemacie oznaczono jako DHT11, gdyż podłączenie jest identyczne jak dla czujnika DHT11)
Program do obsługi czujnika DHT22
Na początek załączamy bibliotekę DTH do obsługi czujników DHT11, DHT22
Kod programu:
#include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); Serial.println("DHTxx test!"); dht.begin(); } void loop() { delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); if (isnan(h) || isnan(t))) { Serial.println("Problem z odczytem danych"); return; } Serial.print("Wilgotność: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperatura: "); Serial.print(t); Serial.print(" *C "); }