아두이노 DHT11 센서는 온습도 센서이다. 온습도 센서는 무엇일까?
온도라는 것은 원자 또는 분자가 가지고 있는 운동에너지의 크기를 말하며, 압력, 저항등의 물리량으로 변환하여 나타낸다.
온도를 측정하는 방법은 물리량을 측정하는 방법이나 사용하는 재질에 따라 다르다.
이 예제에서 사용된 DHT11 센서는 서미스터(Thermistor: thermally sensitive resistor)라 하는 반도체의 저항이 온도에 따라 변하는 특성을 이용한 온도센서를 사용한다.
일반적으로 금속산화물 반도체를 사용하며, 이는 금속에 비해 비교적 큰 저항온도계수를 갖는다.
서미스터의 저항온도계수(TCR: Temperature Coefficient of Resistance)는 일정하지 않고 온도에 따라 달라지는 특성을 보인다.
온도가 증가함에 따라 저항이 증가 하는 타입을 정온도계수(PTC:positive temperature coefficient)형이라 하며, 온도가 증가함에 따라 저항은 감소하는 타입을 부온도계수(NTC:negative temperature coefficient)형이라 합니다. DHT11은 NTC형이 사용되고 있다.
습도란 공기중의 수증기량을 말하며, 습도를 측정하는 방법도 측정하는 방법이나 사용하는 재질에 따라 많은 종류가 있다.
DHT11센서에서는 습도에 따라 저항이 변하는 정전용량 습도센서를 사용한다.
출처: https://kocoafab.cc/tutorial/view/726
온도 | 0~50도 | 쁠마 2도 |
습도 | 20~90% RH | 쁠마 5% RH |
코드는 나름 간단하다.
int pinDHT11 = 5;
SimpleDHT11 dht11(pinDHT11);
void setup() {
Serial.begin(115200);
}
void loop() {
// start working...
Serial.println("=================================");
Serial.println("Sample DHT11...");
// read without samples.
byte temperature = 0;
byte humidity = 0;
int err = SimpleDHTErrSuccess;
if ((err = dht11.read(&temperature, &humidity, NULL)) != SimpleDHTErrSuccess) {
Serial.print("Read DHT11 failed, err="); Serial.println(err);delay(1000);
return;
}
Serial.print("Sample OK: ");
Serial.print((int)temperature); Serial.print(" *C, ");
Serial.print((int)humidity); Serial.println(" H");
// DHT11 sampling rate is 1HZ.
delay(1500);
}
이제 업로드 하고 시리얼 모니터를 띄워보자.
이 방의 온도는 23도 습도는 52H 인가보다.
간단한 아두이노 실습 또 올렸다.
정말 간단하니까 부품만 사서 해보자!
https://eleparts.co.kr/EPXFKYCX
이거다! 이거 구매하자.
준비물은 아두이노 우노랑 DHT11 이랑 수-수 케이블 3개 그리고 브레드 보드 하나면 된다.
'포트폴리오' 카테고리의 다른 글
아두이노 ECG센서 심전도측정 심박 맥박 측정 키트 (AD8232 센서) 활용하기. (0) | 2019.08.14 |
---|---|
아두이노 RFID 센서 활용하기 (간단) (0) | 2019.08.14 |
아두이노 초간단 신호등 구현하기 (0) | 2019.08.13 |
아두이노, 라즈베리파이, 비글본블랙 등 여러 보드의 비교 (0) | 2019.08.10 |
5G 통신에 대한 소고 (0) | 2019.08.10 |