簡體   English   中英

樹莓派上的 GPIO 3.3v 輸出“在樹莓派上發送的通道無效”

[英]GPIO 3.3v output on raspberry pi 'The channel sent is invalid on a Raspberry Pi'

我正在嘗試學習如何用我的 Raspberry Pi 做一些很酷的事情。 我正在嘗試在我的樹莓派上運行帶有 3.3V gpio 引腳的 NMOS 晶體管。 我很確定它能夠提供 3.3V 輸出,但我不斷收到錯誤消息。 我檢查了我的接線和我的代碼。 我看不出任何問題。 請看一下我下面的代碼,如果您發現任何錯誤,請告訴我。 謝謝!

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(12,GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(17,GPIO.OUT)
GPIO.output(17,GPIO.HIGH)
while True:
    input_state = GPIO.input(12)
    if input_state == False:
        #command for running 5v/3.3v output below
        GPIO.output(17,GPIO.LOW)
        time.sleep(3.5)
        GPIO.output(17,GPIO.HIGH)

我使用“sudo python myscript.py”運行了我的腳本。 這是我不斷收到的錯誤:

GPIO.setup(17,GPIO.OUT) ValueError:發送的通道在樹莓派上無效

http://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/

查看“引腳編號”部分。 您可以根據包含 GPIO 的芯片上的引腳(BCM 編號)或連接到的引腳頭上的編號(BOARD)對 GPIO 進行編號。 如果你想要 GPIO17,那就是 BCM 引腳編號,它是板頭上的引腳 11。 你不想要板針 17,因為那不是一個可控的輸出; 這是 3.3V 電源。

GPIO.setmode(GPIO.BOARD)
# or
GPIO.setmode(GPIO.BCM)

為什么不使用 2 (5.0v) 而不是 17 並在面包板上使用帶有 Pi-T 分線板的 LM1117T 3.3v 穩壓器。 通過連接正極和負極以及兩個 10uF 電容器,您應該能夠通過引腳 2 接收 3.3v 輸出

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(12,GPIO.IN)
GPIO.setup(2,GPIO.OUT)
GPIO.output(2,GPIO.HIGH)
while True:
    input_state = GPIO.input(12)
    if input_state == False:
    GPIO.output(2,GPIO.LOW)
    time.sleep(3.5)
    GPIO.output(2,GPIO.HIGH)

在其中一種情況下,可能是在其中一個正在使用的庫中,模式已設置為 BCM 或 BOARD。

然后我必須找出以前使用的模式並堅持使用該模式。

我也避免使用:GPIO.cleanup() 或重新設置 GPIO.setmode()

我正在嘗試學習如何使用Raspberry Pi做一些有趣的事情。 我正在嘗試在樹莓派上使用3.3V gpio引腳運行NMOS晶體管。 我很確定它能夠輸出3.3V的電壓,但我一直遇到錯誤。 我檢查了接線和代碼。 我沒看到任何問題。 請在下面查看我的代碼,如果發現任何錯誤,請告訴我。 謝謝!

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(12,GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(17,GPIO.OUT)
GPIO.output(17,GPIO.HIGH)
while True:
    input_state = GPIO.input(12)
    if input_state == False:
        #command for running 5v/3.3v output below
        GPIO.output(17,GPIO.LOW)
        time.sleep(3.5)
        GPIO.output(17,GPIO.HIGH)

我使用“ sudo python myscript.py”運行了腳本。 這是我不斷得到的錯誤:

GPIO.setup(17,GPIO.OUT)ValueError:在Raspberry Pi上發送的通道無效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM