您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關樹莓派GPIO的示例分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
該程序包提供了一個在 Raspberry Pi 中控制 GPIO 的類。
注意,該模塊不適合應用到追求實時性或計數周期的應用中。這是由于您無法預測 Ptyhon 何時繁忙,以及資源回收的時間。而且它是運行在基于 Linux 核心的系統中,也不合適用于實時應用 - 原因在于其它進程可能獲得更高的 CPU 優先級。
還需要注意一點,目前的版本還不支持 Raspberry Pi 的 SPI、I2C、1-wire、串口等功能。計劃在不久的將來會實現的!
導入模塊
導入 RPi.GPIO 模塊:
importRPi.GPIO as GPIO
通過該操作,您可以將模塊名稱映射為 GPIO,以便接下來您其它腳本進行使用。
導入模塊并檢查它是否導入成功,可以嘗試:
importRPi.GPIO as GPIO exceptRuntimeError: print("導入 RPi.GPIO 時出現錯誤!這可能由于沒有超級用戶權限造成的。您可以使用 'sudo' 來運行您的腳本。")
針腳編號
目前有兩種方式可以通過 RPi.GPIO 對 Raspberry Pi 上的 IO 針腳進行編號。
第一種方式是使用 BOARD 編號系統。該方式參考 Raspberry Pi 主板上 P1 接線柱的針腳編號。使用該方式的優點是無需考慮主板的修訂版本,您硬件始終都是可用的狀態。您將無需從新連接線路和更改您的代碼。
第二種方式是使用 BCM 編號。這是一種較低層的工作方式 - 該方式參考 Broadcom SOC 的通道編號。使用過程中,您始終要保證主板上的針腳與圖表上標注的通道編號相對應。您的腳本可能在 Raspberry Pi 主板進行修訂版本更新時無法工作。
指定您所使用的方式(必須指定):
GPIO.setmode(GPIO.BOARD)
或者
GPIO.setmode(GPIO.BCM)
警告
可能您的 Raspberry Pi 的 GPIO 上同時有多個腳本/循環。因此,如果 RPi.GPIO 檢測到某個針腳被設置為其它用途而非默認的狀態(默認為輸入),您會在嘗試配置某腳本時得到警告消息。
禁用該警告消息:
GPIO.setwarnings(False) 配置通道 您需要為每個用于輸入或輸出的針腳配置通道。 配置為輸入的通道:
GPIO.setup(channel, GPIO.IN)
(通道編號是基于您所使用的編號系統所指定的(BOARD 或 BCM)。)
更多關于輸入通道的進階信息可以在這里找到。
配置為輸出的通道:
GPIO.setup(channel, GPIO.OUT)
(通道編號是基于您所使用的編號系統所指定的(BOARD 或 BCM)。)
您還可以指定輸出通道的初始值:
GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
輸入
讀取 GPIO 針腳的值:
GPIO.input(channel)
(通道編號是基于您所使用的編號系統所指定的(BOARD 或 BCM)。)這將返回 0 / GPIO.LOW / False 或者 1 / GPIO.HIGH / True。
輸出
設置 GPIO 針腳的輸出狀態:
GPIO.output(channel, state)
(通道編號是基于您所使用的編號系統所指定的(BOARD 或 BCM)。)
狀態可以為 0 / GPIO.LOW / False 或者 1 / GPIO.HIGH / True。
清理
在任何程序結束后,請養成清理用過的資源的好習慣。使用 RPi.GPIO 也同樣需要這樣。恢復所有使用過的通道狀態為輸入,您可以避免由于短路意外損壞您的 Raspberry Pi 針腳。注意,該操作僅會清理您的腳本使用過的 GPIO 通道。
在您的腳本結束后進行清理:
GPIO.cleanup()
Raspberry Pi 修訂版本和 RPi.GPIO 版本
檢測 Raspberry Pi 主板的修訂版本:
GPIO.RPI_REVISION
檢測 RPi.GPIO 的版本:
GPIO.VERSION
關于樹莓派GPIO的示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。