彩虹色循环
本课属于 Coddy Arduino 学习旅程的“输出”单元。第 8 课,共 24 课。
每种颜色都需要三行 digitalWrite()。依次显示六种颜色需要 18 行,很容易弄混每一行对应什么。
用函数可以让代码更简短。setColor() 为每种颜色接收一个值,并写入全部三个引脚:
void setColor(int red, int green, int blue) {
digitalWrite(redPin, red);
digitalWrite(greenPin, green);
digitalWrite(bluePin, blue);
}现在,每种颜色只需一行,三个值读起来就像配方:
setColor(HIGH, HIGH, LOW); // 黄色
delay(500);HIGH 和 LOW 分别是数字 1 和 0,因此它们可以用作 int 参数。传入参数时,顺序要保持一致:红色、绿色、蓝色。
挑战
简单编写 setColor(),并使用它显示彩虹,每种颜色持续半秒,不断重复:
- 红色
- 黄色
- 绿色
- 青色
- 蓝色
- 品红色
按“运行”,然后按“检查”。
亲手试试
const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;
void setup() {
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}
void setColor(int red, int green, int blue) {
// 将每个值写入对应的引脚
}
void loop() {
setColor(HIGH, LOW, LOW); // 红色
delay(500);
// 然后是黄色、绿色、青色、蓝色和品红色
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
输出中的所有课
自己练习: Arduino 在线编辑器