ValueError:在Raspberry Pi上发送的通道无效 - 使用Python控制GPIO引脚2(BOARD)导致错误

Geo*_*lov 7 python gpio raspberry-pi raspbian

所以我有一个小小的风扇连接到引脚6(接地)和引脚2.我试图在需要时手动启动和停止风扇,但我在尝试时遇到此错误:

ValueError:在Raspberry Pi上发送的通道无效

这是我以root身份执行的代码.它似乎在其他引脚上工作但不在引脚2上工作

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)

GPIO.setup(2, GPIO.OUT, pull_up_down=GPIO.PUD_UP)
Run Code Online (Sandbox Code Playgroud)

我不知道如何访问此引脚.有什么我做错了吗?

Jes*_*eda 19

它可能是一些愚蠢的东西,我看起来非常狡猾.GPIO似乎有两种模式.将GPIO.setmode(GPIO.BOARD)更改

GPIO.setmode(GPIO.BCM) 
Run Code Online (Sandbox Code Playgroud)

它在Raspbian的干净安装上对我有用

  • 为什么这可以解决问题的上下文:https://raspberrypi.stackexchange.com/questions/12966/what-is-the-difference- Between-board-and-bcm-for-gpio-pin-numbering (2认同)

小智 0

你不能。Raspberry Pi 扩展接头的引脚 2 直接连接到 USB 电源 \xe2\x80\x94,它不受 CPU 控制。

\n\n

不要尝试将风扇直接连接到 GPIO 引脚;它们不仅不能输出正确的电压,而且也无法提供/吸收足够的电流来运行风扇。尝试这样做很可能会损坏引脚驱动器,并且还可能损坏 BCM2835 的其他部件。

\n\n

如果您需要打开和关闭 5V 风扇,则需要一些支持硬件来控制它(例如 FET)。

\n