Raspberry Pi连接到电机控制器,代码中出现错误

2024-05-23 21:07:01 发布

您现在位置:Python中文网/ 问答频道 /正文

*Hi, I am getting this code error:
*blink.py:25: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.*
GPIO.setup(ENA1,GPIO.OUT)
Traceback (most recent call last):
File "/home/pi/my_python_programs/blink.py", line 27, in <module>
GPIO.output(IN1,GPIO.LOW)
RuntimeError: The GPIO channel has not been set up as an OUTPUT*

这是我用树莓pi控制电机控制器的代码。这是我的密码。我想知道错误是什么:

#ImportedLibraries
import RPi.GPIO as GPIO
from time import sleep
#Motor1
PWR= 17
ENA1 = 33
IN1 = 31
IN2 = 29
GND = 39
#Motor2
PWR = 1
ENA2 = 32
IN3 = 18
IN4 = 16
GND = 34
#SetMode
GPIO.setmode(GPIO.BOARD)
#Motor1
GPIO.setup(ENA1,GPIO.OUT)
PWM1=GPIO.PWM(ENA1,100)
GPIO.output(IN1,GPIO.LOW)
GPIO.output(IN2,GPIO.LOW)
#Motor2
GPIO.setup(ENA2,GPIO.OUT)
PWM2=GPIO.PWM(ENA2,100)
GPIO.output(IN3,GPIO.LOW)
GPIO.output(IN4,GPIO.LOW)
PWM1.start(10)

Tags: inpyimportoutputgpioassetupchannel
1条回答
网友
1楼 · 发布于 2024-05-23 21:07:01

似乎设置不是很好,第25行失败

如果你想控制一个电机,你需要一个H桥,比如L293D或L298,然后使用gpiozero库,在网络中寻找它

请尝试使用以下代码:

from gpiozero import Motor
from time import sleep

motor = Motor(forward=4, backward=14)

while True:
    motor.forward()
    sleep(5)
    motor.backward()
    sleep(5)

相关问题 更多 >