ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.
DotStar RGB LED 스트립을 프로그래밍하는 방법
DotStar 라이브러리를 포함하세요.
c#include <Adafruit_DotStar.h>#include <SPI.h> // 이 줄을 주석 처리하십시오. GEMMA 또는 TRINKET용입니다.
DotStar 객체를 선언하십시오.
#define NUMPIXELS 144 // 스트립 내 LED 개수// LED를 어떠한 두 핀에서도 제어하는 방법은 다음과 같습니다:#define DATAPIN 16#define CLOCKPIN 17Adafruit_DotStar strip(NUMPIXELS, DATAPIN, CLOCKPIN, DOTSTAR_BRG);
DotStar를 초기화합니다.
strip.begin(); // 출력을 위한 핀 초기화strip.setBrightness(255);strip.show(); // 가능한 한 빨리 모든 LED를 끕니다
각 개별 LED(픽셀이라고 함)의 색상(r, g, b)을 설정합니다.
strip.setPixelColor(pixel, g, r, b);
모든 스트립의 밝기를 설정하십시오.
strip.setBrightness(100); // 0에서 255까지의 값
※ 주의:
DotStar.setBrightness()는 LED 스트립의 모든 픽셀에 사용됩니다. 각각의 픽셀마다 밝기를 설정하려면 색상 값을 조정할 수 있습니다.
DotStar.setBrightness()와 DotStar.setPixelColor()에 의해 설정된 값들은 DotStar.show()가 호출될 때만 적용됩니다.
ESP32 코드
아래 코드는 픽셀마다 지연 시간을 두고 하나씩 픽셀을 빨간색으로 바꿉니다.
/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-dotstar-led-strip */#include <Adafruit_DotStar.h>#include <SPI.h> // GEMMA 또는 TRINKET을 위해 이 줄을 주석 처리하세요.#define NUMPIXELS 144 // 스트립의 LED 수// 여기에 어떻게 두 개의 핀으로 LED를 제어하는지 보여줍니다:#define DATAPIN 16 // ESP32 핀 GPIO16#define CLOCKPIN 17 // ESP32 핀 GPIO17Adafruit_DotStar strip(NUMPIXELS, DATAPIN, CLOCKPIN, DOTSTAR_BRG);voidsetup() {Serial.begin(9600); strip.begin(); // NeoPixel 스트립 객체를 초기화합니다 (필수) strip.show(); // 가능한 빨리 모든 픽셀을 끕니다 strip.setBrightness(255);}voidloop() {for (int pixel = 0; pixel < NUMPIXELS; pixel++) {// 빨간색int r = 255; // 원하는 대로 색상을 변경하세요int g = 0; // 원하는 대로 색상을 변경하세요int b = 0; // 원하는 대로 색상을 변경하세요 strip.clear(); // 모든 픽셀을 끕니다 strip.setPixelColor(pixel, g, r, b); // 단일 픽셀을 켭니다 strip.show();delay(1000); // 각 픽셀을 1초간 켜져 있게 합니다 }}