본문 바로가기

보유제품및 리뷰

WS2812B 네오픽셀 스트립 수령 및 간단한 테스트

버섯돌이의 구매 부품 정리

WS2812 Strip Adafruit Neopixel

Created Date: 2016.11.03
Modified Date: 2016.11.03
revision 1.0


안녕하세요 버섯돌이 유재성입니다.


최근에 수령한 아래 제품에 대해서 간단히 살펴보겠습니다.



9월 말에 WS2812B 네오픽셀 가격이 예전보다 저렴해져서 대충 WS2812B 가격과 특징을 정리할 겸 부랴부랴 구매했었더랬죠^^


저는 WS2812B를 원하는 길이만큼 잘라서 사용할 목적이라 가성비로 1미터에 60개짜리를 구매했었습니다.

http://s.click.aliexpress.com/e/vzZzfMbmq


주문 당시에 $5.99로 저렴했었는데 최근에 하나 더 사려고 보니 등기 배송이라 배송비 가격이 올랐다가.....

글 쓰면서 잠깐 보니 제품 가격도 $5.49로 조금 떨어지고 배송도 다시 무료 배송으로 바뀌었네요.^^

(최근에 이상하게 알리에서 중국 항공 등기로 무료 배송해주는 대다수의 제품들이 한국으로는 2달러 전후의 배송비가 붙더군요.)


위제품은 알리 전용 앱에서는 추가 할인이 되니 스마트폰에서 https://goo.gl/1CZUh6 을 클릭하거나

아래 URL을 클릭하면 사용 중인 폰 종류에 맞게 자동으로 앱 설치 화면으로 이동되니 설치해 두세요.

http://s.click.aliexpress.com/app/go_aff?sk=ZnyVBIQrz&channel=go_aff

단축 URL : https://goo.gl/1CZUh6


알리에서 제품을 구매하시려는 분들은 11.11 행사를 맞이해서 알리를 비롯하여 다양한 사이트에서 할인 행사를 하고 있으며

알리의 경우 회원 가입 방법 및 알리익스프레스 쿠폰을 비롯하여 이벤트 등의 정보를 설명했으니 참고 하시기 바랍니다.

http://blog.naver.com/dev4unet/220848846658


참고로, 아래 그림처럼 제품 가격 밑에 모바일 아이콘 표시가 있는 제품들은 전용 앱에서 보통 1~2% 정도 추가 할인됩니다.

 

최대 할인 율은 높게 나와있으나 제품에 따라 다르겠지만 저는 통상 1~2% 정도 되는 것 같았습니다.


그럼 배송 온 제품을 살펴보겠습니다.^^

딱히 심하게 파손되는 제품이 아닌데 가격 대비 안쪽도 뽁뽁이로 꼼꼼하게 포장되어 있네요.^^



제가 구매한 제품은 5V로서 60개의 LED 제품입니다.

PCB의 경우 블랙이 더 비싼 업체들도 있는데 화이트와 블랙 모두 가격이 동일해서 특별히 블랙으로 주문했습니다.^^;;;



제가 구매한 제품은 사진처럼 양면테이프가 붙어있는 제품입니다.


 

처음 사용했던 제품은 양면테이프가 없었는데..

집에 있는 양면테이프를 사용하니 잘 떨어지고 지저분하기에 특별히 양면테이프가 있는 제품을 구매했습니다만...

ㅎㅎㅎ.. 생각해 보니 제가 만들려는 제품은 양면테이프가 반대쪽에 있어야 하니 필요 없네요..^^;;;

그리고 양 끝에 커넥터가 붙어있으며 아두이노 등과 연결하기 쉽도록 별도의 케이블이 하나 더 있습니다.

 


알리의 경우 국내 쇼핑몰의 구매 결정처럼 구매자를 위한 보호 기능이 있습니다.

아무래도 대부분 외국으로 저렴하게 무료 배송을 해주기 때문에 대다수의 판매자가 구매자 보호 기간을 좀 길게 잡아줍니다.

요청하면 연장해 주기도 하는데 구매 결정을 해줘야 판매자에게 대금이 지급되는데 판매자가 물건을 판매하고 나서

사용자의 구매 결정을 장기간 기다려야 하기 때문에 개인적으로는 가급적 빨리빨리 구매 결정을 해주고 있습니다.^^;;


이번에 구매한 위제품의 판매자는 구매자 보호 기간이 7일 정도 남았는데 자기가 배송 조회해 보니...

제가 아직 제품을 수령하지 않은 것 같아서 구매자 보호 기간을 30일을 연장했다고 알려 주더군요.^^;;


보통은 귀찮아서 테스트는 하지 않고 간단히 살펴보지만 WS2812B 제품은 테스트가 수월하기 때문에 간단히 테스트했습니다.


예전에는 아두이노에 직접 연결했습니다만...

http://blog.naver.com/dev4unet/220824812556

위의 WS2812B 자료를 정리하면서 저항과 콘덴서를 사용하라고 해서 이번에는 특별히 저항과 콘덴서를 사용했습니다.^^





저항은 WS2812B와 연결할 아두이노 데이터 핀에 100Ω에서 500Ω 사이의 적당한 저항을 사용하시면 될 것 같으며...

전원 터미널의 +와 -에 100µF~1000µF 대형 콘덴서를 사용하라고 강력하게 권장하고 있어서 100µF를 사용했습니다.

Adafruit에서는 1000µF의 대형 콘덴서를 권장하지만 저는 잠깐 테스트만 하고 잘라서 사용할 예정이라 중요하지 않으니..^^;;

저도 초보라서 보다 자세한 내용은 정리했던 글을 참고하시기 바랍니다.


참고로, 기존 강좌의 꽃 게용 VU-Meter를 만들던 중이라 브레드보드에서 IC를 꺼내기 귀찮아서 그대로 사용했습니다만... 

영상에 보이는 아두이노 좌측의 IC는 사용하지 않으니 오해 없으시기 바랍니다.


일단, 각 LED가 정상 동작하는지의 확인이 제일 중요했고...

5v 보조 배터리로 60개 정도를 동작 시킬 수 있는지도 겸사겸사 확인하기 위해 각 LED 색을 랜덤으로 변하게 하면서 테스트했습니다.

(60개 모두를 최대 밝기 상태로 켜 놓아도 되겠지만... 장시간 그렇게 동작할 확률은 높지 않으므로...)


WS2812B 제어에는 Adafruit NeoPixel Library를 사용했으며, 제공되는 Simple 예제 코드를 이용해서 간단히 테스트했습니다.

// NeoPixel Ring simple sketch (c) 2013 Shae Erisson

// released under the GPLv3 license to match the rest of the AdaFruit NeoPixel library

#include <Adafruit_NeoPixel.h>
#include <avr/power.h>

// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN            6

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS      60    // 제가 사용할 제품이 1미터에 60개짜리 제품이라 제어할 LED는 60 개

// When we setup the NeoPixel library, we tell it how many pixels, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 50; // delay for half a second

void setup() {
  // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
  if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
  // End of trinket special code

  // if analog input pin 0 is unconnected, random analog
  // noise will cause the call to randomSeed() to generate
  // different seed numbers each time the sketch runs.
  // randomSeed() will then shuffle the random function.
  randomSeed(analogRead(0)); 
  
  pixels.begin(); // This initializes the NeoPixel library.
}

void loop() {

  // For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one.

  for(int i=0;i<NUMPIXELS;i++){
  int randR = random(0, 255); // RGB 값을 매번 랜덤하게...
  int randG = random(0, 255); // 변수 선언은 Loop 밖으로 꺼내기 귀찮아서.. 쿨럭...
  int randB = random(0, 255);

    // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setPixelColor(i, pixels.Color(randR,randG,randB)); // Moderately bright green color.

    pixels.show(); // This sends the updated pixel color to the hardware.
    delay(delayval); // Delay for a period of time (in milliseconds).
  }
}


led-heart-ws2812b.ino



마치며..

그럼 다른 분들께 조금이라도 도움이 되었길 바랍니다.^^


본문 수정 시 가급적 공유한 곳의 글 들도 함께 수정하려고 노력합니다만 누락되는 경우가 많습니다.^^;;;

작성한지 오래된 강좌는 가급적 원본 글도 함께 참고 하시기 바랍니다.



[참고자료]

RGB BAR ( WS2812 , WS2812B , WS2813 ) 정리

http://blog.naver.com/dev4unet/220824812556 


Adafruit NeoPixel Library

https://github.com/adafruit/Adafruit_NeoPixel


Adafruit - Arduino Library Use

https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library 


Addressable RGB 60-LED Strip, 5V, 2m (WS2812B)

https://www.pololu.com/product/2547


Powering NeoPixels

https://learn.adafruit.com/adafruit-neopixel-uberguide/power


알리익스프레스 회원 가입 및 100$ 쿠폰 팩 받기

http://blog.naver.com/dev4unet/220848846658


WS2812B 스트립 제품 구매한 곳

http://s.click.aliexpress.com/e/vzZzfMbmq


알리익스프레스 전용 앱 설치 URL

https://goo.gl/1CZUh6 


End.

이 저작물은 크리에이티브 커먼즈 저작자표시-비영리 3.0 Unported 라이선스에 따라 이용할 수 있습니다.