倒计时延迟

时间:2012-10-24 19:00:51

标签: arduino

我正在为我的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次,每次都有一秒钟的延迟。所以我基本上只需要延迟增加。

1 个答案:

答案 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));
  }
}