안녕하세요~ 인투피온입니다.
오늘은 WS2812B 네오픽셀 모듈 사용법에 대해서 알아보겠습니다.
먼저 아래 그림에 보이는 검은색 칩은 WS2812으로
GND, VDC, Data In, Data Out 4개의 핀 만 있으면 사용이 가능해요.
이 칩은 daisy-chain으로 Data In과 Data Out를 통해 여러 개의 칩을 연결할 수 있어요.
준비물
뒷면은 저렇게 납땜을 해주셔야 돼요.
케이블이나 핀에 납땜해주시면 됩니다.
※상품명 클릭 시 구매 링크로 이동합니다.
아두이노 우노 호환 보드
WS2812B 1x8 네오픽셀 모듈
점퍼케이블
회로도
네오픽셀 모듈
|
아두이노 우노
|
GND
|
GND
|
VDC
|
VCC
|
DI
|
D6
|
코딩 및 동작
코딩하기에 앞서 먼저 라이브러리 추가를 해주셔야 돼요.
'Adafruit_NeoPixel' 를 검색하셔서 설치해주시면 됩니다.
#include <Adafruit_NeoPixel.h>
#define PIN 6 // DI 핀번호
#define N_LEDS 8 // 네오픽셀 LED 갯수
Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_GRB + NEO_KHZ800);
//NEO_GRB <= 네오픽셀 타입 , NEO_KHZ800 <= 클럭 주파수
void setup() {
strip.setBrightness(100); // 네오픽셀 밝기
strip.begin(); // 네오픽셀 시작
}
void loop() {
chase(strip.Color(50,255,50));
delay(150);
chase(strip.Color(50,50,255));
delay(150);
chase(strip.Color(255,50,50));
delay(150);
}
static void chase(uint32_t c) {
for(uint16_t i=0; i<strip.numPixels()+4; i++) {
strip.setPixelColor(i , c); // i 번째 픽셀에 LED 색상 지정
strip.setPixelColor(i-3, 0); // i-3 픽셀에 색상 0을 지정하여 지움
strip.show(); //
delay(10);
}
}
#include <Adafruit_NeoPixel.h>
#define PIN 6 // DI 핀번호
#define N_LEDS 8 // 네오픽셀 LED 갯수
Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, PIN, NEO_GRB + NEO_KHZ800);
//NEO_GRB <= 네오픽셀 타입 , NEO_KHZ800 <= 클럭 주파수
void setup() {
strip.setBrightness(100); // 네오픽셀 밝기
strip.begin(); // 네오픽셀 시작
}
void loop() {
int R = 0;
int G = 0;
int B = 0;
R = 255;
G = 0;
for (int B = 0; B < 256 ; B+=50) {
chase(strip.Color(R, G, 0));
R -= 50;
G += 50;
}
G = 255;
B = 0;
for (int R = 0; R < 256 ; R+=50) {
chase(strip.Color(0, G, B));
G -= 50;
B += 50;
}
B = 255;
R = 0;
for (int G = 0; G < 256 ; G+=50) {
chase(strip.Color(R, 0, B));
B -= 50;
R += 50;
}
}
static void chase(uint32_t c) {
for (uint16_t i = 0; i < strip.numPixels() + 4; i++) {
strip.setPixelColor(i , c); // i 번째 픽셀에 LED 색상 지정
strip.setPixelColor(i-3, 0); // i-3 픽셀에 색상 0을 지정하여 지움
strip.show();
delay(80);
}
/* 랜덤 위치 그리기
uint16_t i=random(0,8);
uint16_t j=random(0,8);
strip.setPixelColor(i , c); // i 번째 픽셀에 LED 색상 지정
strip.setPixelColor(j , c); // j 번째 픽셀에 LED 색상 지정
strip.show();
strip.setPixelColor(i , 0); // i 번째 픽셀지움
strip.setPixelColor(j , 0); // j 번째 픽셀지움
delay(100);
*/
}
위 소스 구동 결과
전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.
▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net
'인투피온 강좌 > 아두이노 팁(Tip)' 카테고리의 다른 글
아두이노 앱 인벤터 LED 컨트롤하기 (0) | 2021.12.28 |
---|---|
아두이노 DS18B20 LINE 사용하기 (0) | 2021.12.28 |
아두이노 도트 매트릭스 모듈(MAX7219) 사용하기 (0) | 2021.12.20 |
아두이노 RFID(RC522) NFC 사용하기 (0) | 2021.12.20 |
아두이노 서보모터 SG90 사용하기 (0) | 2021.12.20 |