온습도 센서 (DHT22, DHT21)
기존에 올렸던 DHT11 온습도센서가 DIY 할 때 많이 사용되기도 하고 가격도 매우 저렴합니다만… 정확도나 성능에 큰 기대를 하긴 무리입니다.
좀 더 정확한 측정값을 원하는 경우라면 DHT21, DHT22, DHT33, DHT44 등 상위 모델을 사용해야 합니다. 그리고 각 모듈별로 데이터 전송 방법이 틀리기 때문에 라이브러리를 모듈에 맞게 사용해야 합니다.
DHT 시리즈 모듈들은 아래와 같은 이름들로 표기되기도 합니다.
- DHT11 = RHT01 = …
- DHT21 = RHT02= AM2301 = HM2301
- DHT22 = RHT03= AM2302
- DHT33 = RHT04 = AM2303
- DHT44 = RHT05
DHT22 모듈은 아래와 같은 스펙을 가지고 있습니다.
- Low cost
- 3 to 5V power and I/O
- 2.5mA max current use during conversion (while requesting data)
- Good for 0-100% humidity readings with 2-5% accuracy
- Good for -40 to 80°C temperature readings ±0.5°C accuracy
- No more than 0.5 Hz sampling rate (once every 2 seconds)
- Body size 27mm x 59mm x 13.5mm (1.05″ x 2.32″ x 0.53″)
- 4 pins, 0.1″ spacing
DHT22 모듈은 아래와 같이 연결해서 사용합니다. 아두이노와의 통신에는 디지털 핀 1개만 사용됩니다.
- DHT PIN1 –> Arduino 5V
- DHT PIN2 –> 10K Resistor Arduino 5V
- DHT PIN2 –> Arduino Digital Pin 2
- DHT PIN3 –> Not Used
- DHT PIN4 –> Arduino GND
Breakout 보드와 연결된 모듈을 구입하는 경우 보다 쉽게 사용이 가능합니다. 이 경우는 아두이노의 5V(or 3.3V), GND, D2 핀에 3라인만 연결해주면 끝입니다.
앞서 말씀드린대로 DHT 모듈별로 이 핀으로 전달되는 데이터 형식이 조금씩 틀립니다. 따라서 자신이 사용하고자 하는 모듈에 맞게 라이브러리를 설치해서 사용해야 합니다.
- DHT11 라이브러리 다운로드 : 링크 하단에 라이브러리 다운로드 링크가 있습니다.
- DHT22 라이브러리
- DHT33, DHT44 : 이 모듈들은 DS18B20 센서를 내장하고 있다고 합니다. 정확치는 않지만 DS18B20 센서의 OneWire 라이브러리 사용법을 참고해야 할것 같습니다.