아두이노 릴레이 모듈: 두 판 사이의 차이
잔글 (→연결) |
잔글편집 요약 없음 |
||
(같은 사용자의 중간 판 19개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
{{#seo:|title=아두위키 : 아두이노 | {{#seo:|title=아두위키 : 아두이노 릴레이 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 릴레이 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 릴레이 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}} | ||
[[파일:릴레이 사진.jpg|가운데|class=coders100]] | |||
아두이노 릴레이 모듈은 아두이노와 같은 마이크로컨트롤러를 통해 고전압 장치를 제어할 수 있게 해주는 전자 스위치입니다. | |||
낮은 전압의 신호로 높은 전압의 회로를 열고 닫을 수 있어, 가정용 전기 기기나 산업용 장비 등의 제어에 활용됩니다. | |||
== '''구성 요소''' == | |||
1. '''릴레이 모듈''' : 릴레이 모듈은 하나 이상의 릴레이와 이를 제어하기 위한 전자 회로로 구성됩니다. | |||
2. '''제어 핀''' : 아두이노에서 릴레이를 제어하기 위한 신호를 입력받는 핀입니다. | |||
3. '''접점(Contacts)''' : 전기적 스위칭을 수행하는 부분으로, 보통 NO(Normally Open), NC(Normally Closed), COM(Common)으로 구분됩니다. | |||
[[파일:릴레이 접점.jpg|가운데|class=coders100]] | |||
== '''릴레이 작동 원리''' == | |||
전자기 원리를 이용하여 작동합니다. 내부에 코일이 있어, 제어 핀을 통해 전류가 흐르면 이 코일이 자력을 발생시켜 내부 스위치를 작동시킵니다. | |||
[[파일:릴레이 원리.jpg|가운데|class=coders100]] | |||
1. '''Low Level Trigger''' : 제어 핀에 낮은 전압(일반적으로 0V 또는 GND)을 입력하면 릴레이가 활성화됩니다. | |||
2. '''High Level Trigger''' : 제어 핀에 높은 전압(일반적으로 5V)을 입력하면 릴레이가 활성화됩니다. | |||
== '''예제 사용 하드웨어''' == | == '''예제 사용 하드웨어''' == | ||
17번째 줄: | 33번째 줄: | ||
* 릴레이 | * 릴레이 | ||
* [https://gongzipsa.com/shop/1699939289 점퍼케이블] | * [https://gongzipsa.com/shop/1699939289 점퍼케이블] | ||
* LED | * [https://gongzipsa.com/shop/1699939292 막대저항] | ||
* [https://gongzipsa.com/shop/1699939281 LED] | |||
== ''' | |||
== '''사용 예제''' == | |||
=== 1. 1채널 릴레이 === | |||
1채널 릴레이의 상태를 3번 변경하는 예제입니다. 변경되는 모습은 LED를 통해 확인할 수 있습니다. | |||
==== 1-1. 연결 ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
| colspan="1" rowspan="1" |아두이노 나노 | | colspan="1" rowspan="1" |아두이노 나노 | ||
39번째 줄: | 62번째 줄: | ||
| colspan="1" rowspan="1" |GND | | colspan="1" rowspan="1" |GND | ||
| colspan="1" rowspan="1" |GND | | colspan="1" rowspan="1" |GND | ||
| colspan="1" rowspan="1" |- | | colspan="1" rowspan="1" | - | ||
| colspan="1" rowspan="1" |- | | colspan="1" rowspan="1" | - | ||
|- | |- | ||
| colspan="1" rowspan="1" |D4 | | colspan="1" rowspan="1" |D4 | ||
49번째 줄: | 72번째 줄: | ||
| colspan="1" rowspan="1" | | | colspan="1" rowspan="1" | | ||
| colspan="1" rowspan="1" |1 | | colspan="1" rowspan="1" |1 | ||
| colspan="1" rowspan="1" |+ | | colspan="1" rowspan="1" | + | ||
| colspan="1" rowspan="1" | | | colspan="1" rowspan="1" | | ||
|- | |- | ||
55번째 줄: | 78번째 줄: | ||
| colspan="1" rowspan="1" |3 | | colspan="1" rowspan="1" |3 | ||
| colspan="1" rowspan="1" | | | colspan="1" rowspan="1" | | ||
| colspan="1" rowspan="1" |+ | | colspan="1" rowspan="1" | + | ||
|} | |} | ||
[[파일:1ch릴레이핀맵.jpg|가운데|class=coders100]] | |||
[[파일:1ch릴레이회로.png|가운데|class=coders100]] | [[파일:1ch릴레이회로.png|가운데|class=coders100]] | ||
== | ==== 1-2. 예제 코드 ==== | ||
<syntaxhighlight lang="c++" line="1"> | |||
const int relay = 4; | const int relay = 4; | ||
79번째 줄: | 104번째 줄: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 실행 결과 === | |||
[ | ==== 1-3. 실행 결과 ==== | ||
<div class="coders70"> | |||
<youtube> e_-GmofVKiM </youtube> | |||
</div> | |||
=== 2. 2채널 릴레이 === | |||
2개 채널에 연결된 각 LED가 차례대로 각 LED가 켜진 후, 다시 꺼지도록 제어하는 예제입니다. | |||
==== 2-1. 연결 ==== | |||
{| class="wikitable" | |||
| colspan="1" rowspan="1" |아두이노 우노 | |||
| colspan="1" rowspan="1" |2채널 릴레이 모듈 | |||
| colspan="1" rowspan="1" |저항1 | |||
| colspan="1" rowspan="1" |저항2 | |||
| colspan="1" rowspan="1" |LED1 | |||
| colspan="1" rowspan="1" |LED2 | |||
|- | |||
| colspan="1" rowspan="1" |GND | |||
| colspan="1" rowspan="1" |Gnd | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" |K | |||
| colspan="1" rowspan="1" |K | |||
|- | |||
| colspan="1" rowspan="1" |5V | |||
| colspan="1" rowspan="1" |Vcc, 2, 4 | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
| colspan="1" rowspan="1" | | |||
|- | |||
| colspan="1" rowspan="1" |D6 | |||
| 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" |D7 | |||
| 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" |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" |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" |A | |||
|} | |||
[[파일:2ch릴레이 핀맵.jpg|가운데|class=coders100]] | |||
[[파일:2채널릴레이회로.jpg|가운데|class=coders100]] | |||
==== 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. 실행 결과 ==== | |||
<div class="coders70"> | |||
<youtube> 87TgBPR80e4 </youtube> | |||
</div> | |||
=== 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|가운데|class=coders100]] | |||
[[파일:4ch릴레이회로.jpg|가운데|class=coders100]] | |||
==== 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. 실행 결과 ==== | |||
<div class="coders70"> | |||
<youtube> cyfvtv7N3Fc </youtube> | |||
</div> | |||
=== 4. 8채널 릴레이 === | |||
4개 채널에 연결된 각 LED가 차례대로 각 LED가 켜진 후, 다시 꺼지도록 제어하는 예제입니다. | |||
==== 4-1. 연결 ==== | |||
[[파일:8ch릴레이회로.jpg|가운데|class=coders100]] | |||
==== 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. 실행 결과 ==== | |||
<div class="coders70"> | |||
<youtube> KzbRulUfJUo </youtube> | |||
</div> | |||
== '''주의 사항''' == | |||
*릴레이 모듈의 전원 공급이 안정적이어야 합니다. | |||
*고전압 장치를 다루는 경우 안전에 유의해야 합니다. | |||
*릴레이 모듈의 최대 전류와 전압을 초과하지 않도록 주의해야 합니다. | |||
== '''활용 예''' == | |||
'''1. 가정 자동화''' | |||
* 조명 제어 : 릴레이를 사용하여 가정의 조명을 원격으로 켜고 끌 수 있습니다. | |||
* 가전제품 제어 : 에어컨, 히터, 커피 머신 등 다양한 가전제품을 제어할 수 있습니다. | |||
'''2. 보안 시스템''' | |||
* 도어락 제어 : 릴레이를 이용하여 전자 도어락을 제어할 수 있습니다. | |||
* 경보 시스템 : 센서와 릴레이를 연동하여 경보 시스템을 구축할 수 있습니다. | |||
'''3. 자동 제어 시스템''' | |||
* 온도 조절 : 온도 센서와 릴레이를 사용하여 팬이나 히터를 제어할 수 있습니다. | |||
* 물 펌프 제어 : 수위 센서와 연동하여 물 펌프를 자동으로 제어할 수 있습니다. | |||
'''4. 원격 제어''' | |||
* IoT(사물인터넷) 프로젝트 : 인터넷을 통해 원격에서 릴레이를 제어하여 다양한 장치를 제어할 수 있습니다. | |||
'''5. 교통 신호 제어''' | |||
* 신호등: 릴레이를 사용하여 교통 신호등 시스템을 제어할 수 있습니다. | |||
== '''구매 링크''' == | == '''구매 링크''' == | ||
* [https://gongzipsa.com/shop/1699939308 공집사몰] | * [https://gongzipsa.com/shop/1699939308 공집사몰] | ||
* [https://smartstore.naver.com/gongzipsa/products/7526294900 공집사 스마트스토어] | * [https://smartstore.naver.com/gongzipsa/products/7526294900 공집사 스마트스토어] |
2024년 8월 6일 (화) 13:51 기준 최신판
아두이노 릴레이 모듈은 아두이노와 같은 마이크로컨트롤러를 통해 고전압 장치를 제어할 수 있게 해주는 전자 스위치입니다.
낮은 전압의 신호로 높은 전압의 회로를 열고 닫을 수 있어, 가정용 전기 기기나 산업용 장비 등의 제어에 활용됩니다.
구성 요소
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. 교통 신호 제어
- 신호등: 릴레이를 사용하여 교통 신호등 시스템을 제어할 수 있습니다.