无法将所有GPIO引脚都连接到高4通道电机控制器

时间:2018-11-20 17:32:19

标签: python raspberry-pi motordriver

我正在尝试使用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,它都能工作吗?

0 个答案:

没有答案