7. LED dây NeoPixel RGB WS2812

Dây 60 LED/1m NeoPixel RGB LED WS2812 có 60 LED RGB WS2812 trên đơn vị độ dài 1 mét, giao tiếp nối tiếp qua chuẩn 1 wire (chỉ cần 1 chân data duy nhất). Mạch này rất dễ sử dụng với bộ thư viện hỗ trợ đi kèm.
Mỗi LED có khả năng hiển thị lên đến 16777216 màu và 256 cấp độ sáng khác nhau, phù hợp cho các ứng dụng trang trí, hiển thị như đồng hồ LED, vòng đeo tay LED, LED trang trí,…
1. Mua sản phẩm

2. Thông số kỹ thuật
Thông số kỹ thuật
IC chính: LED RGB WS2812
Điện áp sử dụng: 4~7VDC (tốt nhất 5VDC)
Cỡ LED: SMD 5050 LED
Chuẩn giao tiếp: 1 wire.
Số LED hiển thị: 60 LED/1m
Sơ đồ chân
STT |
Chân |
Chức năng |
---|---|---|
1 |
DI |
Data In, chân đầu vào dữ liệu kết nối với ,mạch mở rộng (Phía đuôi mũi tên trên dây LED) |
2 |
VCC |
Cấp nguồn (5V), có thể cấp 4 ~ 7VDC. (Màu đỏ) |
3 |
GND |
Chân Mass, 0V. (Màu trắng) |
4 |
DO |
Data Out, dùng để nối tiếp tín hiệu đến các khối LED khác. |
Lưu ý: Không nối chân Vi điều khiển vào chân DO
3. Kết nối
Bước 1: Chuẩn bị các thiết bị như sau:
![]() |
![]() |
![]() |
---|---|---|
Máy tính lập trình Yolo:Bit |
Mạch mở rộng cho Yolo:Bit |
LED dây NeoPixel RGB WS2812 |
Bước 2: Cắm Yolo:Bit vào mạch mở rộng
Bước 3: Cắm thiết bị vào chân P0 trên mạch mở rộng

Bạn có thể kết nối với bất kỳ chân nào trên mạch mở rộng
4. Hướng dẫn lập trình với OhStem App
Để điều khiển được LED dây, chúng ta phải cần thêm thư viện mở rộng NEOPIXEL, bạn hãy copy đường dẫn sau: https://github.com/AITT-VN/yolobit_neopixel.git và dán vào mục mở rộng để tải thư viện mở rộng.
Xem hướng dẫn tải thư viện tại đây.

Trong thư viện sẽ có các khối lệnh như sau:

Chương trình cơ bản để điều khiển LED dây
5. Hướng dẫn lập trình Arduino
Mở phần mềm Arduino IDE. Xem hướng dẫn lập trình với Arduino tại đây.
Copy đoạn code sau, click vào nút
Verify
để kiểm tra lỗi chương trình. Sau khi biên dịch không báo lỗi, bạn có thể nạp đoạn code vào board.
#include "YoloBit.h"
#include <Adafruit_NeoPixel.h>
Yolobit yolobit;
//Chương trình thay đổi hiệu ứng LED
#define PIN_NEO_PIXEL P0 // Chân của Yolobit được kết nối với NeoPixel
#define NUM_PIXELS 4 // Số LED trên NeoPixel
Adafruit_NeoPixel NeoPixel(NUM_PIXELS, PIN_NEO_PIXEL, NEO_GRB + NEO_KHZ800);
void setup() {
NeoPixel.begin();
}
void loop() {
NeoPixel.clear();
// Bật từng LED màu xanh lá cây, một cái một lần với thời gian delay giữa các LED là 500ms
for (int pixel = 0; pixel < NUM_PIXELS; pixel++) {
NeoPixel.setPixelColor(pixel, NeoPixel.Color(0, 255, 0));
NeoPixel.show();
delay(500);
}
// Tắt toàn bộ LED trong 2 giây
NeoPixel.clear();
NeoPixel.show();
delay(2000);
// Bật toàn bộ LED màu đỏ cùng một lúc trong 2 giây
for (int pixel = 0; pixel < NUM_PIXELS; pixel++) { // for each pixel
NeoPixel.setPixelColor(pixel, NeoPixel.Color(255, 0, 0)); // it only takes effect if pixels.show() is called
}
NeoPixel.show(); // send the updated pixel colors to the NeoPixel hardware.
delay(2000); // on time
// Tắt toàn bộ LED trong 1 giây
NeoPixel.clear();
NeoPixel.show();
delay(1000);
}