네오픽셀
네오픽셀(Neopixel)은 WS281x 칩이 내장되어있는 adafruit의 LED 제품입니다.
사진과 같이 단일, 원형, 일자 등 다양한 모양이 있어 활용하기 좋고, 배선이 편리하다는 장점이 있습니다.
아두이노와 같은 마이크로컨트롤러를 함께 사용합니다.
사양
- 작동전압[v] : 5
- 각 led 당 20mA ~ 80mA
예제 사용 하드웨어
- 아두이노 보드
- 24bit 네오픽셀
연결
본 부품은 선이 연결되어있지 않아 점퍼선을 납땜 후 진행했습니다.
아두이노 우노 | neo pixel |
5V | 5V |
GND | GND |
D7 | DI |
라이브러리
Adafruit Neopixel를 사용합니다.
아두이노 라이브러리 문서에서 라이브러리 사용방법을 확인하세요.
예제 코드
7개의 색을 순서대로 밝히는 예제입니다.
#include <Adafruit_NeoPixel.h>
#define PIN 7
#define NUMPIXELS 24
#define bright 255
#define dly 50
Adafruit_NeoPixel neo(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
neo.begin();
neo.setBrightness(bright);
neo.clear();
neo.show();
for (int i = 0; i < NUMPIXELS; i++) {
neo.setPixelColor(i, 255, 255, 255);
neo.show();
delay(dly);
}
for (int i = 0; i < NUMPIXELS; i++) {
neo.setPixelColor(i, 255, 0, 0);
neo.show();
delay(dly);
}
for (int i = 0; i < NUMPIXELS; i++) {
neo.setPixelColor(i, 0, 255, 0);
neo.show();
delay(dly);
}
for (int i = 0; i < NUMPIXELS; i++) {
neo.setPixelColor(i, 0, 0, 255);
neo.show();
delay(dly);
}
for (int i = 0; i < NUMPIXELS; i++) {
neo.setPixelColor(i, 255, 255, 0);
neo.show();
delay(dly);
}
for (int i = 0; i < NUMPIXELS; i++) {
neo.setPixelColor(i, 0, 255, 255);
neo.show();
delay(dly);
}
for (int i = 0; i < NUMPIXELS; i++) {
neo.setPixelColor(i, 255, 0, 255);
neo.show();
delay(dly);
}
for (int i = 0; i < NUMPIXELS; i++) {
neo.setPixelColor(i, 0, 0, 0);
}
neo.show();
}
void loop() {
}
실행 결과