

The DHT22 is a digital temperature and humidity sensor that provides accurate readings of temperature in Celsius and humidity in percentage. It is widely used in applications requiring environmental monitoring, such as weather stations, HVAC systems, greenhouses, and IoT projects. The DHT22 is known for its high precision and reliability, making it a popular choice for both hobbyists and professionals.








The DHT22 has four pins, but typically only three are used in most applications. Below is the pinout:
| Pin Number | Name | Description |
|---|---|---|
| 1 | VCC | Power supply pin (3.3V to 6V). Connect to the positive rail of the power source. |
| 2 | DATA | Digital data pin. Used for communication with the microcontroller. |
| 3 | NC (Not Connected) | Not used. Leave this pin unconnected. |
| 4 | GND | Ground pin. Connect to the ground rail of the power source. |
Below is an example of how to connect and use the DHT22 with an Arduino UNO:
// Include the DHT library for communication with the sensor
#include <DHT.h>
// Define the pin where the DATA pin of the DHT22 is connected
#define DHTPIN 2
// Define the type of DHT sensor being used (DHT22)
#define DHTTYPE DHT22
// Initialize the DHT sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Start the serial communication for debugging
Serial.begin(9600);
Serial.println("DHT22 Sensor Initialization");
// Begin the DHT sensor
dht.begin();
}
void loop() {
// Wait 2 seconds between readings as required by the DHT22
delay(2000);
// Read temperature in Celsius
float temperature = dht.readTemperature();
// Read humidity in percentage
float humidity = dht.readHumidity();
// Check if the readings are valid
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the readings to the Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println("°C");
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println("%");
}
No Data or Incorrect Readings:
"Failed to read from DHT sensor!" Error in Arduino:
Slow or No Response:
Q: Can the DHT22 measure negative temperatures?
A: Yes, the DHT22 can measure temperatures as low as -40°C.
Q: What is the difference between the DHT11 and DHT22?
A: The DHT22 offers higher accuracy and a wider range for both temperature and humidity compared to the DHT11. However, it is slightly more expensive.
Q: Can I use the DHT22 with a 3.3V microcontroller?
A: Yes, the DHT22 operates within a voltage range of 3.3V to 6V, making it compatible with 3.3V microcontrollers like the ESP8266 or ESP32.
Q: How long is the lifespan of the DHT22?
A: The DHT22 has a typical lifespan of 5 years under normal operating conditions.
By following this documentation, you should be able to successfully integrate and use the DHT22 sensor in your projects!