Menu
CoddyTech

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.

challenge icon

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