int ledPin = 13; // 将LED的引脚连接到数字引脚13
int blinkInterval = 1000; // 初始化LED闪烁的等待时间为1000毫秒
void setup() {
pinMode(ledPin, OUTPUT); // 将LED引脚设为输出模式
}
void loop() {
digitalWrite(ledPin, HIGH); // 打开LED
delay(blinkInterval); // 等待当前设定的时间
digitalWrite(ledPin, LOW); // 关闭LED
delay(blinkInterval); // 等待当前设定的时间
blinkInterval = changeBlinkInterval(blinkInterval); // 调用函数改变LED闪烁的等待时间
}
// 自定义函数:根据当前设定的时间改变LED闪烁的等待时间
int changeBlinkInterval(int interval) {
if (interval == 1000) { // 如果当前设定的时间为1000毫秒
return 500; // 将时间改为500毫秒
} else { // 否则(当前时间为500毫秒)
return 1000; // 将时间改为1000毫秒
}
}
解释一下代码过程:
1. 定义LED的引脚为数字引脚13,同时初始化LED闪烁的等待时间为1000毫秒;
2. 在setup函数中将LED引脚设为输出模式;
3. 在loop函数中,先打开LED并且等待当前设定的时间,然后关闭LED并且再次等待当前设定的时间;
4. 接着,调用自定义函数`changeBlinkInterval()`来改变LED闪烁的等待时间,并将返回值赋给blinkInterval变量;
5. 自定义函数`changeBlinkInterval()`接收一个int类型的参数interval,代表当前设定的时间;
6. 在函数内部,使用if语句来判断当前设定的时间是否为1000毫秒,如果是,就将时间改为500毫秒,否则将时间改为1000毫秒;
7. 循环执行loop函数,重复步骤3到5,实现LED闪烁频率的切换。