아두이노 릴레이 모듈: 두 판 사이의 차이

아두위키 : Arduwiki
잔글편집 요약 없음
 
(같은 사용자의 중간 판 22개는 보이지 않습니다)
1번째 줄: 1번째 줄:
{{#seo:|title=아두위키 : 아두이노 1채널 릴레이 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 1채널 릴레이 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 1채널 릴레이 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}[[파일:1채널릴레이c069대표이미지.jpg|가운데|class=coders100]]
{{#seo:|title=아두위키 : 아두이노 릴레이 모듈 가이드|title_mode=append|keywords=아두이노, 정보과학, 메이커학습, 수행평가, 릴레이 모듈, 아두이노 작품, 캡스톤작품, 아두이노 예제코드|description=아두이노로 릴레이 모듈을 제어하는 방법(기본정보, 회로, 예제 코드)을 소개합니다. 정보과학과 메이커수업에 활용가능합니다.}}


1채널 릴레이 모듈입니다.
[[파일:릴레이 사진.jpg|가운데|class=coders100]]
아두이노 릴레이 모듈은 아두이노와 같은 마이크로컨트롤러를 통해 고전압 장치를 제어할 수 있게 해주는 전자 스위치입니다.


LOW 레벨 일때 스위치가 변경 됩니다.
낮은 전압의 신호로 높은 전압의 회로를 열고 닫을 수 있어, 가정용 전기 기기나 산업용 장비 등의 제어에 활용됩니다.


고정을 위한 구멍, 현재 상태 확인용 LED가 부착되어 있습니다.


== '''사양''' ==
== '''구성 요소''' ==
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)을 입력하면 릴레이가 활성화됩니다.
 


* 작동전압 : 5V
* 아두이노 수준의 저전원 사용 권장(가정용 전원(220V) 연결 X)


== '''예제 사용 하드웨어''' ==
== '''예제 사용 하드웨어''' ==
17번째 줄: 33번째 줄:
* 릴레이
* 릴레이
* [https://gongzipsa.com/shop/1699939289 점퍼케이블]
* [https://gongzipsa.com/shop/1699939289 점퍼케이블]
* LED 적색, 녹색
* [https://gongzipsa.com/shop/1699939292 막대저항]
* [https://gongzipsa.com/shop/1699939281 LED]
 


== '''연결''' ==
== '''사용 예제''' ==
[[파일:1ch릴레이 핀맵.png|가운데|class=coders70]]
 
=== 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. 예제 코드 ====
LED를 연결하여 릴레이의 제어를 확인하는 예제입니다.<syntaxhighlight lang="c++">
<syntaxhighlight lang="c++" line="1">
const int relay = 4;
const int relay = 4;


79번째 줄: 104번째 줄:
</syntaxhighlight>
</syntaxhighlight>


=== 실행 결과 ===
 
[https://blog.naver.com/gongzipsa/223164531711 링크]에서 작동 영상을 확인해주세요.
==== 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. 교통 신호 제어

  • 신호등: 릴레이를 사용하여 교통 신호등 시스템을 제어할 수 있습니다.


구매 링크