반응형
🧮 앱에서 설정값 전송 → 아두이노가 센서와 비교해 자동 제어
이번 실습에서는 스마트폰 앱에서 원하는 임계값(예: 30℃)을 입력하고,
아두이노가 해당 값을 기준으로 센서 데이터를 비교하여 자동으로 LED/팬 등을 제어하는 구조를 구현합니다.
드디어 아두이노와 앱이 서로 주고받는 진짜 양방향 시스템 완성입니다 😎
🧰 준비물
- 아두이노 UNO
- DHT11 온습도 센서
- HC-06 블루투스 모듈
- LED (또는 미니팬)
- MIT App Inventor
🔌 회로 구성
- DHT11 → D2, HC-06 → D0/D1
- LED → D8 + 저항
💻 아두이노 코드
#include#define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); String inputString = ""; float threshold = 30.0; // 기본 온도 기준 int ledPin = 8; void setup() { Serial.begin(9600); dht.begin(); pinMode(ledPin, OUTPUT); } void loop() { while (Serial.available()) { char c = (char)Serial.read(); if (c == '\n') { threshold = inputString.toFloat(); Serial.print("기준값 변경: "); Serial.println(threshold); inputString = ""; } else { inputString += c; } } float temp = dht.readTemperature(); Serial.print("현재온도: "); Serial.println(temp); if (temp > threshold) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } delay(2000); }
📱 앱 구성 (App Inventor)
- TextBox + Button → 기준값 입력 후 전송
- BluetoothClient.SendText로
"30\n"
형식 전송 - Label → 온도 출력
앱에서 입력한 숫자가 아두이노로 전송되고, 기준 온도 이상일 경우 자동으로 LED가 켜지는 구조입니다.
✅ 결과 확인
- 앱에서 기준값 입력 → "32" 전송
- 온도가 32℃ 넘으면 LED 켜짐
- 30으로 낮추면 다시 꺼짐 → 완벽한 조건 제어
📚 마무리
이제 앱에서 설정한 값을 기준으로 실시간 자동 제어까지 가능한 IoT 시스템이 완성됐어요!
다음은 이 데이터를 WiFi로 웹서버에 전송하거나 클라우드 저장하는 단계로도 나아갈 수 있습니다 ☁️🌐
반응형
'아두이노' 카테고리의 다른 글
아두이노와 앱의 양방향 통신 — 설정값을 앱에서 전송하고, 센서로 조건 판단하기 (0) | 2025.04.18 |
---|---|
아두이노로 온습도 측정 시스템 만들기 – DHT11 센서 완전 정복 (0) | 2025.04.18 |
조건에 따라 스마트폰에서 경고 알림 받기 (0) | 2025.04.18 |
아두이노 센서 데이터를 스마트폰 앱에서 실시간 그래프로 보기 (0) | 2025.04.18 |
센서 데이터를 앱으로 전송하기 — 스마트폰에 실시간 표시 (0) | 2025.04.18 |