아두이노 릴레이 모듈

아두위키 : Arduwiki


아두이노 릴레이 모듈은 아두이노와 같은 마이크로컨트롤러를 통해 고전압 장치를 제어할 수 있게 해주는 전자 스위치입니다.

낮은 전압의 신호로 높은 전압의 회로를 열고 닫을 수 있어, 가정용 전기 기기나 산업용 장비 등의 제어에 활용됩니다.


구성 요소

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. 교통 신호 제어

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


구매 링크