"네오픽셀 (NeoPixel)"의 두 판 사이의 차이

도구의인간 메이커스 위키
이동: 둘러보기, 검색
잔글 (샘플)
(회로 연결)
2번째 줄: 2번째 줄:
 
== 회로 연결 ==
 
== 회로 연결 ==
 
http://d.pr/i/5BQjV.jpg
 
http://d.pr/i/5BQjV.jpg
https://cdn-learn.adafruit.com/assets/assets/000/030/892/medium640/leds_Wiring-Diagram.png?1456961114
 
 
* neopixel 부품의 volt 규격 확인해 전원 연결. 연결된 led 가 많다면 큰 전류 공급 가능해야함. (연결된 led 가 많지 않다면 아두이노 자체전원 사용해도 됨.)
 
* neopixel 부품의 volt 규격 확인해 전원 연결. 연결된 led 가 많다면 큰 전류 공급 가능해야함. (연결된 led 가 많지 않다면 아두이노 자체전원 사용해도 됨.)
 
* 전원에 연결하는 캐패시터는 선택사항. 갑작스런 전류로  led 손상되는 것을 방지하기 위함.
 
* 전원에 연결하는 캐패시터는 선택사항. 갑작스런 전류로  led 손상되는 것을 방지하기 위함.
 
* 신호선에 연결하는 저항은 선택사항. 300~500옴 사이 적당한 값으로. 역시 회로 보호 역할.
 
* 신호선에 연결하는 저항은 선택사항. 300~500옴 사이 적당한 값으로. 역시 회로 보호 역할.
 
* 신호선은 당연히 pwm 출력가능한 핀 사용.
 
* 신호선은 당연히 pwm 출력가능한 핀 사용.
 +
 
== 아두이노에서 ==
 
== 아두이노에서 ==
 
* 라이브러리 설치
 
* 라이브러리 설치

2017년 5월 18일 (목) 11:15 판

=='"UNIQ--h-0--QINU"' 개요 == =='"UNIQ--h-1--QINU"' 회로 연결 == 5BQjV.jpg

  • neopixel 부품의 volt 규격 확인해 전원 연결. 연결된 led 가 많다면 큰 전류 공급 가능해야함. (연결된 led 가 많지 않다면 아두이노 자체전원 사용해도 됨.)
  • 전원에 연결하는 캐패시터는 선택사항. 갑작스런 전류로 led 손상되는 것을 방지하기 위함.
  • 신호선에 연결하는 저항은 선택사항. 300~500옴 사이 적당한 값으로. 역시 회로 보호 역할.
  • 신호선은 당연히 pwm 출력가능한 핀 사용.

=='"UNIQ--h-2--QINU"' 아두이노에서 ==

  • 라이브러리 설치 아두이노 IDE의 library manager에서 바로 설치 가능하다. 5eEtb.jpg

==='"UNIQ--h-3--QINU"' 미니멀 코드 === '"UNIQ--source-00000000-QINU"' ===='"UNIQ--h-4--QINU"' 라이브러리 포함시키기 ==== '#include <Adafruit_NeoPixel.h>'로 라이브러리 포함시키기 ===='"UNIQ--h-5--QINU"' 연결핀 정의==== '#define PIN 9' 네오픽셀 연결된 핀 정의 ( 꼭 필요하진 않지만 편의를 위해 define) ===='"UNIQ--h-6--QINU"' 네오픽셀 오브젝트 만들기 ==== 'Adafruit_NeoPixel strip = Adafruit_NeoPixel( 60, PIN, NEO_GRB + NEO_KHZ800);'

여기에서 60은 led갯수,
PIN 은 신호핀,
NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products),
NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2),
NEO_GRBW 어떤 엘이디들은
NEO_RGBW W채널을 별도로 가지고 있다.
NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs),
NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
===='"UNIQ--h-7--QINU"' setup() ==== strip.begin(); //작동시작 strip.show();

===='"UNIQ--h-8--QINU"' loop() ==== 색설정 후 show()로 적용. 'strip.setPixelColor(n, red, green, blue);'에서 n 은 n번째 led (첫번째 led가 0번째임.) red, gree, blue은 0~255 사이 값. W채널이 있는 led의 경우 'strip.setPixelColr(n, red, green, blue, white);'로 사용.

==='"UNIQ--h-9--QINU"' 라이브러리 === {|border="1" |- |setPixelColor(n, r,g,b, [w]) |n = led 번호 (0부터...) r, g, b, w = 0~255 사이 각 컬러채널 값 |- |setPixelColor(n, color) |n = led 번호 color = 32bit 컬러 값 (아래 Color()함수 참고) |- |utin32_t Color(r,g,b); |32bit 컬러값을 만들 수 있음. 예를 들어, 'uint32_t magenta = strip.Color(255, 0, 255);' |- |show() |색 설정후에는 언제나 'show();'를 해 주어야 비로소 적용이 된다.
|- |uint32_t color = strip.getPixelColor(27); |27번 led의 컬러를 알아볼 수있다. |- |uint16_t n = strip.numPixels(); |몇개의 led를 가진 스트립인지 알아볼 수 있다. |- |strip.setBrightness(64); |전체적인 밝기를 조절 (0~255)할 수 있다. setup()에서 최초 사용하는 용도로 만들어진 함수. |}

==='"UNIQ--h-10--QINU"' 샘플 === scsCq.jpg 파일:Adafruit NeoPixel-master.zip

=='"UNIQ--h-11--QINU"' 참고 == https://learn.adafruit.com/adafruit-neopixel-uberguide/overview