728x90
네오픽셀이란?
WS2812B는 Adafruit사에서 만즌 이름으로 WS281x칩이 내장된 LED를 말합니다. 다른 조명들에비해 가격은 비싸지만 수명이 길며 여러개의 LED를 컨트롤함에 있어 배선이 간단하다는 장점이있습니다.
네오픽셀 사용법
네오픽셀은 1line 직렬통신으로 모델에따라 512포인트와 1024포인트를 제어가능합니다.
통신 규격은 아래 사진과 같습니다.
D1에서 D2로 D2에서 D3로 직렬로 512Point 혹은 1024Point 까지 연결 가능합니다.
RGB가 아닌 D1에 GRB 순서로 Green 8bit Red 8bit BLUE 8bit로 보내고 Reset code (Low 50us) 를 보내면 D1에 해당 색상으로 LED가 발광 하는것 입니다.
실습
1) 하나의 LED 연결해보기
#include <Adafruit_NeoPixel.h>
#define LED_PIN 3 // 네오픽셀 LED 3번핀에 연결
#define NUM_NEOPIXEL 1 // 네오픽셀 채널(갯수)
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_NEOPIXEL, LED_PIN, NEO_GRB + NEO_KHZ800); // pixels 객체 생성
void setup() {
pixels.begin(); // pixels 객체 초기화
// pixels.setBrightness(100); // LED 밝기 조절(0~255)
}
void loop()
{
pixels.setPixelColor(0, 255, 0, 0); // LED번호, R, G, B --> 0번 LED 빨간색 세팅(0~255)
pixels.show(); // LED마다 세팅된 컬러 출력
delay(1000); //1초 Delay
pixels.setPixelColor(0, 0, 255, 0); // LED번호, R, G, B --> 0번 LED 녹색 세팅(0~255)
pixels.show(); // LED마다 세팅된 컬러 출력
delay(1000); //1초 Delay
pixels.setPixelColor(0, 0, 0, 255); // LED번호, R, G, B --> 0번 LED 파란색 세팅(0~255)
pixels.show(); // LED마다 세팅된 컬러 출력
delay(1000); //1초 Delay
}
1초에 한번씩 설정된 레드 블루 그린 LED가 발광하는것을 볼수있다.
1) 여래개의 LED 연결해보기
#include <Adafruit_NeoPixel.h>
#define LED_PIN 3 // 네오픽셀 LED 3번핀에 연결
#define NUM_NEOPIXEL 4 // 네오픽셀 채널(갯수)
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_NEOPIXEL, LED_PIN, NEO_GRB + NEO_KHZ800); // pixels 객체 생성
void setup() {
pixels.begin(); // pixels 객체 초기화
// pixels.setBrightness(100); // LED 밝기 조절(0~255)
}
void loop()
{
pixels.setPixelColor(0, 255, 0, 0); // 0번 LED, 빨간색 세팅(0~255)
pixels.setPixelColor(1, 0, 255, 0); // 1번 LED, 초록색 세팅(0~255)
pixels.setPixelColor(2, 0, 0, 255); // 2번 LED, 파란색 세팅(0~255)
pixels.setPixelColor(3, random(256), random(256), random(256)); // 3번 LED,random 색상변경
pixels.show(); // LED마다 세팅된 컬러 출력
delay(1000);
}
0번 LED는 빨간색 1번LED는 초록색 2번LED는 파란색 3번LED는 랜덤하게 색상이 변경되는 것을 볼수있다.
결론
이제 WS2812 네오픽셀 LED를 아두이노로 제어할수있게 되었습니다.다양한 LED 조묭 효과를 만드렁보고 창의적인 조명 프로젝트를 구현해보세여
반응형
'arduino' 카테고리의 다른 글
아두이노 서보모터 다수제어 : 초보자를 위한 완벽한 가이드 (0) | 2023.10.05 |
---|---|
아두이노 서보모터 제어 : 초보자를 위한 완벽한 가이드 (0) | 2023.10.04 |
아두이노 자주 사용되는 기본함수 정리(시간,Serial) (0) | 2023.09.28 |
아두이노 자주 사용되는 기본함수 정리(기본,디지털입출력,아날로그 입출력) (0) | 2023.09.27 |
아두이노 PWM 제어: 초보자를 위한 완벽한 가이드 (0) | 2023.09.26 |