我正在尝试制作一个遵循红外传感器线的机器人,我也有一个红外传感器来防止碰撞 . 在停止运动的if语句中,我也发挥了它的音调,但问题是音调不起作用 . 我知道if语句正在执行,因为 Servo 器按预期停止并在删除对象后恢复 . 此外,扬声器设置已确认正在工作,其他代码的音调工作正常 . 当我进行故障排除时,我确实听到了几声嘟嘟声,这很奇怪 .
以下是该问题的陈述;
if (irDetect == 0) // Object detected
{
servoLeft.writeMicroseconds(1500); // Stop left servo
servoRight.writeMicroseconds(1500); // Stop right servo
tone(5, 4000, 100);
delay(100);
}
我无法弄清楚问题,所以任何帮助都表示赞赏 .
1 回答
你正在使用的音调和ir库都使用timer2 . 所以你有一个计时器冲突 . 两者都不能同时控制timer2 . 您需要为一个函数或另一个函数找到一个新库,或者修改一个以使用不同的计时器 .