산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 산업기술

아두이노 스마트 홈 자동화: 블루투스 제어 회로, 소스코드, DIY 가이드

아두이노 기반 스마트 홈 자동화 시스템 프로젝트

자동화 기술은 가정과 산업 현장에서 사람의 개입을 최소화하며 작업을 더 스마트하게 수행하도록 돕습니다. 최근 스마트폰 보급률이 높아짐에 따라, 블루투스나 Wi-Fi를 이용해 가전제품을 원격 제어하는 홈 오토메이션 수요가 급증하고 있습니다. 본 프로젝트는 아두이노 우노(Arduino UNO)와 HC-05 블루투스 모듈을 활용해 스마트폰 앱으로 조명 등 가전기기를 제어하는 시스템을 구현합니다. 특히 거동이 불편한 분들에게 큰 도움이 될 수 있는 실용적인 프로젝트입니다.

주요 구성 부품

핵심 부품 상세 설명

1. 아두이노 우노 (Arduino UNO)

ATmega328P 마이크로컨트롤러(16MHz 클럭) 탑재 오픈소스 개발 보드입니다. 14개 디지털 I/O 핀(6개 PWM 지원), 6개 아날로그 입력(10비트 ADC), USB 및 DC 잭(7~20V) 전원 입력을 지원합니다. USART(0,1번 핀), I2C(A4, A5), SPI(10~13번 핀) 통신 프로토콜을 내장해 다양한 센서 및 모듈과 연동이 용이합니다. 아두이노 IDE(C/C++ 기반)로 쉽게 프로그래밍 가능하며, setup()(초기화 1회 실행)과 loop()(반복 실행) 구조로 코드가 분리됩니다.

2. HC-05 블루투스 모듈

시리얼 통신(UART) 기반 양방향 무선 통신 모듈로, 마스터/슬레이브 모드 모두 지원합니다. 기본 보드레이트 9600bps, 통신 거리 약 10m(환경 의존). AT 명령어로 이름, 비밀번호, 보드레이트 등 설정 변경 가능합니다.

핀설명
EN/KEYHigh: AT 명령 모드, Low: 데이터 통신 모드 (기본 Low)
VCC3.3V ~ 5V 전원 입력
GND접지
TXD시리얼 데이터 송신 → 아두이노 RX(핀 0) 연결
RXD시리얼 데이터 수신 ← 아두이노 TX(핀 1) 연결
STATE연결 상태 표시 (연결 시 High)

주요 AT 명령어: AT(응답 확인), AT+NAME=이름, AT+PSWD=비번, AT+UART=9600,1,0

3. 릴레이 (Relay) - 전자기 스위치

작은 DC 신호(아두이노 출력)로 대용량 AC 부하(전구, 선풍기 등)를 제어하는 전자기 스위치입니다. 코일에 전류가 흐르면 자석이 되어 접점을 전환합니다.

단자기능
VCC / GND릴레이 구동 전원 (5V)
IN (Data)아두이노 제어 신호 입력 (High=동작)
COM공통 단자 (부하 전원 입력)
NO평시 개방 (릴레이 동작 시 COM과 연결 → 부하 ON)
NC평시 폐쇄 (릴레이 동작 시 COM과 분리 → 부하 OFF)

본 프로젝트에서는 NO(평시 개방) 접점을 사용하여 릴레이 동작 시에만 부하가 켜지도록 구성합니다.

회로도 구성 요약

  1. 아두이노 디지털 핀 8, 9, 10, 11 → 각 릴레이 모듈의 IN 핀 연결
  2. HC-05 TXD → 아두이노 RX(0), HC-05 RXD → 아두이노 TX(1) (크로스 연결)
  3. HC-05 VCC/GND → 아두이노 5V/GND, EN/KEY 핀은 GND(데이터 모드)에 연결
  4. 릴레이 COM 단자에 AC 전원(L선) 연결, NO 단자에 전구 연결 후 중성선(N)과 완결
  5. 아두이노 USB 또는 DC 잭으로 전원 공급

작동 원리

  1. 스마트폰 블루투스 켜기 → 'HC-05' 검색 → 페어링 (기본 비번: 0000 또는 1234)
  2. 'Bluetooth Terminal HC-05' 앱 실행 → 연결 확인
  3. 앱에서 bulb1 on, bulb2 off 등 명령 전송
  4. 아두이노가 시리얼 수신 → 문자열 파싱 → 해당 핀 HIGH/LOW 제어 → 릴레이 동작 → 부하 ON/OFF

아두이노 스케치 (전체 코드)

#include <SoftwareSerial.h>

int bulb1 = 8;
int bulb2 = 9;
int bulb3 = 10;
int bulb4 = 11;

SoftwareSerial bt(0, 1); // RX, TX (하드웨어 시리얼 핀 공용 사용 시 주의)
String str;

void setup() {
  bt.begin(9600);
  Serial.begin(9600);
  pinMode(bulb1, OUTPUT);
  pinMode(bulb2, OUTPUT);
  pinMode(bulb3, OUTPUT);
  pinMode(bulb4, OUTPUT);
}

void loop() {
  if (bt.available()) {
    str = bt.readStringUntil('\n'); // 줄바꿈 기준 수신 권장
    str.trim();
    Serial.println(str);

    // 각 전구 제어 로직 (예: bulb1)
    if (str == "bulb1 on") {
      digitalWrite(bulb1, HIGH);
      Serial.println("Bulb 1 is ON");
    } else if (str == "bulb1 off") {
      digitalWrite(bulb1, LOW);
      Serial.println("Bulb 1 is OFF");
    }
    // bulb2, bulb3, bulb4도 동일 패턴으로 구현
    // ...
  }
}

※ 주의: 아두이노 우노의 핀 0, 1은 하드웨어 시리얼(USB 통신)과 공유됩니다. 업로드 시 블루투스 모듈 TX/RX를 분리하거나, SoftwareSerial을 다른 핀(예: 2, 3번)으로 옮겨 사용하는 것이 안정적입니다.

코드 핵심 해설

확장 아이디어

마무리

아두이노와 블루투스, 릴레이만으로 구현 가능한 기초 홈 오토메이션 시스템을 다뤘습니다. 회도도 구성부터 부품별 상세 사양, 실전 코드까지 제공하므로 초보자도 쉽게 따라 할 수 있습니다. 안전 주의사항(AC 배선 시 감전 방지, 릴레이 정격 확인)을 반드시 준수하며 제작하시기 바랍니다.

산업기술

  1. 스마트 홈 기술이 일상을 바꾸는 방법
  2. 실리콘 랩스, 임베디드 월드 2019에서 스마트홈·빌딩 자동화용 첨단 와이어리스 게코 솔루션 공개
  3. 스마트 잠금장치 및 센서 설계: 안전한 스마트 홈을 위한 전문가 회로 보호 및 센싱 전략
  4. 재택 근무 팀을 위한 홈 오피스 배송의 5가지 난제 극복하기
  5. SERENA: TFT LCD 터치스크린 탑재 아두이노 메가 2560 커스텀 알람 시스템
  6. 1Sheeld로 스마트 홈 자동화 및 보안 시스템 구축하기
  7. 파이썬 3로 아두이노 우노 제어하기 – 시리얼 통신 LED 제어 기초
  8. 아두이노와 구글 시트로 구현하는 실시간 RFID 출석 시스템
  9. 옥토포드: 홈/산업용 스마트 IoT 자동화 솔루션
  10. WARAN 홈 오토메이션 키트: 라즈베리파이, 아두이노, 센서 통합 시스템