Python 覆盆子皮gpio引脚卡在;在;及;“高”;模式

Python 覆盆子皮gpio引脚卡在;在;及;“高”;模式,python,raspberry-pi,gpio,gpiozero,Python,Raspberry Pi,Gpio,Gpiozero,我正在用覆盆子皮2跑覆盆子伸展运动。我当时正试图制造一个基本的避障漫游车,却遇到了马达的问题。 在这里可以找到示意图: 我没有dc-dc转换器,我有一个带有330欧姆电阻的LED连接到引脚17 我正在使用以下代码运行它: from gpiozero import LED from gpiozero import Motor import RPi.GPIO as GPIO from time import sleep # prereqs GPIO.setmode(GPIO.BCM) Motor

我正在用覆盆子皮2跑覆盆子伸展运动。我当时正试图制造一个基本的避障漫游车,却遇到了马达的问题。 在这里可以找到示意图:

我没有dc-dc转换器,我有一个带有330欧姆电阻的LED连接到引脚17

我正在使用以下代码运行它:

from gpiozero import LED
from gpiozero import Motor
import RPi.GPIO as GPIO
from time import sleep

# prereqs
GPIO.setmode(GPIO.BCM)
Motorbin = 5
Motorbout = 6
GPIO.setup(Motor2in,GPIO.OUT)
GPIO.setup(Motor2out,GPIO.OUT)

led = LED(17)

for i in range(2):
    led.on()
    sleep(0.5)
    led.off()
    sleep(0.5)



# motors are going to start running now

motora = Motor(27, 22)
motora.forward()
sleep(5)
motora.backward()
sleep(5)
motora.stop()

for i in range(2):
    led.on()
    sleep(0.5)
    led.off()
    sleep(0.5)

motorb = (5, 6)
motorb.forward()
sleep(5)
motorb.backward()
sleep(5)
motorb.stop()

GPIO.cleanup
我运行代码,我的LED闪烁两次,第一个电机(motora)前后移动,但第二个电机(motorb)根本不移动。我运行终端命令“gpio readall”,发现我的第二台电机运行的引脚(BCM 5、6)被设置为“IN”,并且两个引脚都被设置为“1”

gpio readall的终端输出

我尝试使用GPIO.setup命令将引脚5和6更改为输出引脚,但仍然保持不变。我还尝试使用terminal命令将引脚的输出从高更改为低,但什么也没发生。GPIO引脚似乎卡在此模式下

有没有办法修复这些卡住的GPIO引脚?在这种情况下我做的对吗


任何帮助都将不胜感激

您的代码通过

motora = Motor(27, 22)
但是马达B是由

motorb = (5, 6).
难道它不应该被类似的设置吗

motorb = Motor(5, 6)?

也许试穿一下?是的,谢谢你抓住了,我犯了个愚蠢的错误。在那之后我的两个马达都工作了。这不是一个愚蠢的错误。对于Python和OOP初学者来说,这是一个常见的问题。当我读到语句“motora=Motor(27,22)”时,我看到一个Motor对象带有“Motor”类的gpio插脚27,22,方法是“forward”,等等。当我读到“motorb=(5,6)”时,我看到一个元组“motorb”,有两个整数5,6(不是gpio插脚号!)。对于这个元组,您可以处理这两个整数,但不能要求元组为您驱动电机!因此,如果你看不到这些陈述背后的含义,你就很难理解其中的差异。