DC5V 4채널 릴레이 모듈을 사용하면 아두이노와 같은 마이크로 컨트롤러를 사용하여 고전압 및 고전류 장치들을 제어할 수 있다. 각 채널을 개별적으로 제어할 수 있으며 다양한 장치들을 작동 시킬 수 있다.
릴레이 핀 설명 :
1. DC+ : 5V 전원 공급 핀
2. DC- : GND 전원 접지 핀
3. IN1, IN2, IN3, IN4 : 각 릴레이 채널을 제어하는 입력 핀
4. COM : 공동 핀 (제어할 장치에 연결)
5. NO(Normally Open) : 평소에 열려있는 접점(신호를 보냈을 때 연결된다.)
6. NC(Normally Closed) : 평소에 닫혀있는 접점(신호를 보냈을 때 차단된다.)
![]() |
![]() |
![]() |
오늘은 아두이노 우노 R3에 DC5V 4채널 릴레이 모듈을 사용하여 LDE 다이오드를 제어하는 실습을 해보겠다.
준비품 :
제품에 사용될 부품으로는 아두이노 UNO R3, DC5V 4채널 릴레이, LCD1602 디스플레이, LED다이오드 4개, 220옴 저항 4개 등이 사용된다.
아두이노 우노 R3 | DC5V 4채널 릴레이 | LCD1602 디스플레이 | LED 다이오드 |
![]() |
![]() |
![]() |
![]() |
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
https://link.coupang.com/a/cdnaEv
아두이노 우노 R3 개발 보드 [ATmega328P 마이크로 컨트롤러 포함] - 액세서리 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/cdm8hq
아두이노 5V 4채널 릴레이 모듈 - 기타소형기계 | 쿠팡
쿠팡에서 5.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 2 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/b2vTO0
아두이노 LCD1602 16x2 4핀 디스플레이 모듈/ Arduino LCD1602 Module - 액세서리 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
위와 같이 부품들이 준비되면 다음과 같이 회로를 구성한다.
아래에 있는 이미지는 실제 회로연결 상태이다.
위와 같이 회로 연결이 끝나면 다음과 같이 코딩을 한다.
코딩 설명 :
먼저 4채널 릴레이 1, 2, 3, 4를 아두이노 디지털 핀 D4, D5, D6, D7로 설정한다.
// 릴레이 핀 정의
int relay1 = 4;
int relay2 = 5;
int relay3 = 6;
int relay4 = 7;
직렬 통신은 9600으로 설정하고, LCD1602 디스플레이를 초기화 한다음, 백라이트를 ON 상태로 설정한다.
다음 릴레이 핀모드를 출력으로 정하고, 릴레이 초기 상태를 LOW(꺼짐)으로 설정한다.
void setup() {
Serial.begin(9600);
lcd.init(); // LCD 초기화
lcd.backlight(); // LCD 백라이트 켬
// 릴레이 핀을 출력으로 설정
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
// 릴레이 초기 상태 설정 (LOW 상태는 OFF)
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
digitalWrite(relay3, LOW);
digitalWrite(relay4, LOW);
}
void loop 함수에서는 릴레이 1번부터 4번까지 3초 간격으로 켜졌다 꺼졌다 하는 방식으로 순차적으로 순환하도록 하였다. LCD1602 디스플레이는 각 채널에 연결된 LED 다이오드의 색상에 따라 빨간색이면 LED : R, 파란색이면 LED : B, 노란색이면 LED : Y, 초록색이면 LED : G로 디스플레이에 현시되도록 하였다.
void loop() {
// 릴레이를 순차적으로 켜고 끄기
digitalWrite(relay1, HIGH); // 릴레이1 켜기
delay(3000); // 3초 대기
digitalWrite(relay1, LOW); // 릴레이1 끄기
delay(3000);
lcd.setCursor(0,0);
lcd.print("LED:");
lcd.print("Y");
digitalWrite(relay2, HIGH); // 릴레이2 켜기
delay(3000); // 3초 대기
digitalWrite(relay2, LOW); // 릴레이2 끄기
delay(3000);
lcd.setCursor(0,1);
lcd.print("LED:");
lcd.print("G");
digitalWrite(relay3, HIGH); // 릴레이3 켜기
delay(3000); // 3초 대기
digitalWrite(relay3, LOW); // 릴레이3 끄기
delay(3000);
lcd.setCursor(7,0);
lcd.print("LED:");
lcd.print("R");
digitalWrite(relay4, HIGH); // 릴레이4 켜기
delay(3000); // 3초 대기
digitalWrite(relay4, LOW); // 릴레이4 끄기
delay(3000);
lcd.setCursor(7,1);
lcd.print("LED:");
lcd.print("B");
delay(100); // 3초 대기
lcd.clear(); // lcd 지우기
}
전체 코드 :
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// 릴레이 핀 정의
int relay1 = 4;
int relay2 = 5;
int relay3 = 6;
int relay4 = 7;
LiquidCrystal_I2C lcd (0x27,16,2);
// 릴레이 상태를 저장할 변수
bool relay1State = false;
bool relay2State = false;
bool relay3State = false;
bool relay4State = false;
void setup() {
Serial.begin(9600);
lcd.init(); // LCD 초기화
lcd.backlight(); // LCD 백라이트 켬
// 릴레이 핀을 출력으로 설정
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
// 릴레이 초기 상태 설정 (LOW 상태는 OFF)
digitalWrite(relay1, LOW);
digitalWrite(relay2, LOW);
digitalWrite(relay3, LOW);
digitalWrite(relay4, LOW);
}
void loop() {
// 릴레이를 순차적으로 켜고 끄기
digitalWrite(relay1, HIGH); // 릴레이1 켜기
delay(3000); // 3초 대기
digitalWrite(relay1, LOW); // 릴레이1 끄기
delay(3000);
lcd.setCursor(0,0);
lcd.print("LED:");
lcd.print("Y");
digitalWrite(relay2, HIGH); // 릴레이2 켜기
delay(3000); // 3초 대기
digitalWrite(relay2, LOW); // 릴레이2 끄기
delay(3000);
lcd.setCursor(0,1);
lcd.print("LED:");
lcd.print("G");
digitalWrite(relay3, HIGH); // 릴레이3 켜기
delay(3000); // 3초 대기
digitalWrite(relay3, LOW); // 릴레이3 끄기
delay(3000);
lcd.setCursor(7,0);
lcd.print("LED:");
lcd.print("R");
digitalWrite(relay4, HIGH); // 릴레이4 켜기
delay(3000); // 3초 대기
digitalWrite(relay4, LOW); // 릴레이4 끄기
delay(3000);
lcd.setCursor(7,1);
lcd.print("LED:");
lcd.print("B");
delay(100); // 3초 대기
lcd.clear(); // lcd 지우기
}
코딩 작성이 전부 끝나면 아두이노에 컴파일 후 업로드 하여준다.
그러면 아래 영상과 같이 릴레이 각 채널에 연결된 LED 다이오드가 제어되는 모습을 볼 수 있다.
시연 영상 :
https://www.youtube.com/watch?v=HrvhQfr7nDo
이와 같은 방법으로 8채널 릴레이, 16채널 릴레이 모듈을 사용할 수 있다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
https://link.coupang.com/a/cd1SSL
아두이노 8채널 릴레이 모듈 | 작동전압 DC 5V - 기타전기설비부자재 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
https://link.coupang.com/a/cd1VxK
아두이노 5V 16채널 릴레이 모듈 - 기타전기설비부자재 | 쿠팡
쿠팡에서 0.0 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 0 제품도 바로 쿠팡에서 확인할 수 있습니다.
www.coupang.com
'아두이노 센서 모듈 활용' 카테고리의 다른 글
DHT11 온습도 센서 사용법 (0) | 2025.03.07 |
---|---|
LDR 감광저항 센서 사용법 (0) | 2024.07.26 |
HC-SR501 인체감지 센서 모듈 사용법 (0) | 2024.06.29 |
조이스틱 모듈을 아두이노에 연결하여 LED 제어 하는법 (0) | 2024.06.23 |
MQ-135 센서를 사용한 "아두이노 가스감지 측정기" (0) | 2024.06.19 |