온습도 센서(Temperature and Humidity sensor)는 환경 측정에서 중요하면서도 기본적인 센서로 많이 사용됩니다. 중요하지만 비교적 흔하게 구할 수 있는 센서라 시중에 다양한 종류의 제품이 있고 기능적으로는 큰 차이가 나지 않습니다. 하지만 사용 장소나 측정 목적에 따라서 차별점은 분명하기 때문에 적합한 제품으로 선택할 필요가 있습니다. (단순 온습도 경향만 측정하는데 너무 비싼 센서를 사용할 필요는 없죠 ㅎㅎ) 오늘은 아두이노(Arduino)에서 많이 사용되고 있는 온습도 센서의 종류 및 사용법를 알아보고 각각의 특징을 살펴보도록 하겠습니다.
아두이노(Arduino) 온습도 센서(Temperature and Humidity sensor) 종류
1. DHT11
온라인상에서 가장 흔하게 찾아볼 수 있는 센서입니다. 가격이 저렴한 만큼 온도와 습도의 측정 가능한 범위가 온도는 0 ~ 50 ℃, 습도는 20 ~ 80 %로 비교적 제한적이고 측정주기 또한 2초 간격으로 측정 가능합니다. 온도가 급격히 변하지 않는 실내의 온습도를 측정하는데 적합할 듯합니다. 또한 가격이 저렴하기 때문에 다량으로 필요할 때도 좋을 듯합니다. DHT11 온습도 센서의 사용법과 프로그램 코딩 방법 링크 및 라이브러리 파일 첨부하께요~ 참고 부탁드립니다.
DHT11 온습도 센서 모듈(DHT11 module)
동작 전압 (Power) | 3~5 V DC |
온도 측정 범위 (Temperature range) | 0 ~ 50 ℃ (±2 ℃) |
습도 측정 범위 (Humidity range) | 20 ~ 80 % (±5 %) |
최대소비전력 (Max. current) | 2.5 mA |
데이터 주기 (sampling rate) | 0.5 Hz (2초당) |
DHT_Library.zip
0.01MB
2. DHT22 (AM2302)
DHT11 온습도 센서 업그레이드 버전으로 역시 온라인상에서 흔하게 찾아볼 수 있는 센서입니다. DHT11에 비해 조금 더 비싸지만 충분히 저렴합니다. 측정 가능한 범위는 온도가 -40 ~ 80 ℃, 습도는 0 ~ 100 % 범위로 가능하고 측정주기는 1초 간격으로 측정됩니다. 왠만한 실내외의 온습도는 측정 가능할 듯 하고 가격이 저렴하기 때문에 다량으로 필요할 때도 좋을 듯합니다. 사용법과 라이브러리는 DHT11과 거의 동일합니다. 프로그램 코딩에서 DHT11을 DHT22로 바꿔주기만 하면 됩니다. 아래 코드블럭 참고 부탁드려요~
DHT22 온습도 센서 모듈(DHT22 module)
동작 전압 (Power) | 3.3~5.5 V DC |
온도 측정 범위 (Temperature range) | -40 ~ 80 ℃ (±0.5 ℃) |
습도 측정 범위 (Humidity range) | 0 ~ 100 % (±2~5 %) |
최대소비전력 (Max. current) | 2.5 mA |
데이터 주기 (sampling rate) | 1 Hz (1초당) |
#include<dht.h>
dht DHT;
#define DHT22_PIN 2
float hum; //Stores humidity value
float temp; //Stores temperature value
void setup() {
Serial.begin(9600);
}
void loop() {
DHT.read22(DHT22_PIN);
hum = DHT.humidity;
temp = DHT.temperature;
Serial.print("Humidity: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(temp);
Serial.println(" Celsius");
delay(1000); //Delay 1 sec.
}
3. AM2301 (DHT21)
DHT 온습도 센서 시리즈의 다른 형태 버전으로 AM2301 센서입니다. DHT11와 DHT22에 비해 더 비싸지만 회로를 감싸는 외부 케이스가 있어서 실외에서 사용하기 괜찮습니다. 측정 가능한 범위는 온도는 -40 ~ 80 ℃, 습도는 0 ~ 99.9 % 범위로 측정 가능하고 측정주기는 1초 간격으로 측정됩니다. 왠만한 실내외의 온습도는 측정 가능할 듯하고 내부 회로가 보호되기 때문에 실외 환경에서도 사용하기도 좋습니다. 역시 사용법과 라이브러리는 DHT11, DHT22와 거의 동일합니다. 프로그램 코딩에서 DHT11을 DHT21로 바꿔주기만 하면 됩니다. 아래 코드블럭 참고 부탁드려요~
AM2301 온습도 센서 모듈(AM2301 module)
동작 전압 (Power) | 3.3~5.2 V DC |
온도 측정 범위 (Temperature range) | -40 ~ 80 ℃ (±0.5 ℃) |
습도 측정 범위 (Humidity range) | 0 ~ 99.9 % (±3 %) |
최대소비전력 (Max. current) | 2.5 mA |
데이터 주기 (sampling rate) | 1 Hz (1초당) |
#include<dht.h>
dht DHT;
#define DHT21_PIN 2
float hum; //Stores humidity value
float temp; //Stores temperature value
void setup() {
Serial.begin(9600);
}
void loop() {
DHT.read21(DHT21_PIN);
hum = DHT.humidity;
temp = DHT.temperature;
Serial.print("Humidity: ");
Serial.print(hum);
Serial.print(" %, Temp: ");
Serial.print(temp);
Serial.println(" Celsius");
delay(1000); //Delay 1 sec.
}
4. AM2305
AM23XX 시리즈 센서입니다. DHT11와 DHT22에 비해 더 비싸지만 측정오차가 가장 작고 회로를 감싸는 외부 케이스가 있어서 실외에서 사용하기 좋습니다. 측정 가능한 범위는 온도는 -40 ~ 80 ℃, 습도는 0 ~ 99.9 % 범위로 측정 가능하고 측정주기는 1초 간격으로 측정됩니다. 왠만한 실내외의 온습도는 측정 가능할 듯하고 내부 회로가 보호되기 때문에 실외 환경에서도 사용하기도 좋습니다.
AM2305 온습도 센서 모듈(AM2305 module)
동작 전압 (Power) | 3.3~5 V DC |
온도 측정 범위 (Temperature range) | -40 ~ 80 ℃ (±0.3 ℃) |
습도 측정 범위 (Humidity range) | 0 ~ 99.9 % (±2 %) |
최대소비전력 (Max. current) | 2.5 mA |
데이터 주기 (sampling rate) | 1 Hz (1초당) |
▼ 같은 제품 구매하시려면 아래 링크!! ▼
실외에서 온도를 측정할 때는 태양의 복사열(Radiation)으로 인해 실제 온도보다 더 높게 측정됩니다. 그렇기 때문에 실외 환경 측정기들은 보통 백엽상(radiation shield)으로 보호됩니다. 예전에는 사진같은 백엽상을 많이 보셨을 건데요 기상청에서도 측정방식이 바뀌면서 최근에는 아마 볼 수 있는 곳이 드물겁니다.
백엽상 https://www.hankookilbo.com/News/Read/201808020958716535
그래서 백엽상 역할을 하는 Radiation shield(미니백엽상) 제품이 판매되고 있습니다. 실외에서 온습도 센서를 사용할 때는 정확한 측정을 위해 미니백엽상에 넣어 사용하는게 좋습니다. AM2305 제품이 길게 생긴 이유도 Radiation shield안에 설치하기 좋은 형태로 보입니다. 아마 온라인상에서 AM2305 전용 Radiation shield 제품도 판매하지 않을까요? ㅎㅎ
Radiation shield
* 접촉식 온도센서
접촉식 온도센서로 아두이노로 자주 사용되는 센서입니다. 직접 사용해보지는 않았지만 방수가 되기 때문에 어항 물의 온도나 뜨거운 액체의 온도를 측정할 때 유용할 듯 합니다. 그러나 접촉식으로 대류와 접촉에 따른 온도 전달은 다를 수 있기 때문에 공기 중의 온도도 잘 반영되는지는 실험해 보는게 좋을 듯 합니다.
아두이노 접촉식 온도 센서
동작 전압 (Power) | 3.0~5.5 V DC |
온도 측정 범위 (Temperature range) | -10 ~ 85 ℃ (±0.5 ℃) |
데이터 주기 (Query time) | 750ms |
특징 | 방수가능 |
출처: https://it-g-house.tistory.com/entry/Arduino-아두이노-온습도-센서Temperature-and-Humidity-sensor-종류-및-특징?category=737611 [IT-G-House]
'Arduino' 카테고리의 다른 글
[아두이노] 시리얼 통신 (0) | 2021.12.04 |
---|---|
소프트웨어 시리얼(SoftwareSerial) 통신 (0) | 2021.12.04 |
아두이노 소프트웨어 시리얼(SoftwareSerial) 통신 (0) | 2021.12.04 |
아두이노 - 시리얼통신 주요함수와 예제, String class (0) | 2021.09.02 |
MUX(Multiplex) 사용방법 (0) | 2021.08.20 |