外观
踩坑Robotics Stack Exchange2018-12-11
Arduino 中按钮闪烁会中断步进电机运行
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Is it possible to run multiple loops at the same time? (Arduino)(Robotics Stack Exchange #2028)
状态:已解决
问题
Arduino 程序中步进电机往返运行,同时读取按钮控制扫描器信号;按下按钮时会导致电机停止或被覆盖,无法并行执行。
环境
嵌入式控制器 / 串口通信
解决办法
- 不要在按钮处理里使用
delay(5),因为它会暂停代码执行。 - 在每次
loop()中调用millis()获取当前时间。 - 用基于时间的函数计算
pulseopto1的状态,例如按下按钮后在interval时间内为HIGH,之后为LOW。 - 每次循环都读取按钮并直接更新
startScan,同时调用stepper1.moveTo(...)和stepper1.run(),避免条件延时阻塞。
原问题作者:hollander;采纳答案作者:Ian。原内容依 CC BY-SA 4.0 授权,本页摘要同样依 CC BY-SA 4.0 授权。
来源
本页事实对应的公开页面,以原文为准。