Board 4x4 LED RGB WS2812B được thiết kế với 16 NeoPixels LED và LED driver là chip WS2812B được tích hợp bên trong chip cũng với một mã số riêng biệt cho từng chip led. LED RGB WS2812 có thể giao tiếp với Arduino hoặc một số microcontroller khác để điều khiển qua giao tiếp Single-wire. Với khả năng hiển thị tất cả các màu với 256 mức độ sáng khác nhau, board phù hợp với rất nhiều ứng dụng trang trí.
Thông số kỹ thuật
Sử dụng cơ bản
Cài đặt thư viện
Sau khi tải thư viện về, bạn mở cửa sổ Arduino, chọn Sketch --> Import Library… --> Add Library… sau đó chọn file .zip mà bạn vừa tải về để có thể sử dụng thư viện.
Kết nối dây
Board led | IoT WiFi Uno |
---|---|
DI | GPIO15 |
5V | 5V |
GND | GND |
Mẹo Chúng ta có thể kết nối nhiều Board led với nhau bằng cách nối chân DO của Board led trước với chân DI của Board led sau.
Code mẫu
#include <Adafruit_NeoPixel.h>
#define PIN 15 // Chan DI cua mach
#define NUM_LED 16 //Tong so Led tren mach
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LED, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.setBrightness(30);
strip.show();
}
void loop() {
rainbowCycle(10);
}
void rainbowCycle(uint8_t wait) {
uint16_t i, j;
for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 - WheelPos;
if(WheelPos < 85) {
return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
}
LED_RGB_WS2812_5050.ino
Demo