Raspberry pi gpio 引脚卡在 "in" 和 "high" 模式
Raspberry pi gpio pins are stuck in the "in" and "high" mode
我正在 运行宁 Raspbian 拉伸 Raspberry Pi 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 更改为输出引脚,但它仍然保持不变。我还尝试使用终端命令将引脚的输出从高电平更改为低电平,但没有任何反应。 GPIO 引脚似乎卡在该模式下。
有什么方法可以修复这些卡住的 GPIO 引脚吗?在这种情况下我做对了吗?
如有任何帮助,我们将不胜感激!!
您的代码通过
设置电机 A
motora = Motor(27, 22)
但是电机 B 是由
设置的
motorb = (5, 6).
不应该是类似的设置吗
motorb = Motor(5, 6)?
我正在 运行宁 Raspbian 拉伸 Raspberry Pi 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 更改为输出引脚,但它仍然保持不变。我还尝试使用终端命令将引脚的输出从高电平更改为低电平,但没有任何反应。 GPIO 引脚似乎卡在该模式下。
有什么方法可以修复这些卡住的 GPIO 引脚吗?在这种情况下我做对了吗?
如有任何帮助,我们将不胜感激!!
您的代码通过
设置电机 Amotora = Motor(27, 22)
但是电机 B 是由
设置的motorb = (5, 6).
不应该是类似的设置吗
motorb = Motor(5, 6)?