7. LED dây NeoPixel RGB WS2812

../../_images/led_day.jpg

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


some image

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:

../../_images/yolo3.png ../../_images/mmr3.png ../../_images/led_day.jpg

Máy tính lập trình Yolo:Bit

Mạch mở rộng cho Yolo:Bit

LED dây NeoPixel RGB WS2812

Mua sản phẩm

Mua sản phẩm

Mua sản phẩm

  • 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

../../_images/noi_led_day.png

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.

../../_images/neopixel.png

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

../../_images/lenh_neopixel.png

  • Chương trình cơ bản để điều khiển LED dây

    1. Đầu tiên, chúng ta sẽ khởi tạo dây LED với chân điều khiển là P0 và số LED được cho trước:

    ../../_images/led_day_1.png
2. Sau khi khởi tạo, bạn có thể tự sáng tạo màu hoặc dùng các chế độ có sẵn trong khối lệnh. Ở đây, chúng tôi sẽ lấy ví dụ minh họa cho 2 chế độ hoạt ảnh LED có sẵn là firework và rainbow:
../../_images/led_day_2.png
3. Bạn có thể nạp chương trình này vào và quan sát xem hiệu ứng trên dây đèn LED thay đổi như thế nào. Chúc bạn thực hiện thành công nhé!

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);
}