ESP32 - LED 스트립 | ESP32 - LED Strip

이 튜토리얼에서는 ESP32를 프로그래밍하여 LED 스트립이 빛을 발산하도록 제어하는 방법을 배우게 됩니다.

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×Relay Amazon
1×12V 1-color LED Strip Amazon
1×12V RGB LED Strip Amazon
1×12V Power Adapter Amazon
1×DC Power Jack 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Alternative) 24V 1-color LED Strip Amazon
1×(Alternative) 24V RGB LED Strip Amazon
1×(Alternative) 24V Power Adapter Amazon
1×(Optional) 5V Power Adapter for ESP32 Amazon
1×(Recommended) ESP32 Screw Terminal Adapter 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

LED 스트립에 대하여

LED 스트립, 또한 LED 테이프 또는 LED 리본으로 알려져 있는 것은 표면에 장착된 LED가 빛을 발하는 유연한 회로 보드입니다. 이 스트립들은 다양하게 사용되며 여러 응용 분야에서 장식용 조명으로 흔히 사용됩니다. LED 스트립은 다양한 색상으로 제공되며 주로 분위기 조명, 악센트 조명 또는 장식적 조명 효과를 제공하는 데 사용됩니다.

LED 스트립은 두 가지 주요 유형으로 나뉩니다:

  • 주소 지정 가능 LED 스트립: 이 유형에서는 스트립 상의 각 개별 LED의 색상과 밝기를 독립적으로 제어할 수 있습니다. 이 기능은 각 LED에 특정 주소가 할당되어 있기 때문입니다.
  • 주소 불가능 LED 스트립: 반면에, 주소 불가능 LED 스트립은 색상과 밝기를 제어할 수 있지만, 이 제어는 스트립 상의 모든 LED에 균일하게 적용됩니다.

이 튜토리얼은 Non-Addressable LED 스트립에 중점을 둘 것입니다. Addressable LED 스트립에 대해서는 다음 튜토리얼을 참조해 주세요:

비주소 지정 LED 스트립 핀 배치

Non-Addressable LED Strip은 두 가지 주요 유형이 있습니다:

  • Non-Addressable 1-color LED strip: 제조사가 정한 단 하나의 색상만 있는 LED 스트립
  • Non-Addressable RGB LED strip: 모든 색상 가능한 LED 스트립

비주소 지정 1색 LED 스트립은 일반적으로 두 개의 핀을 가지고 있습니다:

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

비주소 지정형 RGB LED 스트립은 보통 네 개의 핀을 가지고 있습니다:

  • 12V/24V 핀: 12V 또는 24V DC 전원 공급 장치의 양극에 연결해야 합니다.
  • R 핀: 이 핀은 빨간색을 제어하는 데 사용됩니다. 전원 공급 장치의 음극에 이 핀을 연결하면 빨간색이 활성화됩니다.
  • G 핀: 이 핀은 초록색을 제어하는 데 사용됩니다. 전원 공급 장치의 음극에 이 핀을 연결하면 초록색이 활성화됩니다.
  • B 핀: 이 핀은 파란색을 제어하는 데 사용됩니다. 전원 공급 장치의 음극에 이 핀을 연결하면 파란색이 활성화됩니다.
ESP32 non-addressable led strip Pinout

우리는 ESP32로 두 가지 유형을 하나씩 제어하는 방법을 배울 것입니다.

비주소 지정 가능한 단색 LED 스트립 제어 방법

12V LED 스트립이 12V 전원 공급 장치에 의해 구동되면 빛을 발합니다. 12V LED 스트립을 제어하기 위해, ESP32와 12V LED 스트립 사이에 릴레이를 사용해야 합니다. ESP32는 릴레이를 통해 12V LED 스트립을 제어할 수 있습니다. 릴레이에 대해, 포함하여 그들의 핀 배치, 기능성, 프로그래밍에 익숙하지 않으십니까? ESP32 - 릴레이 튜토리얼에서 릴레이에 대해 배워보세요.

배선도.

ESP32와 주소 지정이 불가능한 단색 LED 스트립 간의 배선도.

ESP32 12V LED strip Wiring Diagram

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

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

ESP32와 비주소 지정 RGB LED 스트립 간의 배선도.

ESP32 12V LED strip Wiring Diagram

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

ESP32 코드

주소 지정이 불가능한 1색 LED 스트립 제어를 위한 ESP32 코드.

아래 코드는 LED 스트립을 5초 동안 켜고 5초 동안 끕니다.

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-led-strip */ #define LED_STRIP_PIN 16 // ESP32 핀 GPIO16이 릴레이를 통해 LED 스트립을 제어합니다 void setup() { Serial.begin(9600); // ESP32 핀을 디지털 출력 핀으로 초기화합니다 pinMode(LED_STRIP_PIN, OUTPUT); } // loop 함수는 계속해서 영원히 반복 실행됩니다 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 스트립 제어를 위한 ESP32 코드.

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

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-led-strip */ #define BLUE_PIN 23 // ESP32 핀 GPIO23이 릴레이 1을 통해 LED 스트립의 파란색 핀에 연결됩니다 #define RED_PIN 22 // ESP32 핀 GPIO22가 릴레이 2를 통해 LED 스트립의 빨간색 핀에 연결됩니다 #define GREEN_PIN 21 // ESP32 핀 GPIO21이 릴레이 3을 통해 LED 스트립의 초록색 핀에 연결됩니다 void setup() { Serial.begin(9600); // ESP32 핀을 디지털 출력 핀으로 초기화합니다 pinMode(BLUE_PIN, OUTPUT); pinMode(RED_PIN, OUTPUT); pinMode(GREEN_PIN, OUTPUT); } // loop 함수는 계속해서 반복 실행됩니다 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); }

사용 방법

  • ESP32를 처음 사용하는 경우, Arduino IDE에서 ESP32 환경 설정하는 방법을 참조하세요.
  • 위 이미지와 같이 배선하세요.
  • ESP32 보드를 마이크로 USB 케이블로 PC에 연결하세요.
  • PC에서 Arduino IDE를 엽니다.
  • 올바른 ESP32 보드(예: ESP32 Dev Module)와 COM 포트를 선택하세요.
  • ESP32를 USB 케이블을 통해 PC에 연결하세요
  • Arduino IDE를 열고, 올바른 보드와 포트를 선택하세요
  • 위 코드를 복사하고 Arduino IDE로 엽니다
  • Arduino IDE에서 Upload 버튼을 클릭해 코드를 ESP32로 업로드하세요
  • LED 스트립의 상태를 확인하세요

코드 설명

위의 아두이노 코드 주석 라인에서 설명을 찾을 수 있습니다.

주의해 주세요. 비주소 지정형 LED 스트립의 밝기와 다른 색상을 제어하기 위해서는 릴레이 대신 L298N 드라이버를 사용해야 합니다.

동영상

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