아두이노 릴레이 모듈: 두 판 사이의 차이
잔글 (→활용 예) |
잔글편집 요약 없음 |
||
101번째 줄: | 101번째 줄: | ||
==== 1-3. 실행 결과 ==== | ==== 1-3. 실행 결과 ==== | ||
<div class="coders70"> | |||
<youtube> 87TgBPR80e4 </youtube> | |||
</div> | |||
2024년 7월 9일 (화) 20:33 판
아두이노 릴레이 모듈은 아두이노와 같은 마이크로컨트롤러를 통해 고전압 장치를 제어할 수 있게 해주는 전자 스위치입니다.
낮은 전압의 신호로 높은 전압의 회로를 열고 닫을 수 있어, 가정용 전기 기기나 산업용 장비 등의 제어에 활용됩니다.
구성 요소
1. 릴레이 모듈 : 릴레이 모듈은 하나 이상의 릴레이와 이를 제어하기 위한 전자 회로로 구성됩니다.
2. 제어 핀 : 아두이노에서 릴레이를 제어하기 위한 신호를 입력받는 핀입니다.
3. 접점(Contacts) : 전기적 스위칭을 수행하는 부분으로, 보통 NO(Normally Open), NC(Normally Closed), COM(Common)으로 구분됩니다.
릴레이 작동 원리
전자기 원리를 이용하여 작동합니다. 내부에 코일이 있어, 제어 핀을 통해 전류가 흐르면 이 코일이 자력을 발생시켜 내부 스위치를 작동시킵니다.
1. Low Level Trigger : 제어 핀에 낮은 전압(일반적으로 0V 또는 GND)을 입력하면 릴레이가 활성화됩니다.
2. High Level Trigger : 제어 핀에 높은 전압(일반적으로 5V)을 입력하면 릴레이가 활성화됩니다.
예제 사용 하드웨어
사용 예제
1. 1채널 릴레이
1채널 릴레이의 상태를 3번 변경하는 예제입니다. 변경되는 모습은 LED를 통해 확인할 수 있습니다.
1-1. 연결
아두이노 나노 | 릴레이 | LED 적색 | LED 녹색 |
5V | VCC | ||
3.3V | 2 | ||
GND | GND | - | - |
D4 | In1 | ||
1 | + | ||
3 | + |
1-2. 예제 코드
const int relay = 4;
void setup() {
pinMode(relay, OUTPUT);
digitalWrite(relay, HIGH);
}
void loop() {
for (int i = 0; i < 3; i++) {
digitalWrite(relay, LOW);
delay(500);
digitalWrite(relay, HIGH);
delay(500);
}
delay(9999);
}
1-3. 실행 결과
2. 2채널 릴레이
2개 채널에 연결된 각 LED가 차례대로 각 LED가 켜진 후, 다시 꺼지도록 제어하는 예제입니다.
2-1. 연결
아두이노 우노 | 2채널 릴레이 모듈 | 저항1 | 저항2 | LED1 | LED2 |
GND | Gnd | K | K | ||
5V | Vcc, 2, 4 | ||||
D6 | IN1 | ||||
D7 | IN2 | ||||
1 | 연결 | ||||
3 | 연결 | ||||
연결 | A | ||||
연결 | A |
2-2. 예제 코드
#define IN1 6
#define IN2 7
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
delay(300);
digitalWrite(IN1, LOW);
delay(300);
digitalWrite(IN2, LOW);
delay(300);
digitalWrite(IN1, HIGH);
delay(300);
digitalWrite(IN2, HIGH);
delay(300);
}
void loop() {
}
2-3. 실행 결과
영상 첨부 예정
3. 4채널 릴레이
4개 채널에 연결된 각 LED가 차례대로 각 LED가 켜진 후, 다시 꺼지도록 제어하는 예제입니다.
3-1. 연결
아두이노 | 4채널 릴레이 모듈 | LED1 | LED2 | LED3 | LED4 | 저항1 | 저항2 | 저항3 | 저항4 | 5V전원 |
5V | VCC | |||||||||
GND | GND | K | K | K | K | - | ||||
D8 | IN1 | |||||||||
D9 | IN2 | |||||||||
D10 | IN3 | |||||||||
D11 | IN4 | |||||||||
1 | 연결 | |||||||||
3 | 연결 | |||||||||
5 | 연결 | |||||||||
7 | 연결 | |||||||||
2,4,6,8 | + | |||||||||
A | 연결 | |||||||||
A | 연결 | |||||||||
A | 연결 | |||||||||
A | 연결 |
3-2. 예제 코드
#define IN1 8
#define IN2 9
#define IN3 10
#define IN4 11
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(IN1 + i, OUTPUT);
digitalWrite(IN1 + i, HIGH);
}
delay(100);
for (int i = 0; i < 4; i++) {
digitalWrite(IN1 + i, LOW);
delay(100);
}
delay(1000);
for (int i = 0; i < 4; i++) {
digitalWrite(IN1 + i, HIGH);
delay(100);
}
delay(2000);
}
void loop() {
}
3-3. 실행 결과
영상 첨부 예정
4. 8채널 릴레이
4개 채널에 연결된 각 LED가 차례대로 각 LED가 켜진 후, 다시 꺼지도록 제어하는 예제입니다.
4-1. 연결
4-2. 예제 코드
const int IN8 = 4;
const int IN7 = 5;
const int IN6 = 6;
const int IN5 = 7;
const int IN4 = 8;
const int IN3 = 9;
const int IN2 = 10;
const int IN1 = 11;
void setup() {
Serial.begin(9600);
for (int i = 0; i < 8; i++) {
pinMode(IN8 + i, OUTPUT);
digitalWrite(IN8 + i, HIGH);
}
delay(100);
for (int i = 0; i < 8; i++) {
digitalWrite(IN1 - i, LOW);
delay(100);
}
delay(1000);
for (int i = 0; i < 8; i++) {
digitalWrite(IN1 - i, HIGH);
delay(100);
}
}
void loop() {
}
4-3. 실행 결과
영상 첨부 예정
주의 사항
- 릴레이 모듈의 전원 공급이 안정적이어야 합니다.
- 고전압 장치를 다루는 경우 안전에 유의해야 합니다.
- 릴레이 모듈의 최대 전류와 전압을 초과하지 않도록 주의해야 합니다.
활용 예
1. 가정 자동화
- 조명 제어 : 릴레이를 사용하여 가정의 조명을 원격으로 켜고 끌 수 있습니다.
- 가전제품 제어 : 에어컨, 히터, 커피 머신 등 다양한 가전제품을 제어할 수 있습니다.
2. 보안 시스템
- 도어락 제어 : 릴레이를 이용하여 전자 도어락을 제어할 수 있습니다.
- 경보 시스템 : 센서와 릴레이를 연동하여 경보 시스템을 구축할 수 있습니다.
3. 자동 제어 시스템
- 온도 조절 : 온도 센서와 릴레이를 사용하여 팬이나 히터를 제어할 수 있습니다.
- 물 펌프 제어 : 수위 센서와 연동하여 물 펌프를 자동으로 제어할 수 있습니다.
4. 원격 제어
- IoT(사물인터넷) 프로젝트 : 인터넷을 통해 원격에서 릴레이를 제어하여 다양한 장치를 제어할 수 있습니다.
5. 교통 신호 제어
- 신호등: 릴레이를 사용하여 교통 신호등 시스템을 제어할 수 있습니다.