ESP32 - 여러 LED 깜빡임 | ESP32 - Blink multiple LED

이 튜토리얼은 delay 함수를 사용하지 않고 여러 개의 LED를 동시에 깜박이도록 ESP32를 프로그래밍하는 방법을 안내합니다.

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | 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 ESP32 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED에 대하여

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

ESP32 - LED 튜토리얼

선연결

ESP32 multiple LED Wiring Diagram

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

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

ESP32 코드 - 여러 개의 LED 깜박임

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

초보자에게 여러 LED를 깜박이면서 타임스탬프를 관리하는 것은 어려울 수 있습니다. 다행히 ezLED 라이브러리는 내부적으로 타임스탬프를 관리하여 여러 LED를 깜박이는 과정을 단순화합니다. 이는 사용자가 이 라이브러리를 사용할 때 타임스탬프 관리를 처리할 필요가 없어진다는 것을 의미합니다. 추가적으로, LED 배열을 사용함으로써 코드의 명확성과 간결성을 향상시킬 수 있습니다.

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-blink-multiple-led */ #include <ezLED.h> #define PIN_LED_1 16 // ESP32의 GPIO16 핀에 연결된 LED 1 #define PIN_LED_2 17 // ESP32의 GPIO17 핀에 연결된 LED 2 #define PIN_LED_3 18 // ESP32의 GPIO18 핀에 연결된 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를 처음 사용하는 경우, Arduino IDE에서 ESP32 환경 설정하는 방법을 참조하세요.
  • 위 이미지와 같이 배선하세요.
  • ESP32 보드를 마이크로 USB 케이블을 통해 PC에 연결하세요.
  • PC에서 Arduino IDE를 엽니다.
  • 올바른 ESP32 보드(예: ESP32 Dev Module)와 COM 포트를 선택하세요.
  • Arduino IDE의 왼쪽 바에 있는 Libraries 아이콘을 클릭하세요.
  • “ezLED”을 검색하고, ArduinoGetStarted의 led 라이브러리를 찾으세요.
  • EzLED 라이브러리를 설치하려면 Install 버튼을 클릭하세요.
ESP32 led library
  • 위의 코드를 복사하여 아두이노 IDE에 붙여넣으세요.
  • 아두이노 IDE에서 Upload 버튼을 클릭하여 코드를 ESP32 보드에 컴파일하고 업로드하세요.
How to upload ESP32 code on Arduino IDE

LED 상태를 확인하세요.

ESP32 코드 - 배열을 사용하여 여러 LED 깜박이기

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

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-blink-multiple-led */ #include <ezLED.h> // ezLED 라이브러리 #define NUM_LED 3 // 세 개의 LED들 #define PIN_LED_1 16 // ESP32 핀 GPIO16이 LED 1에 연결됨 #define PIN_LED_2 17 // ESP32 핀 GPIO17이 LED 2에 연결됨 #define PIN_LED_3 18 // ESP32 핀 GPIO18이 LED 3에 연결됨 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(); // 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!