0

我正在学习我的第一个 Raspberry Pi 项目,同时学习创建巡线机器人的课程。是课程。我按照所有说明操作并按照说明连接了引脚,​​但是当我在 Raspberry Pi OS 上运行代码时,它会引发错误:

gpiozero.exc.PinPWMUnsupported:引脚 GPIO7 不支持 PWM 这是代码:

from gpiozero import Robot
from time import sleep

my_robot = Robot(left=(7,8), right=(9,10))

my_robot.forward()
sleep(1)
my_robot.stop()

我试图搜索解决方案并检查了官方文档,但它没有帮助。我怎样才能解决这个问题?

4

5 回答 5

0

以防万一有人遇到此错误并且以上方法均无法解决。

尝试在 pipenv 中运行 gpiozero 的 CamJamKitRobot 和 Robot 类时,我遇到了同样的问题(虚拟环境可能会出现同样的问题,但我没有尝试过)。在 pipenv 之外运行脚本(因此只使用系统安装的 pip 包)为我解决了这个问题。

于 2022-01-06T23:02:59.870 回答
0

此错误的可能原因是用户在未安装 pin 库的情况下将 gpiozero 安装到了虚拟环境中。gpiozero 的内置引脚接口不支持 PWM。需要安装 RPi.GPIO 才能正常体验:

pip install gpiozero rpi-gpio

这在文档中提到:https ://gpiozero.readthedocs.io/en/stable/faq.html#why-do-i-get-pinfactoryfallback-warnings-when-i-import-gpiozero

于 2022-01-09T20:15:55.257 回答
-1

查看有关使用电机的本教程:

    https://projects.raspberrypi.org/en/projects/physical-computing/14

向下滚动到底部并查看Robot 类

于 2021-03-24T05:40:08.193 回答
-1

经过多次检查,GPIO引脚和软件都正常。电机连接到 L289N 驱动电机模块,该模块没有从电池获得足够的电力,这就是错误的原因。如果有人有相同或相似的硬件连接并遇到此问题,请检查 L289N 模块是否通电(它应该打开模块上的红色 LED)

于 2021-05-14T22:40:46.783 回答
-1

我正在使用 Micro Servo WS-SG90 和 Raspberry Pi 3B+ 遵循https://www.raspberrypi-spy.co.uk/2018/02/basic-servo-use-with-the-raspberry-pi/gpiozero上的指南并使用Python 库并遇到了同样的异常。在我的情况下,这是由于以非 root 用户身份运行程序引起的。运行程序sudo使伺服转动。另一种选择是使用PiGPIOFactorywith pigpiodwhich 不需要以提升的权限运行程序。

于 2022-01-09T18:50:37.180 回答