작은항해자의 항해

AM2302/DHT22 디지털 온습도 센서 본문

IT 이야기/IOT 센서

AM2302/DHT22 디지털 온습도 센서

작은항해자 2019. 1. 11. 10:43

AM2302/DHT22 - Digital Temperature and Humidity Sensor




개요

  온습도 센서 AM2302 DHT22

  디지털 핀 1개와 전원핀(VCC, GND) 2개를 연결하여 사용할수 있다.

  온도와 습소는 센서회로내에서 측정해주어서 따로 계산할 필요가 없다.


사양 (Specification)

  작동 전압 : 3.3 ~ 5.5V

  온도 범위 : -40 ~ 80

  습도 범위 : 0 ~ 100% (상대습도 RH)

  정밀도 : 온도 ±0.5℃, 습도 ±0.2%

  즉정 단위 : 온도 0.1℃, 습도 0.1%

  전송 속도 : 2초

   

회로도 연결


5V, GND, Data(D7에 연결) 를 연결한다.
데이터연결시 저항은 1K를 연결하여야 한다.(모듈형 사용시에는 저항이 포함되어 있으므로 저항연결이 필요 없다.)


아두이노 예제

* DHT 라이브러리를 설치후 진행하여야 한다.

#include "DHT.h"

#define DHTPIN 7    // modify to the pin we connected

                           // Uncomment whatever type you're using!

//#define DHTTYPE DHT11   // DHT 11 

#define DHTTYPE DHT22   // DHT 22  (AM2302)

//#define DHTTYPE DHT21     // DHT 21 (AM2301)

                                     // Connect pin 1 (on the left) of the sensor to +5V

                                     // Connect pin 2 of the sensor to whatever your DHTPIN is

                                     // Connect pin 4 (on the right) of the sensor to GROUND

                                     // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

DHT dht(DHTPIN, DHTTYPE);


void setup() {

 Serial.begin(9600); 

 Serial.println("DHTxx test!");

 dht.begin();

}


void loop() {

                                        // Reading temperature or humidity takes about 250 milliseconds!

                                        // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)

 float h = dht.readHumidity();

 float t = dht.readTemperature();

                           // check if returns are valid, if they are NaN (not a number) then something went wrong!

 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");

 }

}


출력화면



DHT 라이브러리 설치

 [스케치-라이브러리 포함하기-라이브러리 관리]를 선택하고 DHT로 검색하여 adafruit사가 배포한 것을 설치하면된다.

- GitHub의 라이브러리 : https://github.com/adafruit/DHT-sensor-library

 



문서자료

- Datasheet :  Digital+humidity+and+temperature+sensor+AM2302.pdf

                    DHT22.pdf


Wiki Page

- 메카솔루션 커뮤니티 자료

- Adafruit dht 자료(파이썬코드 자료) : dht.pdf


- 라즈베리파이 연결 : https://github.com/ccoong7/DHT22

- 메카솔루션 : [라즈베리파이 강좌] DHT11(온습도 센서) 사용하기 - C편


동작 원리


#습도 센서 동작원리

 습도 센서는 공기 중의 수분의 양을 측정하는 센서이기 때문에 어느 정도의 면적, 공기와 닿는 부분을 가지고 있어야 한다. 전기적으로 습도를 측정하는 방법은 정전 용량 감지형과 저항 감지 형이 있다. 정전 용량을 감지하는 방식으로 측정하는 센서는 정밀도가 높으나 가격이 높다. 기본 적으로 저렴한 모델에서는 저항 감지형을 사용한다.

저항 감지형은 옆의 그림과 같은 구조를 가지고 있다.

두 전극은 서로 연결이 되어 있지 않지만 공기 중의 수분을 통해 아주 미세하게 전류가 흐를 수 있게 된다. 이에 따라서 공기 중의 습도가 오르면 전류는 더 많이 흐르게 되는 데 이를 통해 변화된 저항 값으로 습도를 측정하게 된다.






#온도 센서 동작 원리

 물질의 저항 값이 온도에 따라 변화되는 성질을 사용한 것으로, 흔히 써미스터라고 부르는 온도 센서를 이용하여 온도를 측정한다.








'IT 이야기 > IOT 센서' 카테고리의 다른 글

NDVI 카메라  (0) 2019.01.15
SHT10 토양 온습도 센서  (0) 2019.01.14
AM2305 온습도 센서  (0) 2019.01.14
Weather Station  (0) 2019.01.11
온도센서 DS18B20  (0) 2018.07.11