
블루투스 통신이 가능한 온습도 측정기를 구현해보려고 한다.

#include <DHT.h> // 온습도 모듈을 사용하기 위해
#include <SoftwareSerial.h> // 블루투스 모듈을 사용하기 위해
#define DHTTYPE DHT11 // DHT11
#define DHTPin 2
DHT dht(DHTPin, DHTTYPE);
SoftwareSerial BTSerial(10, 11); // HC-06, RX : 10, TX : 11
void setup() {
Serial.begin(9600); // 통신 속도 : 9600 보드 레이트
BTSerial.begin(9600); // 통신 속도 : 9600 보드 레이트
dht.begin();
}
void loop() {
// 온습도 센서가 표준규격에 맞게 교정할 시간이 필요
delay(2000);
float h = dht.readHumidity(); // 습도 읽기
float t = dht.readTemperature(); // 온도 읽기
// 에러 발생 시 시리얼 모니터에 에러 메시지 출력
if (isnan(h) || isnan(t)) {
Serial.println("DHT 센서로 값 읽기 실패!");
return;
}
// 온도와 습도의 값을 콤마로 구분하여 블루투스를 통하여 송신
BTSerial.print(t);
BTSerial.print(",");
BTSerial.print(h);
}
아두이노는 2초에 한 번씩 온도와 습도를 측정한 후 HC-06 블루투스 모듈을 통하여
스마트 폰 앱으로 전달한다.