[디스플레이/원형칼라LED] 링형 RGB LED WS2812 Ring x24를 사용해 심플한 조명을 구현해보자
WS2812 링형 컬러 LED를 다루어보자
▶ 이 가이드를 따라하면
- 링형 LED를 다양한 형태로 다룰 수 있다
▶ 먼저 읽으면 좋은 글
- Arduino 일반 : http://bbangpan.tistory.com/1
- 끈형 LED 강좌 : http://bbangpan.tistory.com/22
▶ 부품 설명 및 회로 구성
전에 WS2812 끈형(strip) LED를 다루었는데 특성이 완전히 같은 링형 LED를 다루어보자. 사실 특별한 개수 제한없이 만들 수 있는데, 대개 8개, 12개, 24개, 60개 등이 주류를 이룬다. 여기 사진에는 24개짜리다. 뒤에 GND/PWR/Data-Input/Data-Output 등 단자가 여러 개씩 있을 수 있는데, 하나만 연결해도 작동한다(GND에 GND하나, PWR+5V에 5V하나만 연결하면 된다.) 이때 LED의 개수가 늘어나면 Arduino 전원만으로는 부족해서 별도 전원을 연결하기를 권장한다. (이 경우는 GND만 Arduino와 공유하고, PWR에 별도 전원의 5V를 연결한다)
<WS2812 Ring x24 의 앞뒤면이다. 핀에 대한 납땜은 별도로 했다.>
배선은 역시 간단해서, 5V, GND, Data-Input만 연결해주면 된다. Data-Output은 타 strip에 연결할 때 사용된다. (이렇게 하면 더 많은 개수의 LED를 붙여서 제어할 수 있다)
<GND -> GND, PWR+5 -> 5V, Data-Input -> D6 에 연결>
당연하게도 이 LED는 RGB의 모든 색깔이 지원된다. 아래 간단히 라이브러를 통해 구현해보자..
▶ 소스 코드 입력 및 구동
아래 라이브러리를 다운 받은 후 예제에서 strandtest를 컴파일해서 구동하면 오색찬란한 LED쇼를 볼 수 있다.
https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library 를 참조하면 되는데, 실제 라이브러리는 https://github.com/adafruit/Adafruit_NeoPixel 에서 오른쪽 하단의 download zip을 클릭해서 받아 역시 Arduino설치폴터\libraries에 풀면 된다. 압축을 풀고 나서 Arduino(sketch)를 구동하면(이미 시작한 상태라면 끝내고 다시 구동), 예제에서 이렇게 선택이 가능하다.
<예제/Adafruit_NeoPixel/strandtest>를 로딩해서 컴파일/실행하자>
Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800); 부분을 60->24로 바꾸면 좀더 부드럽게 쇼를 볼 수 있다(60은 LED의 개수에 따라 조절하면 되는데, 여기는 24개이므로 24이다)
▶ 구매 가이드
ws2812 ring : http://www.aliexpress.com/premium/ws2812-ring.html?ltype=wholesale&SearchText=ws2812+ring&d=y&origin=y&initiative_id=SB_20151015080840&isViewCP=y&catId=0 ($ 6)
▶ 강의 키워드
ws2812 ring, ws2812 링 RGB LED, Arduino UNO, RGB LED, 아두이노 링형 LED, adafruit neopixel