아두이노 우노 R4 LED 스트립

초보자도 따라 할 수 있는 이 튜토리얼에서 Arduino Uno R4를 프로그래밍하여 12V LED 스트립을 제어하는 방법을 알아보세요. 단색 LED 스트립부터 RGB LED 스트립까지, 릴레이를 사용하여 역동적인 조명 프로젝트를 만드는 방법을 배웁니다. 배우게 될 내용은 다음과 같습니다:

릴레이는 스트립을 완전히 켜거나 완전히 끌 수만 있습니다. MOSFET 모듈도 딸깍 소리 없이 스트립을 켜고 끌 수 있으며, 빛을 더 밝게 또는 더 어둡게 만들 수도 있습니다.

지금 Arduino 프로그래밍과 LED 스트립 프로젝트의 여정을 시작해 보세요!

준비물

1×Arduino UNO R4 WiFi or Arduino UNO R4 Minima
1×(또는) DIYables STEM V4 IoT, Compatible with Arduino Uno R4 WiFi 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×릴레이 아마존
1×(또는) MOSFET Module (AOD4184, LR7843 or FR120N) 아마존
1×12V 1-color LED 스트립 아마존
1×12V RGB LED 스트립 아마존
1×12V 전원 어댑터 아마존
1×DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 스크루 터미널 블록 쉴드 쿠팡 | 아마존
1×(추천) Sensors/Servo Expansion Shield for Arduino UNO R4 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 브레드보드 쉴드 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 케이스 쿠팡 | 아마존
1×(추천) 아두이노 우노 R4용 전원 분배기 쿠팡 | 아마존
1×(추천) 아두이노 우노용 프로토타이핑 베이스 플레이트 & 브레드보드 키트 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Arduino Uno R4 WiFi Compatible Boards

LED 스트립에 대하여

LED 스트립은 LED 테이프 또는 LED 리본이라고도 하며, 빛을 내는 LED가 있는 유연한 보드입니다. 이러한 스트립은 유연하며 여러 장소의 장식 조명에 자주 사용됩니다. LED 스트립은 다양한 색상으로 제공되며 주로 부드러운 빛을 내거나 특정 영역을 강조하거나 장식 효과를 추가하는 데 사용됩니다.

LED 스트립은 두 가지 주요 종류로 제공됩니다:

  • 어드레서블 LED 스트립: 이 유형에서는 각 LED의 색상과 밝기를 개별적으로 제어할 수 있습니다. 각 LED는 개별 제어를 가능하게 하는 고유의 주소를 가지고 있습니다.
  • 논어드레서블 LED 스트립: 이 스트립은 색상과 밝기를 변경할 수 있지만, 변경 사항은 스트립의 모든 LED에 동시에 적용됩니다.

이 가이드는 논어드레서블 LED 스트립에 대한 것입니다. 어드레서블 LED 스트립에 대해서는 제공된 다른 가이드를 참조하십시오.

논어드레서블 스트립의 밝기를 줄이려면 MOSFET 모듈을 사용할 수 있습니다. 모듈의 핀 배치와 작동 방식은 아두이노 우노 R4 - MOSFET 모듈 튜토리얼에서 볼 수 있습니다.

LED 스트립용 릴레이와 MOSFET 모듈 비교

릴레이 MOSFET 모듈
조명 제어 켜기 또는 끄기 켜기, 끄기, 밝기 조절(PWM 디밍)
딸깍 소리 있음 없음, 조용함
반응 시간 몇 밀리초 매우 짧음
수명 스위칭할 때마다 접점이 마모됨 길다, 움직이는 부분이 없음
전원 종류 AC 또는 DC DC만 가능
스트립 전압 릴레이가 허용하는 범위 6V 이상(12V 및 24V 스트립 모두 가능)
절연 예, 코일과 접점 예, PC817 포토커플러
적합한 용도 AC 조명, 단순한 켜기/끄기 밝기 조절이나 빠른 효과가 필요한 DC 스트립

12V 스트립에는 밝기를 정할 수 있어서 MOSFET 모듈이 더 좋은 선택입니다. RGB 스트립에는 세 개의 색상 핀(R, G, B)이 있으므로, 릴레이가 세 개 필요한 것과 같은 방식으로 색상마다 하나씩 MOSFET 모듈이 세 개 필요합니다.

논어드레서블 LED 스트립 핀아웃

논어드레서블 LED 스트립에는 두 가지 주요 유형이 있습니다.

  • 논어드레서블 단색 LED 스트립: 제조업체에서 정한 한 가지 색상만 제공됩니다.
  • 논어드레서블 RGB LED 스트립: 여러 색상을 표시할 수 있습니다.

논어드레서블 단색 LED 스트립에는 일반적으로 두 개의 핀이 있습니다:

  • 12V/24V 핀: 이것을 12V 또는 24V DC 전원 공급 장치의 양극 핀에 연결합니다.
  • GND 핀: 이것을 12V 또는 24V DC 전원 공급 장치의 음극 핀에 연결합니다.

논어드레서블 RGB LED 스트립에는 일반적으로 네 개의 핀이 있습니다:

  • 12V/24V 핀: 이것을 12V 또는 24V DC 전원 공급 장치의 양극 핀에 연결합니다.
  • R 핀: 빨간색 제어에 이 핀을 사용합니다. 빨간색을 활성화하려면 전원 공급 장치의 음극 핀에 연결합니다.
  • G 핀: 녹색 제어에 이 핀을 사용합니다. 녹색을 활성화하려면 전원 공급 장치의 음극 핀에 연결합니다.
  • B 핀: 파란색 제어에 이 핀을 사용합니다. 파란색을 활성화하려면 전원 공급 장치의 음극 핀에 연결합니다.
아두이노 우노 R4 논어드레서블 LED 스트립 핀아웃

Arduino UNO R4를 사용하여 두 가지 유형을 하나씩 제어하는 방법을 배워 보겠습니다.

논어드레서블 단색 LED 스트립 제어 방법

12V LED 스트립을 12V 전원 공급 장치에 연결하면 불이 켜집니다. Arduino UNO R4로 이 12V LED 스트립을 제어하려면 릴레이를 사용해야 합니다. Arduino UNO R4는 릴레이를 통해 12V LED 스트립을 제어합니다. 릴레이의 핀 배치, 기능, 프로그래밍 등에 익숙하지 않다면 아두이노 우노 R4 - 릴레이에서 Arduino UNO R4 - 릴레이 튜토리얼을 통해 더 자세히 배울 수 있습니다.

배선도

Arduino UNO R4와 논어드레서블 단색 LED 스트립 간의 배선도

아두이노 우노 R4 12v LED 스트립 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

이 회로를 계속 사용할 계획이라면 나사 단자를 고려해 보세요. Arduino UNO R4에 Proto Screw Terminal Block Shield 또는 Screw Shield V2를 추가하기만 하면 됩니다. 아래 그림처럼 각 전선은 같은 핀의 나사 단자로 연결됩니다.

아두이노 우노 R4 12v LED 스트립 배선도 (screw shield v2)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

Arduino UNO R4와 논어드레서블 RGB LED 스트립 간의 배선도

아두이노 우노 R4 12v LED 스트립 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

아두이노 UNO R4 코드

논어드레서블 단색 LED 스트립을 제어하는 Arduino UNO R4 코드

이 코드는 LED 스트립을 5초 동안 켜고 5초 동안 끄는 것을 계속 반복합니다.

/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-led-strip */ #define LED_STRIP_PIN 3 // The Arduino Uno R4 pin controls to the LED strip via relay void setup() { Serial.begin(9600); // initialize Arduino pins as digital output pins pinMode(LED_STRIP_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { Serial.println("The LED strip is turned on"); digitalWrite(LED_STRIP_PIN, HIGH); delay(5000); Serial.println("The LED strip is turned off"); digitalWrite(LED_STRIP_PIN, LOW); delay(5000); }

논어드레서블 RGB LED 스트립을 제어하는 Arduino UNO R4 코드

아래 코드는 RGB LED 스트립의 색상(빨간색, 초록색, 파란색, 노란색, 자홍색, 청록색, 흰색)을 반복적으로 바꿉니다.

/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-led-strip */ #define BLUE_PIN 5 // The Arduino Uno R4 pin connects to the blue pin of LED strip via relay 1 #define RED_PIN 6 // The Arduino Uno R4 pin connects to the red pin of LED strip via relay 2 #define GREEN_PIN 7 // The Arduino Uno R4 pin connects to the green pin of LED strip via relay 3 void setup() { Serial.begin(9600); // initialize Arduino pins as digital output pins pinMode(BLUE_PIN, OUTPUT); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { Serial.println("The LED strip is turned red"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned green"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned blue"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned yellow"); digitalWrite(BLUE_PIN, LOW); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned magenta"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, LOW); delay(2000); Serial.println("The LED strip is turned cyan"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, LOW); digitalWrite(GREEN_PIN, HIGH); delay(2000); Serial.println("The LED strip is turned white"); digitalWrite(BLUE_PIN, HIGH); digitalWrite(RED_PIN, HIGH); digitalWrite(GREEN_PIN, HIGH); delay(2000); }

빠른 단계

다음 지침을 단계별로 따르세요:

  • Arduino Uno R4 WiFi/Minima를 처음 사용하시는 경우, 아두이노 우노 R4 - 소프트웨어 설치에 관한 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 LED 스트립을 Arduino Uno R4에 배선하세요.
  • USB 케이블을 사용하여 Arduino Uno R4 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 실행하세요.
  • 적절한 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택하세요.
  • 위에서 제공된 코드를 복사하여 Arduino IDE에 붙여넣으세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 코드를 Arduino UNO R4에 전송하세요.
  • LED 스트립의 상태를 관찰하세요.

코드 설명

설명은 위의 아두이노 코드의 주석에 있습니다.

논어드레서블 LED 스트립의 밝기와 색상을 조절하려면 릴레이 대신 L298N 드라이버와 같은 드라이버를 사용해야 합니다.

아두이노 UNO R4 코드 - MOSFET 모듈로 LED 스트립 밝기 조절

여기서는 단색 LED 스트립에서 MOSFET 모듈이 릴레이를 대신합니다. Arduino UNO R4가 PWM 신호를 보내면 스트립이 더 밝아지거나 어두워집니다.

Arduino UNO R4, MOSFET 모듈, 단색 LED 스트립 간의 배선도

아두이노 우노 R4 LED 스트립 mosfet 모듈 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

오래 사용할 프로젝트라면 나사 단자가 점퍼 와이어보다 전선을 더 잘 고정합니다. Arduino UNO R4는 Screw Shield V2와 Proto Screw Terminal Block Shield 모두와 함께 사용할 수 있습니다. 둘 다 헤더 핀을 나사 단자로 바꿔 줍니다. Screw Shield V2를 사용하면 다음과 같습니다:

아두이노 우노 R4 LED 스트립 mosfet 모듈 배선도 (screw shield v2)

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

Arduino Uno R4와 기타 부품에 전원을 공급하는 가장 효과적인 방법을 확인하시려면, 아래 링크를 참조하세요: 아두이노 우노 R4 전원 공급 방법.

  • Arduino UNO R4 핀 9 → 모듈의 PWM 핀
  • Arduino UNO R4 GND → 모듈의 GND 핀
  • 12V 어댑터 + → + 단자
  • LED 스트립 12V 핀 → + 단자(어댑터 +와 함께 사용)
  • LED 스트립 GND 핀 → LOAD 단자
  • 12V 어댑터 − → − 단자

LED 스트립에는 코일이 없으므로 플라이백 다이오드가 필요하지 않습니다.

단색 LED 스트립의 밝기를 조절하는 Arduino UNO R4 코드

/* * 이 아두이노 우노 R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 아두이노 우노 R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-led-strip */ const int MOSFET_PIN = 9; // Arduino UNO R4 pin connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

스트립은 2초 동안 최대 밝기로 빛나고, 2초 동안 꺼집니다. 그다음 10%에서 100%까지 서서히 밝아졌다가 0%까지 서서히 어두워지며, 이후 반복이 다시 시작됩니다.

빠른 단계

  • 위 릴레이 빠른 단계에서 설명한 대로 Arduino IDE를 설정합니다.
  • 다이어그램에 나온 대로 LED 스트립과 MOSFET 모듈을 배선하고, 12V 어댑터는 뽑아 둡니다.
  • 코드를 Arduino UNO R4에 업로드합니다.
  • 12V 어댑터를 꽂습니다.
  • 시리얼 모니터를 열고 9600 보드레이트를 선택합니다.
  • 스트립이 단계적으로 밝아졌다가 어두워지는 것을 지켜보세요.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

참고: MOSFET 모듈은 DC 전원에서만 작동하며, 스트립 공급 전압은 약 6V 이상이어야 합니다. 5V 스트립은 이 모듈과 잘 맞지 않으며, AC 조명에는 릴레이가 필요합니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

댓글