Hiệu ứng đuổi pixel
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 15 trên 24.
Đèn chạy quanh một vòng tròn, mỗi lần chỉ bật một pixel và chuyển sang pixel tiếp theo sau mỗi bước. Vòng lặp for cung cấp số pixel:
for (int i = 0; i < 16; i++) {
ring.clear(); // Điểm ảnh cũ tắt
ring.setPixelColor(i, orange); // Điểm ảnh mới sáng lên
ring.show();
delay(100);
}clear() chạy trước, vì vậy pixel cuối cùng tắt trong cùng lần show() bật pixel tiếp theo. Nếu thiếu lệnh này, mọi pixel sẽ vẫn sáng và vòng tròn sẽ sáng kín.
Vòng lặp dừng sau pixel 15, loop() chạy lại và i bắt đầu từ 0: đèn cứ chạy vòng quanh.
Thử thách
DễCho đèn màu cam chạy quanh vòng:
- thắp sáng từng điểm ảnh một, từ 0 đến 15
- sáng 100 ms trên mỗi điểm ảnh
- sau 15, bắt đầu lại từ 0
Nhấn Chạy, rồi Kiểm tra.
Tự làm thử
#include <Adafruit_NeoPixel.h>
// 16 pixel, dữ liệu truyền qua chân 6
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
uint32_t orange = ring.Color(255, 40, 0);
void setup() {
ring.begin();
}
void loop() {
// Thắp sáng từng pixel một, từ 0 đến 15, mỗi pixel 100 ms
}
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