지난 번에 만든 링비트카를 살펴보다 보니 하단에 네오픽셀LED가 달려있는 것을 확인했습니다.

(링비트카 만들기 Part 1 https://code-for-fun.tistory.com/17)

(링비트카 만들기 Part 2 https://code-for-fun.tistory.com/20)


전진/후진/좌회전/우회전 시 각각 LED에 다른 색의 불이 들어오게 코드를 살짝 바꿔보며 마이크로비트 블록들을 살펴보니 네오픽셀용 블록들이 아예 따로 있더군요.

MakeCode 에디터의 블록 카테고리 중에서 고급 > 확장 > 네오픽셀을 추가하면 블록 카테고리에 네오픽셀(Neopixel)이 추가됩니다.

네오픽셀 카테고리를 클릭하면 여러가지 블록들을 확인할 수 있습니다.



이 블록들을 테스트 해보기 위해 네오픽셀을 준비했습니다.


네오픽셀 링형 제품이며, 뒷면의 핀은 제가 직접 납땜했습니다. 악어클립으로 찝어도 괜찮겠지만 앞의 LED가 가려져서 그냥 납땜을 해줬습니다.

핀은 D0, GND, VCC(5V로 적혀있음), D1 입니다.


스펙은 다음과 같습니다.


제품명    : WS2812 RGB (RGBW) LED

작동 전압: 3.3V ~ 5V

작동 전류: 1 LED당 10~80mA

외경 지름: 72mm

내경 지름: 56mm


RGB, RGBW 둘 다 된다고 합니다. RGB냐 RGBW냐에 따라 코드를 달리해야 한다고 하는데, 저는 마이크로비트 MakeCode 에디터로 테스트할 예정이니 딱히 신경 안써도 괜찮을 것 같습니다.

그리고 뒷면 핀에는 5V로 적혀있지만 작동전압은 3.3V부터라고 합니다. 마이크로비트에서도 문제없이 돌아가겠지요.

이제 테스트를 해봅니다.


1. 준비물

1) 네오픽셀 LED : 링형, 스트립형, 매트릭스형 등 종류는 상관없습니다.

2) 마이크로비트(+악어클립)


2. 회로도

일단 간단히 마이크로비트용 MakeCode 에디터의 회로도로 대신합니다.

나중에 fritzing용 마이크로비트 parts가 있는지 찾아봐야겠습니다.


마이크로비트

 네오픽셀 WS2812

 0번 링핀

 D1 (D0에 해봤는데 안 됩니다...)

 3V

 VCC(5V로 표시되어 있습니다.)

 GND

 GND


3. 실제 연결도

네오픽셀에 납땜한 핀을 악어클립으로 찝어놓는게 생각보다 쉽진 않네요. 그냥 브레드보드와 male to femle 점퍼도 이용해서 마이크로비트와 연결해 봤습니다. 다음에는 한쪽 끝이 점퍼로 되어있는 악어클립 점퍼 와이어를 준비해 두어야 겠습니다.


4. 테스트용 예제 작성


네오픽셀 전체의 색을 흰색에서 빨간색으로 바꿨다가 끄고 나서 무지개색으로 켠 후 그걸 회전시키는 예제입니다.

설명은 다음과 같습니다.


"neopixel"이라는 변수에 "16 LEDs & RGBW인 네오픽셀을 0번 핀으로 설정해서" 저장합니다.

각자의 네오픽셀 LED 스펙에 맞게 설정해주면 됩니다.

이후 neopixel 변수명으로 네오픽셀을 조정할 수 있습니다.


밝기 기본값(255)이 너무 밝아서 30으로 줄였습니다. 30도 생각보다 밝기는 합니다.


네오픽셀 전체를 설정한 색으로 보여줍니다. show 명령이 들어가야만 실제로 설정한 색이 표시됩니다.

show가 없는 블록은 설정만 하지 실제로 표시되지는 않습니다.


예를 들어 위의 블록은 strip 의 0번 픽셀(LED)의 색을 빨간색으로 설정만 합니다. 아래와 같은 show 명령을 해줘야만 실제로 색이 표시됩니다.


네오픽셀 LED 전체를 끄도록 설정합니다. 마찬가지로 show 명령을 해줘야 실제로 꺼집니다.


네오픽셀을 무지개색으로 보여줍니다. 1에서 360은 색의 범위입니다. 1~180으로 하면 빨간색~하늘색 정도만 표시되고, 1~50으로 하면 빨간색~노란색 정도만 표시됩니다. 대체로 기본값 그대로 사용할 것 같습니다.


네오픽셀의 픽셀(LED)를 1 단위로 회전시킵니다. 다시 말하지만 설정만 합니다. 아래의 show 블록을 만나야 실제로 표시됩니다.


이 외에도 몇 가지 블록이 더 있습니다만, 기본적으로 사용하기에는 위의 블록만으로 충분하리라 생각됩니다.


5. 결과 확인

6. 마무리

마이크로비트에서 네오픽셀을 사용하는 방법에 대해 알아보았습니다.

이미 네오픽셀용 블록이 라이브러리화 되어 있어서 그냥 블록만 추가하면 간단히 사용할 수 있어서 편리했네요.

주의할 점은 제가 찾아본 예제에서 나오는 네오픽셀 제품은 3핀이었는데, 제가 구매한 건 4핀이어서 핀 연결에 있어서 차이가 있다는 것 정도입니다.

그 외에는 어려운 점이 없으니 예제를 보고 몇 번 테스트 해보면 누구라도 쉽게 사용할 수 있으리라 생각합니다.

마이크로비트는 확실히 잘 만든 물건인 것 같네요.

+ Recent posts