我正在为我的Arduino制作一台老虎机,我想要发生的事情之一是,当用户“拉动”杠杆时,可以听到一种刺耳的声音,随着时间的推移会减慢
这是我到目前为止所做的,但我无法弄清楚如何通过倒计时来制作延迟变量。
void ringading(){
for (int i=10; i>10; i--)
{
for (int i=0; i<500; i++)
{
digitalWrite(BUZZER_PIN, HIGH);
delayMicroseconds(1915);
digitalWrite(BUZZER_PIN, LOW);
}
delay(1000);
}
}
这可能不是最好的方法,但我知道它现在嗡嗡声10次,每次都有一秒钟的延迟。所以我基本上只需要延迟增加。
答案 0 :(得分:2)
而不是将常数毫秒(1000)延迟延迟一个毫秒的时间,这是i的函数,例如delay(1000*(10-i))
,因为我正在减少。
此外,更大的循环永远不应该运行 - 你确定你不是指i>0
?
另外,您应该为两个循环使用两个不同的变量名称:
void ringading(){
for (int i=10; i>0; i--)
{
for (int j=0; j<500; j++)
{
digitalWrite(BUZZER_PIN, HIGH);
delayMicroseconds(1915);
digitalWrite(BUZZER_PIN, LOW);
}
delay(1000*(10-i));
}
}