첫번째로, DHT11은 아두이노에서 온습도 관련 프로젝트를 할 때
가장 많이 사용하는 온습도 센서모듈로,
온도값과 습도값 둘 다 얻을 수 있는 센서 모듈입니다.
가장 많이 사용하는 온습도 센서모듈로,
온도값과 습도값 둘 다 얻을 수 있는 센서 모듈입니다.
DHT11 센서모듈을 조금 더 편하게 사용하기 위해서는 라이브러리가 필요합니다.
아래 두개의 라이브러리 모두 설치되어 있어야 합니다.
아래 두개의 라이브러리 모두 설치되어 있어야 합니다.
아두이노 IDE - 툴 - 라이브러리 관리에서 DHT sensor library by Adafruit를 다운로드해 주세요.
아두이노 IDE - 툴 - 라이브러리 관리에서 Adafruit Unified Sensor by Adafruit를 다운로드해 주세요.
혹은 소스코드 주석에 있는 github에서 다운받으시면 됩니다.
혹은 소스코드 주석에 있는 github에서 다운받으시면 됩니다.
아두이노
|
DHT11
|
비고
|
5V
|
Vcc
|
Power
|
GND
|
GND
|
Ground
|
D5
|
OUT
|
Data
|
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
34
35
36
37
38
39
|
/*
온습도 센서 예제
온도와 습도를 출력
라이브러리 DHT sensor library by Adafruit 와
Adafruit Unified Sensor by Adafruit를 아래 링크에서 설치 해야함
https://github.com/adafruit/DHT-sensor-library
https://github.com/adafruit/Adafruit_Sensor
http://www.devicemart.co.kr/
*/
#include "DHT.h" // DHT 라이브러리 호출
#define DHTPIN 5 // 온습도 센서가 4번에 연결
#define DHTTYPE DHT11 // DHT11 온습도 센서 사용
DHT dht(DHTPIN, DHTTYPE); // DHT 설정 (4,DHT11)
void setup()
{
Serial.begin(9600); // 통신속도 9600으로 통신 시작
Serial.println("DHT11 test!"); // 문자 출력
}
void loop()
{
delay(2000);
int h = dht.readHumidity(); // 습도값을 h에 저장
int t = dht.readTemperature(); // 온도값을 t에 저장
Serial.print("Humidity: "); // 문자열 출력
Serial.print(h); // 습도값 출력
Serial.print("% ");
Serial.print("Temperature: ");
Serial.print(t); // 온도값 출력
Serial.println("C");
}
|
DHT22의 경우 DHT11 보다 더 정밀한 센서 모듈입니다.
아래는 두 제품의 비교표로 DHT보다 성능이 뛰어난걸 확인 가능합니다.
DHT11
|
DHT22
| |
작동전압
|
3.3~5VDC
|
3.3~5VDC
|
온도 측정범위
|
0~50℃
|
-40~80℃
|
온도 측정오차
|
2℃
|
0.5℃
|
습도 측정범위
|
20~80%
|
0~100%
|
습도 측정오차
|
5%
|
2%
|
측정 간격
|
1초
|
2초
|
DHT22 또한 라이브러리가 필요한데요.
라이브러리는 DHT11과 같은 라이브러리를 사용하기 때문에
위에 라이브러리를 다운받으셨다면 문제 없습니다.
DHT22 중 따로 breakout 보드없이 센서만 4개의 핀으로 되어있는
제품을 가지고 계신다면 왼쪽부터 3번째 핀은 NC핀이므로 사용하지 않아도 됩니다.
아두이노
|
DHT22
|
비고
|
5V
|
Vcc
|
Power
|
GND
|
GND
|
Ground
|
D4
|
OUT
|
Data
|
소스코드는 기존 DHT11과 같은 라이브러리를 쓰기 때문에 비슷합니다.
오브젝트에서 DHT11대신 DHT22를 넣어주시면 됩니다.
오브젝트에서 DHT11대신 DHT22를 넣어주시면 됩니다.
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
34
35
36
37
38
39
|
/*
온습도 센서 예제
온도와 습도를 출력
라이브러리 DHT sensor library by Adafruit 와
Adafruit Unified Sensor by Adafruit를 아래 링크에서 설치 해야함
https://github.com/adafruit/DHT-sensor-library
https://github.com/adafruit/Adafruit_Sensor
http://www.devicemart.co.kr/
*/
#include "DHT.h" // DHT 라이브러리 호출
#define DHTPIN 4 // 온습도 센서가 4번에 연결
#define DHTTYPE DHT22 // DHT22 온습도 센서 사용
DHT dht(DHTPIN, DHTTYPE); // DHT 설정 (4,DHT22)
void setup()
{
Serial.begin(9600); // 통신속도 9600으로 통신 시작
Serial.println("DHT11 test!"); // 문자 출력
}
void loop() {
delay(2000);
int h = dht.readHumidity(); // 습도값을 h에 저장
int t = dht.readTemperature(); // 온도값을 t에 저장
Serial.print("Humidity: "); // 문자열 출력
Serial.print(h); // 습도값 출력
Serial.print("% ");
Serial.print("Temperature: ");
Serial.print(t); // 온도값 출력
Serial.println("C");
}
|
아래는 DHT11 / DHT22를 포함한 온습도센서 판매링크 입니다.
http://www.devicemart.co.kr/goods/catalog?code=0004000400040003
http://www.devicemart.co.kr/goods/catalog?code=0004000400040003
감사합니다.
0 댓글