아두이노 우노 R4 - 여러 LED 깜박이기

Arduino UNO R4가 여러 LED를 깜빡입니다.

이 가이드는 delay() 함수를 사용하지 않고 여러 개의 LED를 서로 다른 주기로 깜박이도록 Arduino UNO R4를 프로그래밍하는 방법을 보여줍니다. 코드는 두 가지 방식으로 제공합니다:

세 개의 LED로 시연할 것입니다. 이를 두 개, 네 개 이상의 LED로 쉽게 조정할 수 있습니다.

Hardware Preparation

1×Arduino UNO R4 WiFi Amazon
1×Arduino UNO R4 Minima (Alternatively) Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×LED Kit with resistor Amazon
1×LED (red) Amazon
1×220 ohm resistor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Recommended) Screw Terminal Block Shield for Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Breadboard Shield For Arduino UNO R4 쿠팡 | Amazon
1×(Recommended) Enclosure For Arduino UNO R4 Amazon
1×(Recommended) Power Splitter For Arduino UNO R4 Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED에 대하여

LED에 대한 종합 가이드를 탐색하여 하드웨어 연결 방법, 작동 원리, Arduino UNO R4로 설정하는 방법 및 프로그래밍 단계를 다룹니다. 자세한 내용을 알아보세요:

Wiring Diagram

Arduino UNO R4 다중 LED 배선도

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

Arduino UNO R4 코드 - 여러 개의 LED 깜박이기

여러 LED를 동시에 깜박이려면 delay() 함수를 사용해서는 안 됩니다. 이 함수는 다른 코드의 실행을 멈추게 하여, 여러 LED를 함께 깜박이는 것이 불가능하기 때문입니다. 대신에 millis() 함수를 사용하여 시간을 제어해야 합니다.

초보자에게 여러 LED를 깜박일 때 타임스탬프를 관리하는 것은 어려울 수 있습니다. 다행히도 ezLED 라이브러리를 사용하면 라이브러리 내부에서 타임스탬프 관리를 처리하여 이 작업을 더 쉽게 할 수 있습니다. 이는 사용자가 라이브러리를 사용할 때 타임스탬프를 스스로 관리할 필요가 없다는 것을 의미합니다. 또한, 여러 LED를 그룹으로 사용하면 코드가 더 명확하고 짧아질 수 있습니다.

/* * 이 Arduino UNO R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino UNO R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-blink-multiple-led */ #include <ezLED.h> // ezLED library by ArduinoGetStarted.com #define PIN_LED_1 7 // The Arduino UNO R4 pin connected to LED 1 #define PIN_LED_2 8 // The Arduino UNO R4 pin connected to LED 2 #define PIN_LED_3 9 // The Arduino UNO R4 pin connected to LED 3 ezLED led1(PIN_LED_1); // create ezLED object that attach to pin PIN_LED_1 ezLED led2(PIN_LED_2); // create ezLED object that attach to pin PIN_LED_2 ezLED led3(PIN_LED_3); // create ezLED object that attach to pin PIN_LED_3 void setup() { Serial.begin(9600); led1.blink(800, 200); // 800ms ON, 200ms OFF, blink immediately led2.blink(500, 500); // 500ms ON, 500ms OFF, blink immediately led3.blink(500, 500, 500); // 500ms ON, 500ms OFF, blink after 500ms } void loop() { led1.loop(); // MUST call the led1.loop() function in loop() led2.loop(); // MUST call the led2.loop() function in loop() led3.loop(); // MUST call the led3.loop() function in loop() // DO SOMETHING HERE }

Detailed Instructions

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

  • Arduino Uno R4 WiFi/Minima를 처음 사용하는 경우, Arduino IDE에서 Arduino Uno R4 WiFi/Minima의 환경 설정에 관한 튜토리얼을 참조하세요.
  • 제공된 다이어그램에 따라 Arduino Uno R4를 LED에 연결하세요.
  • USB 케이블을 사용하여 Arduino Uno R4 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 Arduino IDE를 실행하세요.
  • 적절한 Arduino Uno R4 보드(예: Arduino Uno R4 WiFi)와 COM 포트를 선택하세요.
  • Arduino IDE의 왼쪽 측면에 있는 Libraries 아이콘을 클릭하세요.
  • 검색 상자에 "ezLED"를 입력하고 Arduino UNO R4GetStarted가 만든 LED 라이브러리를 찾으세요.
  • EzLED 라이브러리를 추가하려면 Install 버튼을 클릭하세요.
아두이노 UNO R4 LED 라이브러리
  • 제공된 코드를 복사하여 Arduino IDE에 붙여넣으세요.
  • Arduino UNO R4 보드에 코드를 로드하려면 Arduino IDE에서 Upload 버튼을 클릭하세요.
Arduino IDE에 Arduino UNO R4 코드를 업로드하는 방법
  • LED가 켜져 있는지 꺼져 있는지 확인하세요.

Arduino UNO R4 코드 - 배열을 사용하여 여러 LED 깜빡이기

위 코드를 LED 배열을 사용하여 개선할 수 있습니다. 아래 코드는 배열을 사용하여 LED 객체를 관리합니다.

/* * 이 Arduino UNO R4 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino UNO R4 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-uno-r4/arduino-uno-r4-blink-multiple-led */ #include <ezLED.h> // ezLED library by ArduinoGetStarted.com #define NUM_LED 3 // three LEDs #define PIN_LED_1 7 // The Arduino UNO R4 pin connected to LED 1 #define PIN_LED_2 8 // The Arduino UNO R4 pin connected to LED 2 #define PIN_LED_3 9 // The Arduino UNO R4 pin connected to LED 3 ezLED ledArray[NUM_LED] = { ezLED(PIN_LED_1), // create ezLED object that attach to pin PIN_LED_1 ezLED(PIN_LED_2), // create ezLED object that attach to pin PIN_LED_2 ezLED(PIN_LED_3) // create ezLED object that attach to pin PIN_LED_3 }; void setup() { Serial.begin(9600); ledArray[0].blink(800, 200); // 800ms ON, 200ms OFF, blink immediately ledArray[1].blink(500, 500); // 500ms ON, 500ms OFF, blink immediately ledArray[2].blink(500, 500, 500); // 500ms ON, 500ms OFF, blink after 500ms } void loop() { for (int i = 0; i < NUM_LED; i++) ledArray[i].loop(); // MUST call the led.loop() function in loop() // DO SOMETHING HERE }

ezLED 라이브러리를 사용하여 여러 LED를 다음과 같이 유연하게 깜박일 수 있습니다:

  • 여러 개의 LED가 서로 다른 속도로 깜빡이게 합니다.
  • 여러 개의 LED가 서로 다른 시간에 깜빡이기 시작하게 합니다.
  • 각 LED가 특정 시간 동안 깜빡이게 합니다.
  • 각 LED가 일정 횟수만큼 깜빡이게 합니다.

라이브러리의 샘플 코드를 보세요.

Video Tutorial

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

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!