【问题标题】:Tone is not playing on Arduino UnoArduino Uno 上没有播放音调
【发布时间】:2017-12-07 11:20:23
【问题描述】:

我正在尝试制作一个遵循红外传感器的机器人,并且我还有一个红外传感器来防止碰撞。在停止运动的 if 语句中,我也让它播放音调,但问题是音调不播放。我知道 if 语句正在执行,因为伺服系统确实按预期停止并在对象被移除后恢复。此外,扬声器设置已确认工作正常,因为其他带有音调的代码工作正常。我在进行故障排除时确实听到了几次哔哔声,这很奇怪。

这是有问题的声明;

    if (irDetect == 0)   // Object detected
    {
      servoLeft.writeMicroseconds(1500);  // Stop left servo
      servoRight.writeMicroseconds(1500);  // Stop right servo
      tone(5, 4000, 100);
      delay(100);
    }

我无法找出问题所在,因此不胜感激。

【问题讨论】:

    标签: arduino


    【解决方案1】:

    Tone 和您使用的 ir 库都在使用 timer2。所以你有一个计时器冲突。两者不能同时控制 timer2。您要么需要为一个函数或另一个函数找到一个新库,要么修改一个以使用不同的计时器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      相关资源
      最近更新 更多