아두이노는 다양한 센서를 통해 계측값을 획득할 수 있는데, 온도와 습도값을 얻을 수 있는 센서에 대한 글을 정리하겠습니다. 온도와 습도를 센싱하는 장치는 DHT11 센서를 사용했습니다.
온도와 습도를 센싱함으로써, 이를 활용하여 쾌적환 생활 환경을 유지할 수 있습니다. 온도와 습도값을 계측하고 온도와 습도를 조절하는 에어컨, 난방기 또는 가습기 등을 자동으로 제어함으로써 원하는 온도와 습도를 유지할 수 있습니다.
아두이노에 DHT11 센서를 연결한 회로도는 다음과 같습니다.
DHT11 센서는 4개의 핀이 있는데, 왼쪽부터 VCC, Data, NC, GND입니다. Data 핀으로 온도와 습도값이 들어오는데 위의 회로도처럼 아두이노의 D2에 연결하였습니다. 아래의 화면은 실제 구동되는 모습인데요. 습도와 온도를 시리얼 LCD를 통해 표시하고 있습니다.
스케치 코드는 다음과 같습니다.
#include
#define DHT11PIN 2
Dht11 DHT11(DHT11PIN);
void setup() {
Serial.begin(9600);
Serial.print("$CLEAR\r\n");
}
void loop() {
Serial.println("\n");
int chk = DHT11.read();
if(chk == Dht11::OK) {
Serial.print("$GO 1 1\r\n");
char szHumidity[30];
sprintf(szHumidity, "$PRINT Humidity: %d%%\r\n", (int)DHT11.getHumidity());
Serial.print(szHumidity);
Serial.print("$GO 2 1\r\n");
char szTemperature[30];
sprintf(szTemperature, "$PRINT Temperature: %dC\r\n", (int)DHT11.getTemperature());
Serial.print(szTemperature);
}
delay(1000);
}
DHT11 센서를 통해 값을 쉽게 얻기 위해 https://github.com/adalton/arduino/tree/master/projects/Dht11_Library 에서 제공되는 라이브러리를 사용했습니다.