逐渐加快的闪烁
本课属于 Coddy Arduino 学习旅程的“初识电路”单元。第 17 课,共 22 课。
delay(waitTime) 会等待 waitTime 在那一刻所保存的值。在程序运行时更改这个变量,闪烁也会随之变化。
waitTime = waitTime - 100; // 下一次闪烁的间隔缩短了 100 ms把这行代码放在 loop() 的末尾,每次闪烁都会比上一次更快。
观察程序运行一段时间后会发生什么。等待时间会缩短到 0,然后变成负数。delay() 无法等待负数时间:它会把 -200 读作一个很大的数字,大约是 49 天,因此 LED 看起来像是卡住了。程序必须自行判断何时停止缩短等待时间,这就是下一课要讲的内容。
挑战
简单让引脚 13 上的 LED 闪烁得越来越快:
- 在顶部,创建
int waitTime = 1000; - 在
loop()中,两次等待都使用delay(waitTime)闪烁 - 在
loop()末尾,让waitTime减少 200
按下运行,观察它直到冻结,然后按下检查。
亲手试试
// 在这里创建 waitTime
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
// 把 waitTime 调小
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
初识电路中的所有课
自己练习: Arduino 在线编辑器