미세먼지 말고 온도랑 습도도 측정해 보고 싶다면
앞서 LCD Keypad Shield 를 이용해서 회로를 단순화 시켜보았다. 회로가 단순해 지니 좀 더 기능을 확장해 보고 싶지 않은가? 여기서는 온도, 습도 센서를 이용해서 온도와 습도를 측정해 보는 방법에 대해 알아 볼 것이다. 그리고 라이브러리에 대해서 알아 볼 것이다. 잘 되면 다음장에서는 미세먼지, 온도, 습도를 한번에 측정해 볼 것이다.
준비물: DHT11 온습도 센서 모듈
DHT11 은 저렴하고 대중적인 온습도 센서이다. 2~3천원 정도로 저렴하고 온도와 습도를 한번에 측정 할 수 있다.
DHT11 을 그냥 사용할수도 있겠지만 그냥 사용하기에는 저항도 달아 주어야 해서 회로 구성하기가 번거롭다. 그래서 모듈형식으로 나온 제품들이 몇가지 있으니 모듈로 만들어진 제품을 구입하도록 하자. DHT11 은 핀이 4개 인데 DHT11 모듈은 핀이 3개로 좀 더 단순하다. 모듈에 저항이 이미 부착되어 있기 때문에 추가로 저항을 연결 해 줄 필요 없이 연결이 가능하다.
Arduino 에 LCD Keypad Shield 를 부착한 보드에 DHT11 모듈을 연결해 보자. 간혹 DHT11 모듈마다 핀의 순서가 다른 경우가 있기 때문에 순서를 잘 확인 하도록 하자. 이번 실습에 사용한 모듈은 핀이 GND, DATA, VCC 순으로 되어 있다. 아래와 같이 회로를 구성해 보자.
Arduino IDE 에는 LCD 라이브러리가 기본 설치 되어 있었다. 그래서 LCD 를 사용할 떄에는 라이브러리를 별도로 설치해 주지는 않았다. 하지만 이 세상에는 수많은 부품들이 존재하며 모든 라이브러리를 제공해 주기는 어렵다. 기본적으로 제공 되지 않는 라이브러리는 설치를 해서 사용 가능하다. Arduino IDE 에는 라이브러리르 쉽게 검색해서 설치 할 수 있게 해 주는 Library Manager 라는 기능을 제공한다. 만약 여기서 설치 할 수 없는 라이브러리는 인터넷검색을 해서 찾아서 설치 해야 한다. 라이브러리가 없는 부품도 있기 마련인데 그런 경우에는 Specification 문서를 보고 직접 만들어 주어야 하는데 하드웨어에 대한 지식이 없다면 직접 만들기는 매우 어렵다. 다행히도 대중적인 부품들은 대부분 쉽게 라이브러리를 구할 수 있으니 걱정하지 말자.
Library Manager 에서 SimpleDTH 라이브러리를 설치 해 보자.
Sketch -> Include Library -> Manage Libraries... 를 선택한다.
그리고 검색창에 DHT 를 검색하고 SimpleDHT 라는 라이브러리를 설치하자.
~/Documents/Arduino/libraries 디렉토리에 가 보면 라이브러리가 설치 된 것을 확인 할 수 있다.
만약 인터넷에서 라이브러리를 직접 다운로드 받은 경우 ~/Documents/Arduino/libraries 디렉토리에 직접 설치 해 주면 된다는 것을 추측해 볼 수 있다.
다음과 같이 코드를 작성해 보자.
SimpleDHT 라이브러리를 사용하기 위해 #include <SimpleDHT.h> 코드가 추가된 것을 볼 수 있다.
dht11.read 함수를 통해서 temperature 와 humidity 변수에 측정값을 저장하고 있다. 그리고 측정된 값을 LCD 에 출력한다.
앞서 실습했던 먼지센서에 비하여 무척 쉽게 완성하였다. 다음에는 먼지센서도 같이 연결 해 볼 것이다.