树莓派Python脚本无法控制机器人电机问题及解决方法
树莓派Python脚本控制机器人电机无响应问题解决
问题场景
- 直接在Shell中执行电机控制相关命令,机器人电机可正常运转
- 运行Python脚本时,脚本内的
print('hello')能正常输出,但电机完全无动作 - 最初使用的代码:
from gpiozero import Motor motor1 = Motor(4, 14) motor2 = Motor(17, 27) motor1.forward() motor2.forward()
问题原因
Python脚本执行到最后一行后会立即退出,gpiozero库在脚本终止时会自动释放GPIO资源,导致电机刚接收到启动指令就被断电,因此看不到运转效果。
解决方法
在电机启动命令后添加sleep()函数,让脚本保持运行状态,为电机提供足够的工作时长。修改后的代码如下:
from gpiozero import Motor import time motor1 = Motor(4, 14) motor2 = Motor(17, 27) motor1.forward() motor2.forward() time.sleep(5) # 保持脚本运行5秒,电机持续运转
内容的提问来源于stack exchange,提问作者Leonardo
相关产品推荐
相关产品推荐

