6. DHT11 온습도 센서 사용하기

2021. 8. 23. 09:00아두이노

728x90

오늘은 아두이노에서 사용할 수 있는 DHT11 온습도 센서 예제를 실행해보도록 하겠습니다.

[이미지1] DHT11 온습도 센서 모듈

센서 모듈의 외관을 보았을때, 단자 정보 표시가 없어서 찾아보았습니다.

[이미지1]의 가운데 이미지처럼 센서를 뒤로 기울이니 각 단자가 무엇인지 확인할 수 있었습니다.

G, N, D, V가 의미하는 바는 아래와 같습니다.

G: GND
N: NC(No Connection/연결된 것이 없음)
D: Data(센서가 측정한 온습도에 대한 값을 출력하는 부분)
V: VCC

[이미지1]의 우측 이미지를 보면, 센서에 3.3[V]~5.5[V]의 전원을 넣어 주었을 때 사용 가능함을 볼 수 있습니다.

 

[이미지2] DHT11 온습도 센서 모듈의 핀 정보

[이미지2]의 제품처럼 모듈 형식으로 출시된 제품은 구매하여 사용할 때, 출력되어 있는 단자의 어떤 것이 VCC, GND, DATA인지 알지 못한다면 제품을 제대로 사용하지 못합니다.

예를 들어 VCC, GND를 반대로 연결할 경우, 센서가 타버릴 수도(사용해 보지도 못하고 고장날 수 있습니다.) 있으니 주의해야합니다.

[이미지2]의 하늘색 센서는 나와있는 단자 구성이 동일하지만, 모듈 형태로 만들어 단자를 뽑아낸 제품은 제작하는 업체에 따라 VCC, GND, DATA의 핀 자리 순서가 다를 수 있습니다.

[이미지2]의 가운데 이미지를 보시면 DHT11 센서의 4개 단자로부터 3개의 단자가 출력된 것을 볼 수 있습니다.
검정색 기판을 자세히 보면 내부에 연결된 길이 있습니다. 빨강색으로 표기한 부분이 길을 의미합니다.

 

[이미지3] DHT11, 아두이노 우노R3 연결 회로도

[이미지3]은 아두이노 보드에서 DHT11 센서에 전원을 넣어주고, DHT11 센서에서 출력된 값을 아두이노의 A0포트로 읽는 회로입니다.

[이미지3]처럼 회로를 구성했을 때, Arduino IDE에서 예제를 실행해 보려면 우선적으로 셋팅해야할 것이 있습니다.
라이브러리 2가지를 설치해야합니다.

DHT11 센서를 사용하기 위해 사용자가 센서 제작자의 의도에 맞추어 프로그램할 필요는 없습니다.
이미 라이브러리가 제작되어 있고, 이를 활용하여 입력과 출력만 수정해주면 사용자의 의도에 맞추어 사용할 수 있습니다.

아두이노의 장점인 라이브러리를 활용하겠습니다.
DHT11 사용의 편의서을 위해 라이브러리를 다운로드합니다.

필요한 아래의 2가지 항목을 설치합니다.
1. DHT sensor library
2. Adafruit Unified Sensor

[이미지4] 라이브러리 관리(라이브러리 다운로드)

라이브러리를 설치하기 위해, [이미지4]처럼 [툴] → [라이브러리 관리]를 선택합니다.

 

[이미지5] DHT sensor library 설치

[이미지5]처럼 "아두이노", "센서", "DHT11"로 검색해서 항목을 찾고, 설치할 수 있습니다.

 

[이미지6] DHT sensor library 설치된 경로

[이미지6][이미지5]에서 설치 버튼을 누른 후, 설치된 경로를 보여줍니다.
저는 아두이노 프로그램을 문서 폴더에 넣어 두었으므로, Arduino 상위 폴더가 문서로 되어 있습니다.
(설치 위치에 따라 아두이노 상위 폴더 이름은 달라질 수 있습니다.)
[DHT Sensor library] 설치를 하게 되면 [Arduino]  [libraries]  [DHT_sensor_library]가 생성됩니다.

 

[이미지7] Adafruit Unified Sensor 설치

[이미지7]처럼 "Adafruit Unified Sensor by Adafruit"로 검색해서 항목을 찾고, 설치할 수 있습니다.

 

[이미지8] Adafruit Unified Sensor가 설치된 경로

[이미지8]은 [이미지7]에서 설치 버튼을 누른 후, 설치된 경로를 보여줍니다.
[Adafruit Unified Sensor] 설치하게 되면 되면 [Arduino]  [libraries]  [Adafruit_Unified_Sensor]가 생성됩니다.

이로써, DHT11 온습도 센서를 사용하기 위한 라이브러리 설치는 완료되었습니다.

 

[이미지9] HDT11 온습도 센서 테스트 프로그램

[이미지9]경로를 통하여 예제 프로그램을 실행할 수 있습니다.
[Arduino] → [libraries] [DHT_sensor_library] [examples] [DHTtester]를 실행합니다.

 

[이미지10] DHT11을 실행하기 위한 프로그램 수정

[이미지9]의 [DHTtester] 파일을 열었을 때, 현재의 회로 구성과 소스코드의 연관성을 위해 수정할 부분이 2군데 있습니다.

우리가 사용하는 센서는 [DHT11]이므로 [DHT22][DHT11]로 변경해주고DATA를 받을 핀이 [A0]이므로 [2][A0]로 변경하면 됩니다.

[이미지10]처럼 해당 내용을 변경하고, 업로드합니다.

 

[동영상1] 예제 프로그램 업로드 후, 시리얼 모니터 확인

[] → [시리얼 모니터] 클릭 후, 창을 띄어서 프로그램을 확인할 수 있습니다.

[동영상1]에서 보듯이, 시리얼 모니터로 온도, 습도 데이터가 나오는 것을 확인할 수 있습니다.

 

728x90

'아두이노' 카테고리의 다른 글

7. HC-06 블루투스 사용하기  (0) 2021.08.24
5. 3색 LED ON/OFF  (0) 2021.08.18
4. LED 소자 설명/LED ON  (0) 2021.08.17
3. 저항 색띠 읽는 방법  (1) 2021.08.16
2. Arduino 샘플코드 실행해보기  (0) 2021.08.08