[英]Raspberry Pi GPIO error "valueerror the channel sent is invalid on a raspberry pi"
[英]ValueError: The channel sent is invalid on a Raspberry Pi - Controlling GPIO Pin 2 (BOARD) using Python causes Error
所以我有一個很小的風扇連接到引腳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)
我不確定如何訪問此引腳。 我做錯什么了嗎?
這可能是愚蠢的,我看上去完全一樣。 GPIO中似乎有兩種模式。 將GPIO.setmode(GPIO.BOARD)更改為
GPIO.setmode(GPIO.BCM)
它為我安裝了Raspbian的全新安裝
你不能 Raspberry Pi擴展接頭連接器的引腳2直接連接到USB電源-它不受CPU的控制。
不要嘗試將風扇直接連接到GPIO引腳。 它們不僅不能輸出正確的電壓,而且也不能提供/吸收足夠的電流來使風扇運行。 這樣做很可能會損壞引腳驅動器,並可能也會損壞BCM2835的其他部分。
如果需要打開和關閉5V風扇,則需要一些支持硬件來控制它(例如FET)。
我認為您的錯誤是您將pull_up_down賦予了OUT定義的引腳
#this is only for input pins
GPIO.setup(n, RPIO.OUT, initial=RPIO.LOW, pull_up_down=GPIO.PUD_UP)
#CORRECT ("initial" is optional)
GPIO.setup(n, RPIO.OUT, initial=RPIO.LOW)
在GPIO.BOARD模式下,引腳2為5V,無法設置。
將其轉換為GPIO.BCM模式時,實際上是GPIO2。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.