brunch

You can make anything
by writing

C.S.Lewis

by Cylogic Sep 02. 2020

25. 온, 습도센서 사용법

이번 강좌에서는 온도 습도를 측정하는 센서를 이용해서 온도와 습도를 알아보는 장치를 만들어 보자.

지금까지 배웠던 내용에서 조도센서, 초음파 센서 등을 통하여 센서가 측정할 수 있는 값을 읽었듯이, 온도 습도 센서 역시 해당 값을 측정하여 아두이노에게 전달한다.


조도 센서와 초음파 센서는 마치 스위치를 사용하듯이 특정 값에서 모터를 켜거나 LED를 켰지만, 온도와 습도는 아날로그 데이터를 디지털 데이터로 바꿔 우리의 눈에 보여주는 것이 목적이므로 해당 값을 어떻게 우리에게 보여줄 것인가를 결정하여야 한다.


아래의 2가지 방법을 사용이 있고, 이 강좌에서는 그 첫 번째 방법을 보여준다.

두 번째 방법은 다음 강좌에서 마저 설명하겠다.


1.  Serial 모니터를 통해 아두이노 프로그램을 수행하는 컴퓨터 화면에 그 값을 보여준다


2. LCD 패널을 아두이노와 함께 장착하여 LCD 패널에 해당 값을 보여준다.


사용할 온 습도계 센서는 아래의 사진과 같이 생긴 센서로 DHT11이라는 모듈이다.

모듈이 어떻게 패킹되었냐에 따라 모습이 다를 수 있으나 아두이노와 연결하는 핀은 사진처럼 +,-,S 이렇게 3개로 구성되어 있고, 다른 센서와 마찬가지로 +는 5V, -는 GND, 그리고 가운데 있는 S 핀으로 표시된 데이터 핀은 아두이노의 디지털 핀과 연결하면 된다.

내가 가진 센서의 측정 범위는 온도 0~50도 / 습도는 20~90% 사이라고 한다.

센서마다 핀의 위치가 다르니 인쇄되어 있는 표시나  함께 제공되는 스펙 내용을 잘 확인해야 한다.


회로를 구성해 보자.

+는 전원 -는 GND 그리고 데이터 핀은 디지털 5번 핀과 연결하였다.

이제 아래의 코드를 만들어 실행하면서 동작을 확인해 보자.


우측이 코드이고 좌측이 Serial Monitor의 화면이다.

첫 번째 라인의 #include <DHT.h>를 한 번도 사용해 보지 않았다면, 아래처럼 Tools의 Manage Libraries... 메뉴를 실행하고,

DHT를 검색하여 아래의 DHT Sensor Library를 설치해 주어야 한다.

이렇게 설치가 완료되면  #include <DHT.h>를 포함하여 프로그램을 만들 수 있다.

2~4번 줄까지의 내용은 DHT 라이브러리를 사용하기 위하여 필수적으로 사용하여야 하는 내용이다.

5번에 센서의 데이터 핀을 연결하고 해당 센서의 타입이 DHT11 임을 선언한 내용이다.

9번 줄의 dht.begin() 명령은 이전 라이브러리 사용 시에는 사용하지 않아도 잘 작동한 것 같은데, 이번 라이브러리를 업데이트 한 이후에는 꼭 사용해 주어야 에러가 발생하지 않았다.

14, 15번은 해당 변수에 온도와 습도를 가져오게 하는 함수 실행을 보여준다.

temp에는 온도, humid에는 습도를 가지고 온다.

아래의 Serial.print() 명령들은 이미 여러 번 설명하여 추가 설명할 필요가 없어 보인다.


실행의 결과는 위의 그림과 같다.

5초마다 확인한 내 방의 온도는 26.8 ºC이고 습도는 62% 임을 보여준다.


다음 강좌에서는 컴퓨터의 도움을 받지 않고, 아두이노 회로에 장착된 디스플레이 패널에서 이 내용을 보여주는 방법을 배워 보자.


매거진의 이전글 24. 컴퓨터 키보드로 아두이노 조종하기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari