Я пытаюсь запустить 4 мотора с помощью моего Raspberry Pi, используя 4-канальный драйвер мотора Cytron.
Мой код работает для реверса и поворота влево / вправо, но я не могу одновременно поднять все выводы 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, это будет работать?