Màu sắc trên vòng NeoPixel
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 13 trên 24.
Vòng này có 16 NeoPixel nối với nhau bằng một dây dữ liệu. Pixel đầu tiên chuyển tiếp phần dữ liệu còn lại đến pixel tiếp theo, nên chỉ cần một lần show() là có thể thiết lập tất cả. Các pixel được đánh số từ 0 đến 15.
ring.Color(red, green, blue) gộp một màu thành một số, để bạn có thể lưu số đó trong một biến và dùng lại. Kiểu dữ liệu của nó là uint32_t: một số nguyên 32 bit không bao giờ âm, đủ lớn để chứa cả ba thành phần.
uint32_t purple = ring.Color(150, 0, 255);
ring.setPixelColor(3, purple);
ring.setPixelColor(7, purple);
ring.show();Pixel nào bạn không đặt màu sẽ tắt. Giá trị 255 cho cả ba thành phần tạo thành màu trắng.
Thử thách
DễVòng đèn nối với chân 6. Bật sáng bốn điểm ảnh, cách nhau một phần tư vòng:
- điểm ảnh 0 màu đỏ, điểm ảnh 4 màu xanh lá, điểm ảnh 8 màu xanh dương, điểm ảnh 12 màu trắng
- tạo từng màu bằng
ring.Color(), mỗi thành phần là 0 hoặc 255 - để các điểm ảnh còn lại tắt
Nhấn Chạy, rồi nhấn Kiểm tra.
Tự làm thử
#include <Adafruit_NeoPixel.h>
// 16 pixel, dữ liệu trên chân 6
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
void setup() {
ring.begin();
// pixel 0 màu đỏ, 4 màu xanh lá, 8 màu xanh dương, 12 màu trắng
ring.show();
}
void loop() {
}
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
3NeoPixels
NeoPixel đầu tiênMàu sắc trên vòng NeoPixelTô đầy và xóa vòngHiệu ứng đuổi pixelĐộ sáng NeoPixelVòng cầu vồngTự luyện tập: Playground Arduino