Невозможно подключить все выводы GPIO к высокому 4-канальному контроллеру двигателя - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь запустить 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, это будет работать?

...