아두이노 나노 ESP32 - 여러 LED 깜빡이기 | Arduino Nano ESP32 - Blink multiple LED

이 튜토리얼은 delay 함수에 의존하지 않고 여러 개의 LED를 동시에 깜박이도록 Arduino Nano ESP32를 프로그래밍하는 방법을 안내합니다. 각 LED는 다른 LED와 다른 주파수에서 깜박일 수 있습니다. 예로 세 개의 LED를 사용하검만, 더 많은 LED를 깜박이도록 코드를 쉽게 조정할 수 있습니다.

준비물

1×Arduino Nano ESP32 Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×LED Amazon
1×220 ohm resistor Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) DC Power Jack 쿠팡 | Amazon
1×(Recommended) Screw Terminal Expansion Board for Arduino Nano 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED에 대하여

우리는 LED에 관한 구체적인 튜토리얼을 가지고 있습니다. 이 튜토리얼에는 하드웨어 핀아웃, 작동 원리, ESP32, Arduino Nano ESP32 코드에 대한 배선 연결에 대한 자세한 정보와 단계별 지침이 포함되어 있습니다. 다음 링크에서 자세히 알아보세요:

Arduino Nano ESP32 - LED 튜토리얼

선연결

Arduino Nano ESP32 multiple LED Wiring Diagram

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

아두이노 나노 ESP32 코드 - 여러 개의 LED 깜박임

여러 LED를 깜박이려면 delay() 함수를 사용할 수 없습니다. 대신 millis() 함수를 사용하고 타임스탬프를 관리해야 합니다.

여러 LED를 번쩍이게 할 때 타임스탬프를 관리하는 것은 초보자에게 도전적일 수 있습니다. 다행히 ezLED 라이브러리는 내부적으로 타임스탬프를 관리함으로써 여러 LED를 번쩍이게 하는 과정을 단순화합니다. 이는 사용자가 이 라이브러리를 사용할 때 타임스탬프 관리를 직접 처리할 필요가 없게 만듭니다. 또한, LED 배열을 사용함으로써 코드의 명확성과 간결성을 향상시킬 수 있습니다.

/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-blink-multiple-led */ #include <ezLED.h> // ezLED 라이브러리 #define PIN_LED_1 D4 // Arduino Nano ESP32 핀이 LED 1에 연결됨 #define PIN_LED_2 D5 // Arduino Nano ESP32 핀이 LED 2에 연결됨 #define PIN_LED_3 D6 // Arduino Nano ESP32 핀이 LED 3에 연결됨 ezLED led1(PIN_LED_1); // PIN_LED_1에 연결된 ezLED 객체를 생성합니다. ezLED led2(PIN_LED_2); // PIN_LED_2에 연결된 ezLED 객체를 생성합니다. ezLED led3(PIN_LED_3); // PIN_LED_3에 연결된 ezLED 객체를 생성합니다. void setup() { Serial.begin(9600); led1.blink(500, 500); // 500ms 켜짐, 500ms 꺼짐, 즉시 깜박임 led2.blink(200, 800); // 200ms 켜짐, 800ms 꺼짐, 즉시 깜박임 led3.blink(200, 200); // 200ms 켜짐, 200ms 꺼짐, 즉시 깜박임 } void loop() { led1.loop(); // loop() 함수 안에서 led1.loop() 함수를 반드시 호출해야 함 led2.loop(); // loop() 함수 안에서 led2.loop() 함수를 반드시 호출해야 함 led3.loop(); // loop() 함수 안에서 led3.loop() 함수를 반드시 호출해야 함 // 여기서 무언가를 하세요 }

사용 방법

아두이노 나노 ESP32를 시작하려면 다음 단계를 따르세요:

  • 아두이노 나노 ESP32에 익숙하지 않다면, 아두이노 IDE에서 아두이노 나노 ESP32 환경 설정 방법에 대한 튜토리얼을 참조하세요. 아두이노 나노 ESP32 소프트웨어 설치.
  • 제공된 도표에 따라 부품을 연결하세요.
  • USB 케이블을 사용하여 아두이노 나노 ESP32 보드를 컴퓨터에 연결하세요.
  • 컴퓨터에서 아두이노 IDE를 실행하세요.
  • Arduino Nano ESP32 보드와 해당 COM 포트를 선택하세요.
  • 아두이노 IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • “ezLED”를 검색한 다음, ArduinoGetStarted의 led 라이브러리를 찾으세요.
  • EzLED 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
Arduino Nano ESP32 led library
  • 위의 코드를 복사하여 아두이노 IDE에 붙여넣으세요.
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 Arduino Nano ESP32 보드에 컴파일하고 업로드하세요.
How to upload Arduino Nano ESP32 code on Arduino IDE

LED 상태를 확인하세요.

아두이노 나노 ESP32 코드 - 배열을 사용하여 여러 LED 깜박임

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

/* * 이 Arduino Nano ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 Arduino Nano ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/arduino-nano-esp32/arduino-nano-esp32-blink-multiple-led */ #include <ezLED.h> // ezLED 라이브러리 #define NUM_LED 3 // 세 개의 LED들 #define PIN_LED_1 D4 // LED 1에 연결된 아두이노 나노 ESP32 핀 #define PIN_LED_2 D5 // LED 2에 연결된 아두이노 나노 ESP32 핀 #define PIN_LED_3 D6 // LED 3에 연결된 아두이노 나노 ESP32 핀 ezLED ledArray[NUM_LED] = { ezLED(PIN_LED_1), // PIN_LED_1 핀에 연결된 ezLED 객체 생성 ezLED(PIN_LED_2), // PIN_LED_2 핀에 연결된 ezLED 객체 생성 ezLED(PIN_LED_3) // PIN_LED_3 핀에 연결된 ezLED 객체 생성 }; void setup() { Serial.begin(9600); ledArray[0].blink(500, 500); // 500ms 켜짐, 500ms 꺼짐, 즉시 깜빡임 ledArray[1].blink(200, 800); // 200ms 켜짐, 800ms 꺼짐, 즉시 깜빡임 ledArray[2].blink(200, 200); // 200ms 켜짐, 200ms 꺼짐, 즉시 깜빡임 } void loop() { for (int i = 0; i < NUM_LED; i++) ledArray[i].loop(); // 반복문에서 반드시 led.loop() 함수를 호출해야 함 // 여기에 무언가를 실행합니다 }

유연한 점멸을 위해서는 ezLED 라이브러리의 다른 함수들을 참조하십시오.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!