하드웨어/IoT

8) 온도-습도 (DHT11) 센서 붙이기

늘근이 2016. 2. 10. 19:18

아래와 같은 사이트를 참고했다. (설치 가이드 및 DHT설치)

https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/temperature/

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

http://www.rasplay.org/?p=8291

https://www.youtube.com/watch?v=IHTnU1T8ETk


사전설치


일단 무작정 파이썬을 실행시키려고 하면 되지 않는다. 다음과 같은 명령어로 확실히 설치를 한다.


$ git clone https://github.com/adafruit/Adafruit_Python_DHT.git
$ cd Adafruit_Python_DHT
Adafruit_Python_DHT $ sudo apt-get update
Adafruit_Python_DHT $ sudo apt-get install build-essential python-dev python-openssl
Adafruit_Python_DHT $ sudo python setup.py install



장착하기

이제 모든 준비가 완료되었으므로, 일단 필요한건 센서와 전선이 필요하다.



구할수 있는 온도-습도 센서는 사실 두개밖에는 없는데, 한자리수까지 측정되는 DHT11 센서(33도, 34도) 와 소수점 한자리까지 측정되는 DHT22 (33.2도, 34.1도) 두가지가 있다.

파랑색은 DHT11센서이다. 거지이므로 싼 센서를 쓴다.




전선 연결은 간단하다. 현재 -쪽에 GND를 연결해준 상태 (갈색) 오른쪽 아래 세번째인가 라즈베리 GND쪽 다.

이게 -극을 타서 쭈우욱 내려와서 검은선에 만난다.

검정 선을 다시 센서쪽 GND쪽 같은 라인에 연결해주었다. (검정색)

파워 선은 라즈베리 파이쪽의 오른쪽 위 첫번째 3.3v 쪽과 연결해주었고 (파란색)

출력 선은 오른쪽 위 내번째 핀과 연결해주었다. (보라색)

그리고 파워선과 출력선 사이 10k 저항을 꼽는다


아래의 것을 참조하면 된다.




최종적으로 아래와 같은 모양이다. 옆의 LED는 신경쓰지 않아도 된다



코드는 심플하게 다음과 같이 돌려볼수 있는데,


import Adafruit_DHT as dht

h, t = dht.read_retry(dht.DHT11, 4)


간단하다. DHT11센서를 이용한다는 것과 4번 출력핀을 파라미터로 넣는것밖에 없다.


실제로 위의 사진을 통해, t 는 25도, h는 44로 제대로 뜨는것을 볼수 있다.


이제, 파이썬 코드로 무한루프로 돌아가는 코드를 그럴듯하게게 만들어볼수있다.




   import Adafruit_DHT as dht
   import time
   
  
  while True :
       h, t = dht.read_retry(dht.DHT11, 4)
       print 'Temp={0:0.1f}*C   Humidity={1:0.1f}%'.format(t,h)
       time.sleep(1)
                                



결과는 아래와 같다.




잘 보면 온도가 1도정도 올라가고 갑자기 습도가 상승한 것을 알수있다. 왜냐면 내가 뜨거운 숨결을 불어넣었기 때문이다. 아 물론 가스센서에서도 향기로운 숨결을 불어넣어보면 좋겠지만 일단은 내일 출근을 해야하기때문에 끈다.




기타사항


  no module named raspberry_pi_2_driver

위와같은 에러가 나면 sudo python을 통해서 권한을 주고 시작한다.