Menu
CoddyTech

NeoPixel đầu tiên

Thuộc phần Màn hình và cảm biến trong hành trình Arduino của Coddy. Bài học 12 trên 24.

NeoPixel là một đèn LED RGB có một chip nhỏ bên trong. Nó dùng một dây dữ liệu thay vì ba chân màu: bo mạch gửi màu dưới dạng một loạt xung, rồi điểm ảnh giữ màu đó cho đến khi nhận màu mới.

Thư viện Adafruit_NeoPixel gửi các xung đó. Tạo một đối tượng với số lượng điểm ảnh, chân dữ liệu và loại điểm ảnh (NEO_GRB + NEO_KHZ800 là thứ tự màu và tốc độ của các điểm ảnh này):

#include <Adafruit_NeoPixel.h>

Adafruit_NeoPixel pixel(1, 6, NEO_GRB + NEO_KHZ800);

Trong setup(), pixel.begin() chuẩn bị chân dữ liệu. Sau đó, đặt màu cho một điểm ảnh bằng số thứ tự của nó (bắt đầu từ 0) và các giá trị đỏ, xanh lá, xanh dương, mỗi giá trị từ 0 đến 255:

pixel.setPixelColor(0, 255, 0, 0);   // pixel 0: màu đỏ tối đa
pixel.show();                        // gửi đi

setPixelColor() chỉ lưu màu vào bộ nhớ của bo mạch. Điểm ảnh không thay đổi cho đến khi show() gửi màu đó.

challenge icon

Thử thách

Dễ

Một NeoPixel được nối với chân 6. Trong setup():

  • khởi động nó bằng pixel.begin()
  • đặt pixel 0 thành màu xanh lá
  • gửi màu bằng pixel.show()

Nhấn Chạy, sau đó nhấn Kiểm tra.

Tự làm thử

#include <Adafruit_NeoPixel.h>

// 1 pixel, dữ liệu trên chân 6
Adafruit_NeoPixel pixel(1, 6, NEO_GRB + NEO_KHZ800);

void setup() {
  // khởi động pixel, rồi cho nó sáng màu xanh lá
}

void loop() {
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Màn hình và cảm biến

Tự luyện tập: Playground Arduino