손바닥컴퓨터들2014.01.18 18:47

사용하기 쉽고 응용처가 많은 NeoPixel(이하 RGB 칼라픽셀로 칭함) 제품의 사용법을 간단히 정리해보겠습니다.  이미 상점 간판을 돋보이는 용도로 RGB LED가 많이 사용되고 있습니다만, 많은 경우 단색이거나 모든 LED가 하나의 색상으로 켜지는 제품이 대부분입니다.   여기서 안내드리는 칼라픽셀 제품들은 RGB LED 하나당 전용 드라이버칩이 하나씩 내장되어 있고,  여러개의 LED모듈이 하나의 신호선을 통해 직렬로 연결되어 있어서 하나의 데이터 신호선으로 수십개 이상의 칼라픽셀을 개별 색상 제어할 수 있는 제품입니다.

 

이미 제조사에서 매우 잘 정리해 놓은 튜토리얼 페이지가 있습니다만 내용이 너무 많거나 영어 자료가 익숙하지 않으신 분들은 본 요약 안내글을 먼저 보시고 제조사 튜토리얼을 참고하시면 도움이 될것 같습니다.


현재 이글을 통해 소개중인 제품은  30개 모듈이 스트립형으로 연결된 제품입니다.  (제품링크)


주요 재료

아두이노 UNO, USB케이블

전선 4가닥(조금 두꺼운 단선 또는  점퍼와이어 가능, 단선으로 된 랜케이블도 가능)

전원커넥터 스크류타입 (또는  기본형 ,  브레드보드형 등)

정전압 아답터 5V 2A 형

RGB 칼라픽셀( NeoPixel 30 RGB Strip형)


프로그래밍 


1. 라이브러리와 예제소스를 다운로드합니다. (제조사 튜토리얼 해당 페이지에서)

 http://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library  페이지 에서 아래 링크 다운로드

  1. Select the “Download ZIP” button, or simply click this link to download directly.

2. 압축파일을 해제 및 폴더명 변경

압축해제된 폴더중  *.cpp  *.h 파일이 포함된 폴더의 폴더명을 Adafruit_NeoPixel 로 변경합니다.


3. 라이브러리 설치

최근 아두이노 1.0.5 프로그램에서는 라이브러리 복사 과정을 대신해주는 기능이 지원되므로 아래의 메뉴를 선택하여 위 폴더를 선택해주면 라이브러리가 설치됩니다.


메뉴> 스케치 > 라이브러리 가져오기 >  Add Library…  선택후  해당 폴더 선택


참고사항. 구 버전 아두이노 SW 에서는 위 폴더를 아두이노 라이브러리 폴더에 직접 복사해야합니다. (구 버전을 사용하시는 분들은 라이브러리 설치 관련 자료를 참고하시기 바랍니다.)


4. 아두이노 SW를 종료후 다시 실행합니다.


5. 라입러리 및 예제소스 설치 확인

라이브러리가 정상적으로 설치된 경우,

메뉴 > 파일 > 예제 리스트를 살펴보면 Adafruit_NeoPixel 폴더가 보입니다.

관련 예제가 두개 있는데 strandtest 예제를 선택하시면 됩니다.


6. 소스 수정.


제품종류나 칼라픽셀의 개수에 따라 NeoPixel 선언부에 설정되는 값이 변경되어야합니다.


Adafruit_NeoPixel strip = Adafruit_NeoPixel(30, PIN, NEO_GRB + NEO_KHZ800);



우리가 사용중인 제품은 픽셀 개수만 변경해주면 됩니다. 첫번째 인수가  픽셀의 개수이며 60으로 되어있는 값을 30으로 변경하기만 하면 됩니다.  (주석을 보면 어떤 내용인지 확인 가능)



7.아두이노 보드 종류와 COM번호 설정후 업로드한다.


참고로 데이타 전송용 핀번호는 6번으로 설정되어 있습니다. 이 값은 소스 상단에 있는 define 부분에 정의되어 있으며 필요시 다른 핀번호로 변경 가능합니다.


참고사항.  프로그램 업로딩은 항상  제품을 결합하기 전에 하는 습관을 갖기 바랍니다.  운이 나쁘면 기존에 어떤 프로그램이 들어있는지에 따라 아두이노와 부품에 손상을 가져올  가능성이 있습니다.



이제 회로를 연결합니다.



회로 연결은 매우 간단합니다.  아두이노 보드에 GND와 D6 핀 두개만 연결되면 됩니다.

하지만 많은 분들이 실수 하시는 부분이 있으니 아래 사항을 꼭 주의 하시기 바랍니다.


1. 제품을 잘 보시면 화살표가 있습니다. 전선 결합은 꼭 입력측에 해주셔야합니다. 즉, 화살의 꼬리측에 있는 GND, DIN, +5V 핀에 전선을 연결하여 아두이노측에 연결해주셔야합니다. 종종 사용중에 선을 변경하시다가 화살촉 부분에 연결하시게 되면 작동이 되지않습니다.


2. 아두이노상의 GND와 외부전원의 GND 둘 다 본 제품의 GND에 결합되어야 합니다. 외부전원을 사용하는경우 GND 공통 접지를 잊으셔서 작동이 안되는 경우가 많습니다.


3. 전원은 pixel 30개를 사용하는 경우 5V 2A 정전압 아답터 전원 사용을 권장합니다. 전압은 꼭 정전압 5V여야하고, 암페어(전류)규격은 2A 이상이면 됩니다. 3A , 5A 제품을 사용하실 수 있습니다. 또한 픽셀을 3개정도 만 잘라서 사용한다면 전류 소모가 작으므로 아두이도 5V 핀으로 부터 전원을 공급받아도 무관합니다. 픽셀이 많아질 수록 전력소모가 크며 적절한 전원을 공급하지 않으면 비정상 작동되거나 고장의 원인이 될 수 있습니다.



전선 납땜하기
30모듈형 칼라픽셀은 5미터 형 제품을 5등분한 제품입니다. 이때문에 대부분 전선이 연결되어 있지 않은 상태이므로 직접 전선을 납땜해주셔야합니다. 전선은 아두이노와 브레드보드 연결시 사용되는 점퍼와이어나 AWG22 규격정도의 단선, 또는 단선으로 된 랜케이블을 잘라서 사용하시면 됩니다. 중요한점은 GND부분에서 전선이 두가닥이 나와야 하나는 아두이노 GND에 나머지 하나는 외부전원 GND에 연결되게됩니다. 이때문에 총 4가닥의 전선이 필요합니다.


전원 소켓 준비하기
대부분의 정전압 아답터의 DC출력부는 5.5x2.1mm 규격의 둥근형태의 DC플러그입니다. 이 DC 플러그로 부터 전원을 공급받기 위해 전선을 잘라서 납땜하는것보다는 적절한 DC커넥터 제품을 이용하면 아답터 전원을 장착/탈착하기 편리합니다. 제경우 스크류 터미널로 납땜없이 전선 결합이 가능한 제품을 사용하였습니다. 이외에도 저렴한 일반 DC잭이나 브레드보드 호환 DC잭 활용도 가능합니다.

TIP.  현재 예제에서는 PC와 USB케이블로 연결하거나  별도의 9V아답터를 DC잭에 연결하여 아두이노 보드에 전원을 공급하고 있습니다만  정전압 5V 전원아답터를 사용하실 경우  아두이노 보드용 전원을 별도로 공급하지 않을 수 있습니다.  즉,  아두이노 보드에 연결된 USB케이블과  DC잭에 연결된 전원을 모두 제거하신 상태에서   정전압 5V 전원에서  5V전원선을 하나 더 연결하여 아두이노의 5V핀에 직접 연결해주시면  아두이노 보드도  정전압 아답터로부터 전원을 공급 받을 수 있습니다.  즉,  5V 단일 전원으로   아두이노 보드와  RGB 칼라픽셀을 모두 구동하실 수 있습니다.





















저작자 표시 비영리 변경 금지
신고
Posted by 로보밥 로보밥

댓글을 달아 주세요

  1. 비밀댓글입니다

    2014.04.02 00:51 [ ADDR : EDIT/ DEL : REPLY ]
  2. GB

    질문있습니다! 전 라즈베리파이로 LED를 제어하려 하는데... 파이썬 말고 자바로 LED를 제어할 수 있을까요?

    2014.07.24 21:53 신고 [ ADDR : EDIT/ DEL : REPLY ]
  3. 별밤홀릭

    아두이노가 아닌 다른 마이크로프로세서에서 제어하려고 합니다.

    (ex.ATmega128) 혹시 제어가 가능한가요?

    2014.11.30 13:17 신고 [ ADDR : EDIT/ DEL : REPLY ]
  4. 별밤홀릭

    아두이노가 아닌 다른 마이크로프로세서에서 제어하려고 합니다.

    (ex.ATmega128) 혹시 제어가 가능한가요?

    2014.11.30 13:17 신고 [ ADDR : EDIT/ DEL : REPLY ]