아두이노 릴레이 모듈: 두 판 사이의 차이
잔글 (→사용 예제) |
잔글편집 요약 없음 |
||
99번째 줄: | 99번째 줄: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== 1-3. 실행 결과 ==== | ==== 1-3. 실행 결과 ==== | ||
175번째 줄: | 176번째 줄: | ||
[[파일:2ch릴레이 핀맵.jpg|4160x4160픽셀]] | [[파일:2ch릴레이 핀맵.jpg|4160x4160픽셀]][[파일:2채널릴레이회로.jpg|3899x3899픽셀]] | ||
==== 2-2. 예제 코드 ==== | |||
<syntaxhighlight lang="c++" line="1"> | |||
#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() { | |||
} | |||
</syntaxhighlight> | |||
==== 2-3. 실행 결과 ==== | |||
영상 첨부 예정 | |||
=== 3. 4채널 릴레이 === | |||
4개 채널에 연결된 각 LED가 차례대로 각 LED가 켜진 후, 다시 꺼지도록 제어하는 예제입니다. | |||
==== 3-1. 연결 ==== | |||
{| class="wikitable" | |||
| colspan="1" rowspan="1" |아두이노 | |||
| colspan="1" rowspan="1" |4채널 릴레이 모듈 | |||
| colspan="1" rowspan="1" |LED1 | |||
| colspan="1" rowspan="1" |LED2 | |||
| colspan="1" rowspan="1" |LED3 | |||
| colspan="1" rowspan="1" |LED4 | |||
| colspan="1" rowspan="1" |저항1 | |||
| colspan="1" rowspan="1" |저항2 | |||
| colspan="1" rowspan="1" |저항3 | |||
| colspan="1" rowspan="1" |저항4 | |||
| colspan="1" rowspan="1" |5V전원 | |||
|- | |||
| colspan="1" rowspan="1" |5V | |||
| colspan="1" rowspan="1" |VCC | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" |GND | |||
| colspan="1" rowspan="1" |GND | |||
| colspan="1" rowspan="1" |K | |||
| colspan="1" rowspan="1" |K | |||
| colspan="1" rowspan="1" |K | |||
| colspan="1" rowspan="1" |K | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |- | |||
|- | |||
| colspan="1" rowspan="1" |D8 | |||
| colspan="1" rowspan="1" |IN1 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" |D9 | |||
| colspan="1" rowspan="1" |IN2 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" |D10 | |||
| colspan="1" rowspan="1" |IN3 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" |D11 | |||
| colspan="1" rowspan="1" |IN4 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |1 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |3 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |5 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |7 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |2,4,6,8 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |+ | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |A | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |A | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |A | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |A | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |연결 | |||
| colspan="1" rowspan="1" | | |||
|} | |||
[[파일:4ch릴레이핀맵.jpg|3935x3935픽셀]][[파일:4ch릴레이회로.jpg|4086x4086픽셀]] | |||
==== 3-2. 예제 코드 ==== | |||
<syntaxhighlight lang="c++" line="1"> | |||
#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() { | |||
} | |||
</syntaxhighlight> | |||
==== 3-3. 실행 결과 ==== | |||
영상 첨부 예정 | |||
=== 4. 8채널 릴레이 === | |||
4개 채널에 연결된 각 LED가 차례대로 각 LED가 켜진 후, 다시 꺼지도록 제어하는 예제입니다. | |||
==== 4-1. 연결 ==== | |||
[[파일:8ch릴레이회로.jpg|3988x3988픽셀]] | |||
==== 4-2. 예제 코드 ==== | |||
<syntaxhighlight lang="c++" line="1"> | |||
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() { | |||
} | |||
</syntaxhighlight> | |||
==== 4-3. 실행 결과 ==== | |||
영상 첨부 예정 | |||
2024년 7월 9일 (화) 17:16 판
아두이노 릴레이 모듈은 아두이노와 같은 마이크로컨트롤러를 통해 고전압 장치를 제어할 수 있게 해주는 전자 스위치입니다.
낮은 전압의 신호로 높은 전압의 회로를 열고 닫을 수 있어, 가정용 전기 기기나 산업용 장비 등의 제어에 활용됩니다.
구성 요소
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. 실행 결과
영상 첨부 예정
주의 사항
- 릴레이 모듈의 전원 공급이 안정적이어야 합니다.
- 고전압 장치를 다루는 경우 안전에 유의해야 합니다.
- 릴레이 모듈의 최대 전류와 전압을 초과하지 않도록 주의해야 합니다.
활용 예
- 가정용 조명 제어
- 가전 제품 원격 제어
- 산업용 장비 자동화
- 스마트 홈 시스템 구축