본문 바로가기

[micro:bit] 마이크로비트 - 네오픽셀(neopixel) 사용하기

by rudals.kim 2020. 12. 30. 댓글 개
반응형

네오픽셀이라고 해야 쉽게 제품을 이해할 수 있을 것 같아 제목을 "네오픽셀 사용하기"로 정했습니다

실제로 제품명이 네오픽셀이지 그 구성하고 있는 LED는 WS2812B 소자를 사용하고 있습니다.

 

아래 그림처럼 LED 여러개가 일렬로 쭉~ 연결되어 있습니다.

에지 커넥터를 구입했으니 외부 디바이스도 테스트할 겸 네오픽셀을 테스트해 보겠습니다.

윗 그림을 보면 +5V/Din/DO/GND 이런 핀들이 있는데 +5V/Din/GND 3라인을 사용할 예정입니다.

 

  핀 설명  

+5V : 이번에 사용되는 네오픽셀은 +5V에서 동작되는 타입니다.

Din : 마이크로비트에서 제어신호를 넣어줘야 합니다.

DO : LED를 연장하고 싶은 경우 DO의 라인을 다음 LED의 Din으로 연결하면 더 많은 LED를 사용할 수 있습니다.

GND : 공통 접지로 전원간 GND를 서로 연결합니다.

 

마이크로비트에서는 +3V가 출력되어 네오픽셀에서 사용할 수 없습니다.

네오픽셀을 위해 여분의 USB 케이블을 절단하여 +5V라인과 GND라인을 따로 연결하여 외부 전원으로 넣어줬습니다.

아래 그림처럼 연결 후 정상적으로 잘 동작되는 것을 확인하였습니다.

rainbow 함수를 사용하여 총 16개의 LED를 연결하였습니다. 

정상동작을 확인 후 뭔가 정적인 것보다는 동적인 것을 구현해 보고 싶어 다른 소스를 하나 더 작성해 보았습니다.

 

아래는 자바스크립트 소스입니다.

let led2 = neopixel.create(DigitalPin.P8, 16, NeoPixelMode.RGB)
basic.forever(function () {
    for (let index = 0; index <= 15; index++) {
        led2.setPixelColor(index, neopixel.colors(NeoPixelColors.White))
        led2.show()
        basic.pause(50)
        led2.setPixelColor(index, neopixel.colors(NeoPixelColors.Red))
        led2.show()
    }
})

아래는 윗 소스코드로 실행된 동영상입니다. 

 

반응형

댓글