반응형
아두이노 + 타이머 + 릴레이 제어 – 시간 설정으로 전원 자동 ON/OFF 구현하기
정해진 시간에 전기를 켜거나 끄는 시스템, 어렵지 않을까요?
이번 글에서는 아두이노와 릴레이 모듈을 이용해 시간 설정 기반 자동 ON/OFF 제어 시스템을 만들어보겠습니다.
예를 들어, 1분에 한 번씩 전원을 켰다 끄거나, 사용자가 설정한 시간만큼 릴레이를 동작시키는 방식입니다.
스마트 팜, 자동 조명, 펌프 제어, 환풍기 자동화 등 다양한 분야에 활용할 수 있습니다.
📦 준비물
- 아두이노 UNO 또는 나노
- 5V 릴레이 모듈 (1채널 또는 다채널)
- LED 또는 220V 부하 장치 (테스트용은 LED 추천)
- 브레드보드, 점퍼 와이어
🔌 릴레이 모듈 작동 원리
릴레이는 아두이노의 디지털 출력 신호로 고전압 전원을 On/Off할 수 있게 해주는 스위치입니다.
디지털 핀을 HIGH 또는 LOW로 전환함으로써 릴레이를 작동시킬 수 있습니다.
⏱️ 타이머 제어 방식
아두이노에서 시간 제어는 2가지 방식으로 구현할 수 있습니다.
- delay() 함수: 간단하지만 블로킹 방식
- millis() 함수: 논블로킹 방식, 실시간 처리에 적합
💻 기본 코드 예제 (millis 기반, 5초 ON → 5초 OFF 반복)
const int relayPin = 7;
unsigned long previousMillis = 0;
const long interval = 5000; // 5초
bool relayState = false;
void setup() {
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // 릴레이 꺼짐 상태
}
void loop() {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
relayState = !relayState; // 상태 반전
digitalWrite(relayPin, relayState ? HIGH : LOW);
}
}
📘 예제 설명
- millis()는 프로그램 시작 이후 경과한 시간(ms)을 반환합니다
- 5초마다 릴레이 상태를 반전시켜 ON/OFF 반복 제어
- delay() 방식보다 정확하고 다른 처리와 동시에 사용 가능
🧠 실전 활용 팁
- 스마트 조명: 밤 10시 자동 소등
- 펌프 제어: 1시간마다 10분간 작동
- 팬 제어: 일정 온도 이상 시 타이머 작동
- 센서와 연동: PIR + 릴레이 + 타이머 조합
✅ 마무리
릴레이와 타이머를 조합하면 매우 간단한 방식으로 자동 전원 제어 시스템을 만들 수 있습니다.
지금까지의 예제를 바탕으로 스마트 홈, 자동화 기기 등 다양한 분야에 적용해보세요.
향후에는 RTC 모듈(실시간 시계)과 결합하여 더 정교한 시간 기반 제어도 구현할 수 있습니다.
Arduino 자동화 시리즈 – 릴레이 타이머 제어편 | 작성자: YT
반응형
'아두이노' 카테고리의 다른 글
I2C OLED 디스플레이 출력하기 – SSD1306 & U8g2 라이브러리 완전 활용법 (0) | 2025.04.21 |
---|---|
아두이노 프로젝트 시리즈 목차 – 입문부터 응용까지 완성형 가이드 (0) | 2025.04.19 |
TJC3224T124-011R HMI LCD 아두이노 연동 가이드 – 중국 Nextion 유사 LCD 개발부터 통신까지 (0) | 2025.04.19 |
Nextion + 아두이노 통신 명령어 종합 가이드 – 텍스트, 버튼, 페이지 전환까지 완벽 정리 (0) | 2025.04.19 |
아두이노 + USART HMI LCD 사용법 – Nextion LCD로 터치 UI 만들기 (0) | 2025.04.19 |