아두이노

DHT11 온습도 센서값을 블루투스로 스마트폰에 전송하기 — HC-06 연동 실습

게임교수 2025. 4. 18. 07:30
반응형

📡 DHT11 온습도 센서값을 블루투스로 스마트폰에 전송하기 — HC-06 연동 실습

이번 실습에서는 아두이노와 HC-06 블루투스 모듈을 사용하여 DHT11 센서로 측정한 온도/습도 값을 스마트폰으로 전송해봅니다.

이 구조는 **IoT의 가장 기본적인 통신 구조**이며, 센서 → MCU → 무선 전송 → 스마트 디바이스의 흐름을 이해할 수 있습니다.

🧰 준비물

  • 아두이노 UNO
  • DHT11 온습도 센서
  • HC-06 블루투스 모듈
  • 스마트폰 (Android)
  • Bluetooth Serial Terminal 앱 또는 App Inventor 기반 앱

🔌 회로 연결

  • DHT11 DATA → D2
  • HC-06 TX → 아두이노 RX (D0)
  • HC-06 RX → 아두이노 TX (D1) ※ 전압 분할 권장
  • HC-06 VCC → 5V / GND → GND

💻 코드 작성: 시리얼로 센서값 전송

#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    Serial.println("센서 오류");
  } else {
    Serial.print("온도: ");
    Serial.print(t);
    Serial.print("°C | 습도: ");
    Serial.print(h);
    Serial.println("%");
  }

  delay(2000);
}

Serial.begin(9600)은 HC-06 기본 속도와 맞춰야 하며, 스마트폰 앱에서는 시리얼 문자열을 그대로 수신하게 됩니다.

📱 스마트폰에서 수신 방법

  • Android: Bluetooth Serial Terminal 또는 App Inventor 앱에서 "연결 → 포트 열기 → 실시간 수신"
  • HC-06 기본 페어링 비밀번호는 1234 또는 0000

✅ 실습 확인 포인트

  • 센서값이 시리얼 문자열 형태로 출력되는가?
  • 앱에서 값이 실시간으로 갱신되는가?
  • 페어링, 통신 속도, RX 전압에 문제는 없는가?

📚 마무리

이번 실습을 통해 아두이노가 센서 데이터를 측정하고, 그 값을 HC-06 블루투스 모듈을 통해 스마트폰으로 전송하는 구조를 완성했습니다.

이제 단순 표시를 넘어, 스마트폰 → 아두이노로 설정값 전송양방향 통신

반응형