본문 바로가기
Study/Arduino

Arduino] 온습도 센서 DHT-11

by Answer Choi 2016. 12. 6.
반응형




가장 많이 쓰는 온습도 센서 DHT-11입니다.


가격도 저렵하고, 저항하나만 연결해주면 측정가능합니다.


그리고 아예 모듈로 된 녀석도 있습니다.



가격은 3배나 뛰었지만 커넥터와 케이블을 제공합니다.


스펙을 보시면 온도는 0~50도, 습도는 20~90%입니다.


오차가 좀 있습니다.


개선형으로 나온 DHT-22모델입니다.




가격은 많이 비싼편이고 생긴것도 비슷합니다.


측정범위와 오차범위가 줄었습니다.


온도는 -40~80도, 오차도 ±2도에서 ±0.5도로. 


습도는 0~100%에 오차범위가 ±5%에서 ±2~5%입니다.


아두이노에서 라이브러리 추가를 들어가 dht로 검색하시면 2가지 정도 나옵니다.



가운데 라이브러리는 제가 따로 추가한 것입니다.


dht-22를 쓰시려면 첫번째 라이브러리를 받으시고, dht-11은 3번째 라이브러리로 간단하게 구현 가능합니다.


구현 코드는 example에 있는 DHT11default 를 이용하였습니다.


DHT는 1wire방식이라 라이브러리를 사용하시면 쉽게 구현할 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <SimpleDHT.h>
 
SimpleDHT11 dht11; 
#define dhtpin 2
 
void setup() {
    Serial.begin(9600);
    pinMode(dhtpin,INPUT); 
}
 
void loop(){
 
    byte temperature = 0;
    byte humidity = 0;
    if(dht11.read(dhtpin , &temperature, &humidity, NULL)) {
        Serial.print("Read DHT11 failed.");
        return;
    } 
    Serial.print("Temperature: ");
    Serial.print((int)temperature); Serial.print("?? Humidity: "); 
    Serial.print((int)humidity); Serial.println("%");
   delay(1000);
}
cs





1초마다 온도와 습도값을 가져오게 됩니다.


온도 뒤에 깨지는건 ℃ 이건데 인식을 못하네요^^;;


반응형

인기글