让 LED 渐亮和渐暗
本课属于 Coddy Arduino 学习旅程的“输出”单元。第 4 课,共 24 课。
要让亮度逐渐降低,步进值必须改变方向。把步进值单独存放在变量 fadeAmount 中。加上一个负数会降低亮度:
int brightness = 0;
int fadeAmount = 5;
void loop() {
analogWrite(9, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(30);
}在变量前加上减号会反转它的符号:-fadeAmount 会把 5 变成 -5,再把 -5 变回 5。
if 会检查两个端点。到达顶部时,步进值变成 -5,LED 变暗;到达底部时,步进值再次变成 5,LED 变亮。LED 会像呼吸一样明暗变化,不会突然从亮变暗。
挑战
简单让引脚 9 上的 LED 反复渐亮再渐暗:
- 在
brightness旁边添加一个值为 5 的fadeAmount变量 - 每次运行
loop()时,将fadeAmount加到亮度上,然后等待 30 ms - 亮度达到 0 或 255 时,反转它的正负号
按“运行”,然后按“检查”。
亲手试试
const int ledPin = 9;
int brightness = 0;
// 在这里创建 fadeAmount 变量
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
analogWrite(ledPin, brightness);
brightness = brightness + 5;
if (brightness > 255) {
brightness = 0;
}
delay(30);
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
输出中的所有课
自己练习: Arduino 在线编辑器