我正在尝试制作一个遵循红外传感器线的机器人,我也有一个红外传感器来防止碰撞。在停止运动的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);
}
我无法弄清楚这个问题,所以感谢任何帮助。
答案 0 :(得分:1)
您使用的音色和ir库都使用timer2。所以你有一个计时器冲突。两者都不能同时控制timer2。您需要为一个函数或另一个函数找到一个新库,或者修改一个以使用不同的计时器。