Czujnik wilgotności powietrza AM2302 (DHT22)
AM2302 (DHT22) posiada szerokie zastosowanie, bowiem potrafi mierzyć temperatury z zakresu -40ºC do 125ºC oraz wilgotności powietrza od 0% do 100%RH. Błąd pomiarowy wilgotności jest taki sam jak w przypadku DHT11(inny model czujnika wilgotności), natomiast o wiele dokładniejszy jest pomiar temperatury, wynoszący ±0.5ºC. Dokumentacja techniczna czujnika LINK.
Czujnik jest zasilany przez PIN 1 (zakres napięć od 3.3V do 6V), pobiera od 1 do 1.5 mA, a minimalny czas pomiaru wynosi 2 sekundy.
Schemat połączenia:
Kod źródłowy przykładowego programu z wykorzystaniem biblioteki DHT
#include "DHT.h" // biblioteka DHT
#define DHTPIN 5 // numer pinu sygnałowego
DHT dht; // definicja czujnika
void setup()
{
Serial.begin(9600); // otworzenie portu szeregowego
dht.setup(DHTPIN); // inicjalizacja czujnika
}
void loop()
{
// Miniamalne opóźnienie odczytu
delay(dht.getMinimumSamplingPeriod());
// Odczyt temperatury i wilgotności powietrza
float t = dht.getTemperature();
float h = dht.getHumidity();
// Sprawdzamy poprawność danych
if (dht.getStatus())
{
// Jeśli nie, wyświetlamy informację o błędzie
Serial.println("Blad odczytu danych z czujnika");
} else
{
// Jeśli tak, wyświetlamy wyniki pomiaru
Serial.print("Wilgotnosc: ");
Serial.print(h);
Serial.print(" % ");
Serial.print("Temperatura: ");
Serial.print(t);
Serial.print(" *C / ");
Serial.print(dht.toFahrenheit(t));
Serial.println(" *F ");
}
}