Home » 산딸기 가지고 놀기 » 라즈베리파이 GPIO 활용강좌 : 온습도 센서 (DHT-11)

라즈베리파이 GPIO 활용강좌 : 온습도 센서 (DHT-11)

Created Date: 2014.05.12
Modified Date: 2014.05.12
revision 1.0

 

센서를 테스트 하는게 가장 기초적으로 사용해 본다는(지극히 개인적인 생각이다.) 온습도 센서를 사용해보도록 하겠다. 센서는 DHT-11을 사용하였다. Digital Temparature/Huminidity Sensor 되겠다. https://www.adafruit.com의 소스를 사용하였다.

1. Hardware의 연결

DHT 시리즈(DHT11, 22, AM2302)의 Pin 배치이다.

500px-DHT11_hard
[출처] Electrow wiki

 

Pin 1 : VCC

Pin 2: Data ( Pull Up 저항 사용. 5k, 4.7k, 10k 중 1개 사용 )

Pin 3: Not Connect

Pin 4: GND

다음은 DHT 시리즈(DHT11, 22, AM2302)의 연결 방법이다.

[출처] Adafruit

2. Software

DHT 센서의 Data Pin을 통한 Data는 I2C, SPI등의 일반적으로 라즈베리파이에서 많이 사용되는 Protocol이 아니다. “Manchester-esque”라 불리우는 Protocol을 사용하고 있어서 라이브러리가 필요하다. 1개의 Data Pin에서 온도값과 습도값을 제공하고 있다. 우리는 Adafruit의 라즈베리파이 Example을 사용하겠다.
pi@rasplay ~ $ git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code
pi@rasplay ~ $ cd Adafruit-Raspberry-Pi-Python-Code
pi@rasplay ~ $ cd Adafruit_DHT_Driver
pi@rasplay ~ $ sudo ./Adafruit_DHT 11 4

마지막 명령어에서 11은 DHT-11을, 4는 라즈베리파이의 GPIO No. 를 의미한다. 각자에 맞게 수정하여 실행하면 되겠다.
pi@esrc ~/esrc/tempMailAlarm $ sudo ../Adafruit-Raspberry-Pi-Python-Code/Adafruit_DHT_Driver/Adafruit_DHT 11 25
Using pin #25
Data (40): 0x22 0x0 0x1d 0x0 0x3f
Temp = 29 *C, Hum = 34 %

응용 프로젝트로 다음을 참조하기 바란다.

[참고사이트]
http://www.elecrow.com/wiki/index.php?title=DHT11

https://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/overview

산딸기마을 포스트 검색

공동제작 공동프로젝트 무상후원 기관

산딸기마을 기부하기

산딸기마을 방문자 현황

Flags Countries Visits Page views
South Korea 626063 1845660
United States 10882 26091
Japan 5011 13204
Germany 2755 5151
India 1897 2902
Canada 1729 4640
United Kingdom 1596 2642
Australia 1240 2901
Russia 1219 1677
China 1077 2239
Total Pageviews: 1936700