CNAP
03 / Templates · intermediate

DHT22 MONITOR

Open in Playground

Read temperature and humidity from a DHT22 sensor over its single-wire protocol and print both to the Serial Monitor every 2 seconds.

intermediatesensorserialtemperaturehumidityone-wire
Circuit
Code
sketch.inoArduino C++
31 lines
// DHT22 — Temperature & Humidity Monitor
// Prints temperature and humidity every 2 seconds.

#include <DHT.h>

#define DHTPIN  2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    Serial.println("Sensor error!");
  } else {
    Serial.print("Temp: ");
    Serial.print(t);
    Serial.print(" °C   Humidity: ");
    Serial.print(h);
    Serial.println(" %");
  }

  delay(2000); // DHT22 needs >=2s between readings
}
Components
  • Arduino Uno
    01
  • DHT22 sensor
    02
Wiring
Component PinArduino Pin
DHT22 VCC5V
DHT22 SDA (Data)Pin 2
DHT22 GNDGND