我正在尝试使用Cytron 4通道电机驱动器在树莓派上运行4个电机。
我的代码可以反向和左右旋转,但是我不能同时将所有GPIO引脚置于高电平。
部分代码:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
MOTOR1Direction = 11
MOTOR1Enable = 13
etc for other 3 motors
GPIO.setup(MOTOR1Direction,GPIO.OUT)
GPIO.setup(MOTOR1Enable,GPIO.OUT)
etc for the other 3 motors
p1 = GPIO.PWM(MOTOR1Enable, 100)
etc for the other 3 motors
def forward(pwmVal):
GPIO.output(MOTOR1Direction, GPIO.HIGH)
GPIO.output(MOTOR2Direction, GPIO.HIGH)
GPIO.output(MOTOR3Direction, GPIO.HIGH)
GPIO.output(MOTOR4Direction, GPIO.HIGH)
p1.start(pwmVal)
p2.start(pwmVal)
p3.start(pwmVal)
p4.start(pwmVal)
def reverse(pwmVal):
GPIO.output(MOTOR1Direction, GPIO.LOW)
GPIO.output(MOTOR2Direction, GPIO.LOW)
GPIO.output(MOTOR3Direction, GPIO.LOW)
GPIO.output(MOTOR4Direction, GPIO.LOW)
p1.start(pwmVal)
p2.start(pwmVal)
p3.start(pwmVal)
p4.start(pwmVal)
def left(pwmVal):
GPIO.output(MOTOR1Direction, GPIO.HIGH)
GPIO.output(MOTOR2Direction, GPIO.HIGH)
GPIO.output(MOTOR3Direction, GPIO.LOW)
GPIO.output(MOTOR4Direction, GPIO.LOW)
p1.start(pwmVal)
p2.start(pwmVal)
p3.start(pwmVal)
p4.start(pwmVal)
因此,当我反向运行(100)时,它的工作原理与左/右相同,但是当我向前运行(100)时,则什么也没有发生。如果我将前向代码中的HIGH的任何一个更改为LOW,它都能工作吗?