네오픽셀 스트립(Neopixel Strip) 다루기

by 조혜인 | 2017-02-24 13:00
strip 네오픽셀 액세서리 웨어러블

재료

  • 네오픽셀 스트립 1개 (19800원)

네오픽셀 악세서리 만들기에 앞서 첫번째로 네오픽셀 스트립(Neopixel Strip)을 다루어 보려고 합니다.

네오픽셀 원형과 스트립을 제어하는 데에 차이가 있더라구요!
그리고 구글링이나 국내 하드웨어 관련 포스팅을 봐도 스트립의 예제코드를 활용하는 것들이 있지만, 스트립의 색깔을 직접 바꾸는 코드는 없었습니다. ㅠ (제가 찾지 못하는 것일 수도 있으니, 아시는 분은 댓글 달아주세요!)


제가 이용한 스트립은 'Adafruit NeoPixel Digital RGBW LED Strip - White PCB 30 LED/m' 입니다.




다음 코드를 이용하라고 하지만, 네오픽셀 원형 컨트롤만 가능했고 strip은 의도치않은 색깔이 적용되었어요.

strip.setPixelColor(네오픽셀위치, strip.Color(red, green, blue)); 


예를 들면 다음과 같습니다. 1~4번까지 위의 코드를 이용해 '파란색'을 적용한 결과입니다.
전체 띠에 파란색만 들어와야 하는데 파랑,빨강,초록색이 차례로 들어오고 있습니다.



그래서 패턴을 연구한 끝에(!) rgb 색을 자유롭게 조절할 수 있는 코드를 만들었습니다. 공유합니다!

 #include <Adafruit_NeoPixel.h>

#define PIN 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel(5, PIN, NEO_GRB + NEO_KHZ800);

int red;
int green;
int blue;

void setup() {
strip.begin();
}

void loop() {

red = 255;
green = 0;
blue = 255;



//red
strip.setPixelColor(0, strip.Color(red, 0, 0)); //r
strip.setPixelColor(1, strip.Color(0, 0, red)); //b
strip.setPixelColor(2, strip.Color(0, 0, 0)); //bk
strip.setPixelColor(3, strip.Color(0, red, 0)); //g
strip.setPixelColor(4, strip.Color(red, 0, 0)); //r
strip.show();

//green
strip.setPixelColor(0, strip.Color(0, green, 0)); //g
strip.setPixelColor(1, strip.Color(green, 0, 0)); //r
strip.setPixelColor(2, strip.Color(0, 0, green)); //b
strip.setPixelColor(3, strip.Color(0, 0, 0)); //bk
strip.setPixelColor(4, strip.Color(0, green, 0)); //g
strip.show();

//blue
strip.setPixelColor(0, strip.Color(0, 0, blue)); //b
strip.setPixelColor(1, strip.Color(0, 0, 0)); //bk
strip.setPixelColor(2, strip.Color(0, blue, 0)); //g
strip.setPixelColor(3, strip.Color(blue, 0, 0)); //r
strip.setPixelColor(4, strip.Color(0, 0, blue)); //b
strip.show();

}










































제가 사용하는 게 픽셀 4개까지라서 4개만 적용한 코드 입니다. (ㅋㅋ)
하지만 그 이상 사용한다고 하면, for문을 이용해 이 패턴을 활용하시면 됩니다.
red, green, blue에 0~255사이의 값을 넣어 바꿔주시면 색을 조합할 수 있습니다.

이 문제를 해결했으니, 이후에는 액세서리들을 만드는 방법들을 소개하겠습니다.!

댓글 3

MADE BY

조혜인

arduino, processing, rhino, sketchup, 아두이노, 에프터이펙트, 포토샵, 프리미어
네오픽셀 귀걸이&목걸이 다음글 네오픽셀 스트립(Neopixel Strip) 다루기현재글