0

我在 Raspberry Pi 2 上运行 Raspbian Stretch。我试图构建一个基本的避障漫游车,但遇到了电机问题。示意图在这里找到:

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

我正在使用此代码来运行它:

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 更改为输出引脚,但它仍然保持不变。我还尝试使用终端命令将引脚的输出从高更改为低,但没有任何反应。GPIO 引脚似乎卡在此模式下。

有什么办法可以修复这些卡住的 GPIO 引脚?在这种情况下,我做对了吗?

任何帮助将不胜感激!!

4

1 回答 1

0

您的代码通过以下方式设置电机 A

motora = Motor(27, 22)

但是电机 B 是由

motorb = (5, 6).

它不应该由类似的设置

motorb = Motor(5, 6)?
于 2018-04-25T04:09:18.863 回答