개발이야기

아두이노로 만드는 스마트 홈 – 자동화의 모든 것

게임교수 2025. 3. 31. 16:32
반응형

아두이노로 만드는 스마트 홈 – 자동화의 모든 것

ESP32, DHT22, 릴레이, OLED, 스마트폰, 점퍼와이어 – 아두이노 스마트 홈 구성 요소

🏠 1. 소개

아두이노와 ESP32(또는 ESP8266)를 활용해 집을 더 똑똑하게 만들어보세요! 이 글에서는 온습도 센서와 릴레이 모듈을 활용하여 집안 환경을 자동으로 제어하는 방법을 소개합니다. 또한 Blynk 앱을 이용한 스마트폰 원격 제어 기능도 포함되어 있어, 언제 어디서든 실시간으로 집 상태를 확인하고 제어할 수 있습니다. 이 글 하나로 스마트 홈 구축의 핵심을 완벽하게 익혀봅시다. ☕

🧰 2. 준비물

  • ESP32 또는 ESP8266 보드 (Wi-Fi 내장)
  • DHT11 또는 DHT22 온습도 센서
  • 릴레이 모듈 (전등, 선풍기 등 가전 제어)
  • OLED 디스플레이 (SSD1306, 선택사항)
  • 스마트폰 (Blynk 앱 설치)
  • 점퍼 와이어
  • 브레드보드 또는 프로토타입용 기판

🔌 3. 하드웨어 연결

📍 3.1 DHT 온습도 센서 연결

  • VCC → ESP32의 3.3V
  • GND → GND
  • DATA → GPIO 4

📍 3.2 릴레이 모듈 연결

  • VCC → ESP32의 5V
  • GND → GND
  • IN → GPIO 5

💻 4. 소프트웨어 준비

📦 4.1 필요한 라이브러리 설치 아두이노 IDE에서 다음 라이브러리를 설치합니다:

  • DHT.h
  • Adafruit GFX
  • Adafruit SSD1306 (선택사항)
  • BlynkSimpleEsp32.h

📱 4.2 Blynk 앱 설정

  • Blynk 앱 설치 및 계정 생성
  • 새 프로젝트 생성 후 ESP32 선택
  • 위젯 추가: Value Display (V0), Button (V1)
  • 앱에서 발급된 Auth Token을 복사해 코드에 추가

🧾 5. 코드 작성

#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>

#define DHTPIN 4
#define RELAY_PIN 5
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

char auth[] = "YOUR_BLYNK_AUTH_TOKEN";
char ssid[] = "YOUR_WIFI_SSID";
char pass[] = "YOUR_WIFI_PASSWORD";

BlynkTimer timer;

void sendSensorData() {
    float temp = dht.readTemperature();
    Blynk.virtualWrite(V0, temp);
}

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, pass);
    Blynk.begin(auth, ssid, pass);
    dht.begin();
    pinMode(RELAY_PIN, OUTPUT);
    timer.setInterval(2000L, sendSensorData);
}

BLYNK_WRITE(V1) {
    int value = param.asInt();
    digitalWrite(RELAY_PIN, value);
}

void loop() {
    Blynk.run();
    timer.run();
}

🧪 6. 실행 및 테스트

  • Wi-Fi 정보를 입력한 후 코드를 업로드합니다.
  • ESP32가 Wi-Fi에 연결되면 Blynk 앱에서 온도를 확인하고 버튼으로 전등(릴레이)을 제어할 수 있습니다.
  • 센서값이 일정 온도를 넘을 때 자동으로 릴레이를 켜는 기능도 추가할 수 있습니다.

🚀 7. 추가 기능 확장 아이디어

  • 🎙 음성 제어: Google Assistant, Alexa 등과 연동하여 음성 명령으로 기기 제어
  • 🌐 IoT 확장: MQTT 프로토콜을 사용한 서버 통신 및 데이터 기록
  • 📊 환경 로그 저장: SD 카드나 클라우드에 센서 데이터 저장
  • 🔄 자동화 시나리오: 특정 시간 또는 조건 충족 시 자동 동작
  • 🔒 보안 기능: 비밀번호 입력 또는 RFID 태그로 기기 잠금 해제
  • 🖥 웹 대시보드: PC에서도 제어할 수 있도록 웹 UI 구성

📌 팁:

  • 전등 등의 고전압 제어 시 반드시 절연, 광커플러 사용을 추천합니다.
  • 릴레이에는 반드시 차단기 및 휴즈를 같이 사용해 과전류 보호를 고려하세요.

🏡 이제 여러분의 집도 스마트하게 자동화해보세요! 아두이노와 Blynk를 조합하면 저렴한 비용으로도 놀라운 기능들을 구현할 수 있습니다. 단순한 가젯을 넘어서 진짜 "내가 만든 스마트홈"을 경험하게 될 거예요.✨

📌 출처: ythouse.tistory.com

반응형