반응형

예전에 온습도 센서(온도와 습도를 동시에 측정할 수 있는 센서)인 DHT11 의 사용에 대해서 알아본적이 있습니다. DHT11 도 싸고 좋은 센서지만 보다 측정범위가 넓고 오차가 적은 정밀한 측정이 가능한 온습도 센서가 있습니다. 바로 DHT22 (AM2302) 입니다. 하지만 DHT22 는 11보다 좀 비쌉니다. 국내에서  가격은 DHT11 이 2000~3000원 정도를 하지만 DHT22 는 6000~10000원 정도 합니다. DHT22 하나 가격으로 DHT11 3개 가격으로 DHT22 센서 하나를 살 수 있는것이죠. 하지만 DHT22 가 11 보다 모든면에서 우수한 것 같지만 하나의 단점이 있습니다. DHT11은 1초마다 온습도 값을 측정해서 보내주지만 DHT22 는 2초 마다 보내줍니다. 자세한 차이는 아래 보여드리는 비교표를 참고하면 됩니다. 표를 보고 자신의 용도에 맞는 온습도 센서를 선택하면 되겠습니다.

 

  DHT11 DHT22
 온도 측정범위  0 ~ 50℃  -40 ~ 80
 온도 측정오차  2  0.5
 습도 측정범위  20 ~ 80%  0 ~ 100%
 습도 측정오차  5%  2%
측정 간격  1초  2초

 

 

 

 

 

 

 

▲ DHT11 과 DHT22 (AM2302) 의 비교표

 

■ DHT11 과 DHT22 의 데이터시트

DHT11.pdf
다운로드
DHT22(AM2302).pdf
다운로드

 

 

DHT22 센서의 핀배열은 위와 같습니다. 3.3V 또는 5V 의 전압이 사용이 가능하며 두번째 핀(SDA)으로 신호를 전송합니다. 3번핀은 사용하지 않습니다. 흔히 DHT22 라고 부르지만 정식명칭은 AM2302 입니다. AOSONG 은 제조사의 이름 입니다.

 

뒷면입니다. 제조사의 품번인 듯한 AS1402 라는 코드가 쓰여져 있습니다.

 

아두이노 우노와의 연결은 다음과 같이 했습니다.

 

 

■ fritzing 파일

 

DHT22(AM2302).fzz
다운로드

 

위와 같이 3.3V 또는 5V 전원에 연결하면 됩니다. 저는 5V에 연결했습니다. 신호를 받을 SDA 핀은 디지털 2번에 연결했습니다. 그리고 VCC 와 SIgnal (SDA) 단자 사이에 10KΩ 풀업 저항을 달아 주었습니다.

 

소스

소스는 DHT 센서 라이브러리를 사용했으며 아두이노의 시리얼 모니터로 온습도의 변화를 관찰해 보았습니다. 아래의 라이브러리는 DHT 11, 21, 22 모두 사용할 수 있습니다.

 

■ DHT 라이브러리

DHT.zip
다운로드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "DHT.h"
 
#define DHTPIN 2        // SDA 핀의 설정
#define DHTTYPE DHT22   // DHT22 (AM2302) 센서종류 설정
 
DHT dht(DHTPIN, DHTTYPE);
 
void setup() {
  Serial.begin(9600); 
  Serial.println("DHT22 TEST !!!");
 
  dht.begin();
}
 
void loop() {
  // 센서의 온도와 습도를 읽어온다.
  float h = dht.readHumidity();
  float t = dht.readTemperature();
 
  if (isnan(t) || isnan(h)) {
    //값 읽기 실패시 시리얼 모니터 출력
    Serial.println("Failed to read from DHT");
  } else {
    //온도, 습도 표시 시리얼 모니터 출력
    Serial.print("Humidity: "); 
    Serial.print(h);
    Serial.print(" %\t");
    Serial.print("Temperature: "); 
    Serial.print(t);
    Serial.println(" *C");
  }
  delay(2000);
}
cs

 

https://youtu.be/nOsyr6Bq4l4



온도의 변화를 시리얼 모니터로 관찰해 보았습니다. 손가락을 센서에 갖다대니 26.9℃ 에서 시작한 온도가 29℃ 까지 올라가고 손가락의 습기때문에 습도도 높아지는 것을 볼 수 있습니다.

 

 

이상으로 정밀 온습도 센서인 DHT22에 대해서 알아보았습니다.

반응형

+ Recent posts