像素环上的颜色
本课属于 Coddy Arduino 学习旅程的“显示器与传感器”单元。第 13 课,共 24 课。
这个灯环通过一根数据线连接了 16 个 NeoPixels。第一个像素会把剩余的数据传给下一个像素,因此调用一次 show() 就能设置所有像素。它们的编号是 0 到 15。
ring.Color(red, green, blue) 会把颜色打包成一个数字,这样你就可以把它保存在变量中,以后再次使用。它的类型是 uint32_t:一个 32 位的无符号整数,足够存储这三个部分。
uint32_t purple = ring.Color(150, 0, 255);
ring.setPixelColor(3, purple);
ring.setPixelColor(7, purple);
ring.show();没有设置颜色的像素会保持熄灭。三个部分都设为 255 时,颜色是白色。
挑战
简单灯环连接在引脚 6 上。点亮 4 个像素,沿灯环均匀间隔:
- 像素 0 为红色,像素 4 为绿色,像素 8 为蓝色,像素 12 为白色
- 用
ring.Color()设置每种颜色,每个部分的值为 0 或 255 - 让其他像素保持熄灭
按“运行”,然后按“检查”。
亲手试试
#include <Adafruit_NeoPixel.h>
// 16 个像素,数据引脚为 6
Adafruit_NeoPixel ring(16, 6, NEO_GRB + NEO_KHZ800);
void setup() {
ring.begin();
// 像素 0 为红色,4 为绿色,8 为蓝色,12 为白色
ring.show();
}
void loop() {
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
显示器与传感器中的所有课
自己练习: Arduino 在线编辑器