

The DHT11, manufactured by ME with part ID UNO, is a digital temperature and humidity sensor designed for accurate environmental monitoring. It provides temperature readings in Celsius and humidity measurements in percentage. The DHT11 is widely used in applications such as weather stations, HVAC systems, and other projects requiring reliable temperature and humidity data.








The DHT11 sensor is a low-cost, easy-to-use component with the following key specifications:
| Parameter | Value |
|---|---|
| Operating Voltage | 3.3V to 5.5V |
| Temperature Range | 0°C to 50°C |
| Temperature Accuracy | ±2°C |
| Humidity Range | 20% to 90% RH |
| Humidity Accuracy | ±5% RH |
| Sampling Rate | 1 Hz (1 reading per second) |
| Communication Protocol | Digital (1-wire) |
| Dimensions | 15.5mm x 12mm x 5.5mm |
The DHT11 has a 4-pin interface, but only 3 pins are typically used in most applications. Below is the pinout:
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power supply pin (3.3V to 5.5V) |
| 2 | DATA | Digital data output pin |
| 3 | NC (Not Connected) | No connection (leave unconnected) |
| 4 | GND | Ground pin |
Below is an example of how to use the DHT11 with an Arduino UNO. This code uses the popular DHT library.
// Include the DHT library
#include <DHT.h>
// Define the DHT11 pin and type
#define DHTPIN 2 // Connect the DATA pin of DHT11 to digital pin 2
#define DHTTYPE DHT11 // Specify the sensor type as DHT11
// Initialize the DHT sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600); // Start serial communication at 9600 baud
dht.begin(); // Initialize the DHT sensor
Serial.println("DHT11 Sensor Initialized");
}
void loop() {
delay(2000); // Wait 2 seconds between readings
// Read temperature and humidity
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Check if the readings are valid
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the readings to the Serial Monitor
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temperature: ");
Serial.print(temperature);
Serial.println("°C");
}
DHT library in the Arduino IDE before uploading the code. You can find it in the Library Manager.No Data or Incorrect Readings:
"Failed to read from DHT sensor!" Error:
Slow or Unstable Readings:
Q: Can the DHT11 measure negative temperatures?
A: No, the DHT11 can only measure temperatures in the range of 0°C to 50°C.
Q: Can I use the DHT11 with a 3.3V microcontroller?
A: Yes, the DHT11 operates within a voltage range of 3.3V to 5.5V, making it compatible with 3.3V systems.
Q: What is the maximum distance between the DHT11 and the microcontroller?
A: The recommended maximum distance is 20 meters, but this may require a lower pull-up resistor value (e.g., 4.7kΩ) to maintain signal integrity.
Q: How does the DHT11 compare to the DHT22?
A: The DHT22 offers a wider temperature and humidity range with higher accuracy but is more expensive. The DHT11 is a cost-effective option for basic applications.
By following this documentation, you can effectively integrate the DHT11 sensor into your projects for reliable temperature and humidity monitoring.