홈 에너지 세이버: 스마트하고 신뢰성 높은 설치형 절전 장치
부품 및 소모품
| 부품 |
수량 |
비고 |
| 파티클 포톤 (Particle Photon) |
1 |
프로젝트의 두뇌 |
| 아두이노 우노 (Arduino UNO) |
1 |
5V 릴레이 전원용 (브레드보드 전원 모듈로 대체 가능) |
| 점퍼 와이어 (일반) |
1 |
|
| 안드로이드 기기 |
1 |
블링크 앱 실행용 |
| 브레드보드 (일반) |
1 |
|
| 릴레이 모듈 (일반) |
1 |
2채널 사용, 다채널로 확장 가능 |
| 마이크로 USB - USB 케이블 |
1 |
파티클 보드 전원 공급용 |
앱 및 온라인 서비스
- 블링크 (Blynk) - 스마트폰 앱 제작 플랫폼
- 파티클 빌드 웹 IDE (Particle Build Web IDE)
프로젝트 소개
집을 비울 때 선풍기, 조명, TV, 에어컨 등이 켜진 채로 방치되어 전기가 낭비되는 경우가 많습니다. 이 프로젝트는 사용자가 집을 떠날 때 기본 가전제품이 켜져 있는지 알림을 주어 전력 낭비를 방지합니다. TV나 에어컨은 대기 전력도 상당하므로, 많은 가구에서 누적되면 큰 전력 손실이 발생합니다.
직접 만든 확장 장치를 이용해 프로젝트 작동을 시연했습니다. 제작 단계는 다음과 같습니다.
1. 하드웨어 준비물
- 파티클 포톤 (두뇌 역할)
- 브레드보드
- 릴레이 모듈 (2채널 사용, 다채널로 확장 가능)
- 릴레이용 전원 공급 장치 (파티클은 3.3V만 제공하므로 아두이노 우노나 외부 전원 사용)
- 점퍼 와이어
2. 하드웨어 조립
아래 회로도와 같이 연결합니다. 먼저 릴레이 모듈과 파티클 포톤의 핀아웃을 확인하세요.
릴레이 모듈의 INT1 핀을 파티클의 디지털 핀(예: D1, D2)에 연결합니다. 최종 회로도는 다음과 같습니다.
조립 완료 후 모습은 위 이미지와 유사합니다.
3. 앱 개발 (블링크 Blynk)
블링크 플랫폼으로 간단한 제어 앱을 만듭니다.
- 플레이스토어에서 Blynk 앱 다운로드
- 무료 계정 가입 후 새 프로젝트 생성
- 보드에서 'Particle Photon', 연결 유형 'WiFi' 선택 후 생성
- 다음 위젯 추가:
- 버튼: 릴레이 제어 (조명, 선풍기 등)
- GPS 트리거: 지정된 위치 이탈 시 동작 수행
- 알림: 집 밖으로 나갔을 때 푸시 알림 전송
4. 파티클 보드 프로그래밍
블링크 라이브러리를 사용해 파티클 포톤과 앱 간 통신을 구현합니다. 코드는 파티클 빌드 웹 IDE(build.particle.io)에 업로드합니다.
이제 프로젝트가 완성되었습니다! 직접 만들어보고 즐겨보세요. 궁금한 점은 댓글이나 메시지로 문의해 주세요.
코드
#define BLYNK_PRINT Serial
#include <SPI.h>
#include <blynk.h>
volatile int state = LOW;
char auth[] = "Your Authentication code";
BLYNK_WRITE(V0) // GPS 트리거
{
GPSflag = param.asInt(); // 플래그를 1 또는 0으로 설정
}
BLYNK_WRITE(V1) // GPS 플래그가 1일 때 작동하는 버튼
{
if (GPSflag == 1) {
digitalWrite(2, HIGH);
} else {
digitalWrite(2, LOW);
}
}
void setup() {
Serial.begin(9600);
Blynk.begin(auth);
attachInterrupt(D2, notifyOnButtonPress, RISING);
}
void notifyOnButtonPress() {
state = !state;
}
void loop() {
Blynk.run();
if (state == HIGH) {
Blynk.notify("You are out of your house!");
delay(200);
state = LOW;
}
}
회로도
회로도 이미지 참조: schematic image