首页 > 解决方案 > Python 和 GPIOzero 电机功能

问题描述

我正在尝试创建一个函数,我可以在其中将方向参数传递给函数,以告诉它向前或向后驱动电机。以下是我的测试代码:

from gpiozero import Motor
from time import sleep
motor=Motor(7,8)

def move(direction):
    print(direction)
    motor.direction()
    sleep(3)
    motor.stop()
    
move('forward')

该调用将所需的方向(forward)传递给该函数。函数中的打印命令打印'forward'来向自己证明方向被正确接收。但是,电机控制线不将其用作参数,而只是返回大量错误。如果我用 替换direction之后motorforward它工作得很好。

标签: python

解决方案


您不能只用字符串替换函数调用。

最简单的解决方案是在函数内部使用if/else语句move

if direction == 'forward':
    motor.forward()
elif direction == 'backward':
    motor.backward()  # or whatever is appropriate

推荐阅读