How to Use DHT-22 Sensor - Arduino Tutorial

233,809

82

28

Introduction: How to Use DHT-22 Sensor - Arduino Tutorial

About: Arduino Tutorials by Codebender.cc Team

The DHT-22 (also named as AM2302) is a digital-output relative humidity and temperature sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air, and spits out a digital signal on the data pin.

In this tutorial you will learn how to use this sensor with Arduino uno. The room temperature & humidity will be printed to serial monitor.

So, let's get started!

Step 1: About the DHT-22 Sensor

The DHT22 is a basic, low-cost digital temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air, and spits out a digital signal on the data pin (no analog input pins needed).

Connections are simple, the first pin on the left to 3-5V power, the second pin to your data input pin and the right most pin to ground.

Technical details:

  • Power: 3-5V
  • Max Current: 2.5mA
  • Humidity: 0-100%, 2-5% accuracy
  • Temperature: -40 to 80°C, ±0.5°C accuracy

Step 2: What You Will Need

For this tutorial you will need:

  • Arduino uno
  • Breadboard
  • DHT-22

Step 3: The Circuit

The connections are pretty easy, see the image above with the breadboard circuit schematic.

Step 4: The Code

Here's the code, embedded using codebender!

Try downloading the codebender plugin and clicking on the "Run on Arduino" button to program your Arduino board with this sketch. Below you will also find codebender serial monitor, press connect button to start receiving data from sensor.


Step 5: Well Done!

You have successfully completed one more Arduino "How to" tutorial and you learned how to use the DHT-22 sensor.

I hope you liked this, let me know in the comments.

There will be more of them, so make sure to click Follow button!

4 People Made This Project!

Recommendations

  • Make it Glow Contest

    Make it Glow Contest
  • First Time Author Contest

    First Time Author Contest
  • PCB Challenge

    PCB Challenge

28 Discussions

0
SomePolishGuy
SomePolishGuy

1 year ago

Thanks for the great tutorial! Up and running in minutes!!!!!

1
jroachsr
jroachsr

Question 2 years ago on Step 2

I copied & pasted your code but get an error "exit status 1" error compiling for board Arduino/Genuine UNO. However if I use the online uploader it indicates it up loaded successfully. I want to use this program with a LCD but if I can't compile this portion of the code I cannot add to it, any suggestions?

0
hornerj99
hornerj99

5 years ago

Don't you need a 10k resistor in there?

0
sahanl2
sahanl2

Reply 3 years ago

as a pullup on the data line and 5v

0
JayM83
JayM83

4 years ago

Hi!, I am Jay and want to ask about the problem which i faced. I connected everything perfectly, codes were also perfect but then i uploaded the code onto the Intel Galileo Gen2 board and found out that no humidity and temperature is measured perfectly through serial monitor. it says " Humidity = 0% Temperature = 0.00C". Please help me out.

0
sahanl2
sahanl2

Reply 3 years ago

is ur sensor connected to digital pin 2

0
charliescarface
charliescarface

4 years ago

Can this project be used in conjunction with a WeMo switch to turn on/off a furnace based on the humidity of that space?

0
sahanl2
sahanl2

Reply 3 years ago

use a relay board and the if function. As long as ur furnace has some sort of electric starting and stopping mechanism (electric heating system).

Otherwise you will have to think of a handy mech to turn on and off the furnace mechanically and electrically.

if (humidity > 60)

{

digitalWrite(relayPin, HIGH);

}

else
{

digitalWrite(relayPin, LOW);

}

0
ChandruS6
ChandruS6

3 years ago

But Great Project I already made it!

1
ChandruS6
ChandruS6

3 years ago

Where I should get the DHT22.h Library?

❓❓❓❓❓❓❓

0
banjabi1
banjabi1

3 years ago

probably need to add these lines:
#include <DHT.h>
#include <DHT_U.h>
#include <Adafruit_Sensor.h>

and first install Adafruit Dht22 and somekind of Unified Sensor library from the library manager

0
banjabi1
banjabi1

Reply 3 years ago

and the other weird thing that i noticed, lol...:
you cant have any backup copies of the same sketch file in the same folder, otherwise you get a redefinition error?:o

0
soardr
soardr

3 years ago

Can we use an analog pin to connect the data pin of the sensor ?

0
GeeksTipsDotCom
GeeksTipsDotCom

4 years ago

Very thorough! Just want to mention that the DC is actually between 3.3v - 6v considering the datasheet provided by Sparkfun. If you don't know what sensor to use in your project you can see here a comparison between DHT22 and DS18B20

0
bonsaiclub
bonsaiclub

4 years ago

Μπόμπα! Thanks!

0
jurgen.geldhof.1
jurgen.geldhof.1

4 years ago

The 10k resistor seems to be missing here!

0
Orion96
Orion96

4 years ago

Thanks for this, real help for the beginners.

One prob though, my humidity shows around 8% and i know that is deffinitely not right, it's winter here, any ideas??

thanks in advance.