5강. Color LED 제어하기
iFZero 보드에 연결된 Color LED 제어 - GPIO 02 포트
이번 강좌는 iFLine의 앞뒤로 2개씩 4개의 Color LED를 제어하는 코드를 구현하는 것입니다.
iFLine의 메인 보드는 신호선 1개(GPIO 02)로 4개의 RGB Color LED를 제어할 수 있습니다.
- Color LED SK6812Mini RGB LED 부품을 사용하고 있습니다.
- Color LED 제어 신호는 1번 LED의 1 Din 패드를 시작으로 3 DOUT으로 신호가 전달되어 반복적으로 2, 3, 4 LED의 번호 순서대로 동작하도록 설계가 되어 있습니다.
따라서 3D 그림처럼 개발자가 직접 iFZero 보드의 GPIO2 PIN 소켓과 1번 LED의 1 Din 패드가 연결된
3COLOR으로 표시된 소켓에 전선을 직접 연결할 필요가 있습니다.
( 주의 : ESP32-PICO-V3칩 GPIO중에서 INPUT 전용핀과 GPIO12, GPIO20 을 제외하고 대부분 사용이 가능합니다.
단, 예제에서는 GPIO2를 사용한 것입니다. )
VSCODE 라이브러리 추가 ( NeoPixelBus )
Color LED를 동작시키기 위해서는 Color LED 구동 라이브러리를 반드시 설치를 해야 합니다.
초기에 개발되어 널리 알려진 Adafruit사의 Neopixel RGB 라이브러리와 호환이 가능하지만 이 라이브러리엔 심각한 버그가 존재합니다. 1번 LED가 간혹, 랜덤하게 ON / OFF가 발생하는 문제가 있습니다. 사실 위 문제는 ESP32에서만 발생하는 소프트웨어적인 버그입니다.
따라서 이 문제를 해결한 소프트웨어 라이브러리를 사용하면 되는데 그것이 바로 NeoPixelBus 라이브러리입니다.
Visual Studio Code의 개미 얼굴 아이콘을 눌러서 PIO Home의 Libraries 패널에서 NeoPixelBus 라이브러리를 추가할 수 있습니다.
iFZero 보드에 연결된 COLOR LED 제어 소스코드
1 |
|
위 코드는 간단히 1초마다 nPixel 변수 값을 증가하면서 4로 나눈 나머지의 값에 해당하는 위치의 Color LED 만 Blue 색으로 켜도록 동작하는 코드입니다.
이번 강좌에서는 Visual Studio Code에서 외부 라이브러리를 추가하는 방법과 iFLine의 Color LED를 동작시키는 방법을 공부했습니다.