티스토리 뷰

(WS2812B 사용법및 예제 소스는 다음 포스팅 http://www.dev.re.kr/57 에서 확인할 수 있습니다.)


  뭐를 만드려고 하는데, RGB LED 개 열 개 정도 필요하게 되었다. 좋은 대안은 컨트롤하기 편한 Adafruit 에서 만든 NeoPixel 이 되겠다. 이 녀석은 디지털 출력 포트 하나로 여러 모듈을 동시에 컨트롤 할 수 있다는 것이 가장 큰 장점이다. 하지만,  좀비싸다. ㅠㅠ

  알리 익스프레스를 뒤져본 결과 NeoPixel 에 들어가는 WS2812B가 올라간 모듈을 아주 싼 가격에 팔고 있었다. 

 

100개에 17.99달러!!


  나는 10개만 필요하기 때문에 불량품이 있을 것을 감안하여 20개를 구입하였다. 무료 배송을 선택하고 2주 하고 5일 뒤에 상품이 왔다.

이런식으로 붙어있긴 하지만, 각 모듈과 모듈 사이에 회로가 연결되어 있는 것은 아니다. 하나씩 뜯어서 사용할 수 있다.


뒷 모습. 땜질을 아주 잘 해야 한다. 인두가 흰색 부분을 스치기만 해도 검게 타버린다.

플럭스가 없으면 납이 잘 달라붙지도 않는다. 



동전과의 크기 비교. 정말 작다.


  사용법은 GitHub 에 있는 NeoPixel 용 라이브러리를 사용하면 된다. (https://github.com/adafruit/Adafruit_NeoPixel) 그 밖에 여러 사람들이 WS2812B 을 사용할 수 있는 아두이노용 라이브러리를 커밋하고 있으니 참고하자.


위 영상은  https://github.com/adafruit/Adafruit_NeoPixel 의 예제 코드를 실행한 영상이다. 

예제 코드에서 LED개수를 3개로 수정해줘야 한다.



아두이노 프로 미니 호환 구입기에서 소개한 모듈에 WS2812B 과 배터리를 연결한 모습.



(P.s : 왕초보자라면 NeoPixel 을 추천한다. 땜하기도 어렵고 내구성이 조금 떨어지는 편이다.)


(WS2812B 예제  :  http://www.dev.re.kr/57 )



댓글
  • 프로필사진 Memory 안녕하세요. 구글 뒤지다가 RGB LED정보 보고 들어왔습니다. 저도 지금 RGB LED를 이용한 프로젝트 중인데 기존의 삼발이 led 쓰려하니 회로가 너무 복잡해 지더라고요 ㅜㅜ 그래서 neopixel을 사용해보려 하는데 몇가지 궁금한게 있어서요. 포스팅하신 WS2812B 제품도 하나의 pin으로 3가지의 색을 컨트롤 할 수 있는건가요?? 그리고 혹시 어떤방식으로 코딩을 해야 하는지 살짝만 알려 주시면 감사하겠습니다~ 2014.08.28 13:47 신고
  • 프로필사진 범 범2 neopixel 에 있는 LED 는 WS2812 또는 WS2811 를 사용하는 것으로 알고 있습니다. 그렇기 때문에 이 포스팅에 올린 WS2812B 와 링크로 올린 neopixel 라이브러리와 호환 됩니다. 위 동영상도 neopixel 라이브러리를 돌린 것 이고요.



    2014.08.28 14:00 신고
  • 프로필사진 범 범2 예제 코드를 보면 라이브러리 사용법은 간단합니다.
    우선 전역변수로 다음과 같이 선언해 주고...

    Adafruit_NeoPixel strip = Adafruit_NeoPixel(ws2812 의 개수, 디지털 출력 단자 번호, NEO_GRB + NEO_KHZ800);

    loop() 함수 내부에서 컨트롤 하고자 할때는 다음 함수를 이용하면 됩니다. 인자값 대신 설명을 적어 놓았으니 참고하세요.

    strip.setPixelColor(ws2812 의 번호. 만약 LED를 10개를 붙여놓았을 때 8을 입력한다면 9번째 LED에 불이 들어옴, R (0~255), G (0~255),B (0~255));




    2014.08.28 14:05 신고
댓글쓰기 폼