這篇文章將為大家詳細講解有關樹莓派GPIO的示例分析,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
為連平等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及連平網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站設計、成都做網(wǎng)站、連平網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
該程序包提供了一個在 Raspberry Pi 中控制 GPIO 的類。
注意,該模塊不適合應用到追求實時性或計數(shù)周期的應用中。這是由于您無法預測 Ptyhon 何時繁忙,以及資源回收的時間。而且它是運行在基于 Linux 核心的系統(tǒng)中,也不合適用于實時應用 - 原因在于其它進程可能獲得更高的 CPU 優(yōu)先級。
還需要注意一點,目前的版本還不支持 Raspberry Pi 的 SPI、I2C、1-wire、串口等功能。計劃在不久的將來會實現(xiàn)的!
導入模塊
導入 RPi.GPIO 模塊:
importRPi.GPIO as GPIO
通過該操作,您可以將模塊名稱映射為 GPIO,以便接下來您其它腳本進行使用。
導入模塊并檢查它是否導入成功,可以嘗試:
importRPi.GPIO as GPIO exceptRuntimeError: print("導入 RPi.GPIO 時出現(xiàn)錯誤!這可能由于沒有超級用戶權限造成的。您可以使用 'sudo' 來運行您的腳本。")
針腳編號
目前有兩種方式可以通過 RPi.GPIO 對 Raspberry Pi 上的 IO 針腳進行編號。
第一種方式是使用 BOARD 編號系統(tǒng)。該方式參考 Raspberry Pi 主板上 P1 接線柱的針腳編號。使用該方式的優(yōu)點是無需考慮主板的修訂版本,您硬件始終都是可用的狀態(tài)。您將無需從新連接線路和更改您的代碼。
第二種方式是使用 BCM 編號。這是一種較低層的工作方式 - 該方式參考 Broadcom SOC 的通道編號。使用過程中,您始終要保證主板上的針腳與圖表上標注的通道編號相對應。您的腳本可能在 Raspberry Pi 主板進行修訂版本更新時無法工作。
指定您所使用的方式(必須指定):
GPIO.setmode(GPIO.BOARD)
或者
GPIO.setmode(GPIO.BCM)
警告
可能您的 Raspberry Pi 的 GPIO 上同時有多個腳本/循環(huán)。因此,如果 RPi.GPIO 檢測到某個針腳被設置為其它用途而非默認的狀態(tài)(默認為輸入),您會在嘗試配置某腳本時得到警告消息。
禁用該警告消息:
GPIO.setwarnings(False) 配置通道 您需要為每個用于輸入或輸出的針腳配置通道。 配置為輸入的通道:
GPIO.setup(channel, GPIO.IN)
(通道編號是基于您所使用的編號系統(tǒng)所指定的(BOARD 或 BCM)。)
更多關于輸入通道的進階信息可以在這里找到。
配置為輸出的通道:
GPIO.setup(channel, GPIO.OUT)
(通道編號是基于您所使用的編號系統(tǒng)所指定的(BOARD 或 BCM)。)
您還可以指定輸出通道的初始值:
GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
輸入
讀取 GPIO 針腳的值:
GPIO.input(channel)
(通道編號是基于您所使用的編號系統(tǒng)所指定的(BOARD 或 BCM)。)這將返回 0 / GPIO.LOW / False 或者 1 / GPIO.HIGH / True。
輸出
設置 GPIO 針腳的輸出狀態(tài):
GPIO.output(channel, state)
(通道編號是基于您所使用的編號系統(tǒng)所指定的(BOARD 或 BCM)。)
狀態(tài)可以為 0 / GPIO.LOW / False 或者 1 / GPIO.HIGH / True。
清理
在任何程序結束后,請養(yǎng)成清理用過的資源的好習慣。使用 RPi.GPIO 也同樣需要這樣?;謴退惺褂眠^的通道狀態(tài)為輸入,您可以避免由于短路意外損壞您的 Raspberry Pi 針腳。注意,該操作僅會清理您的腳本使用過的 GPIO 通道。
在您的腳本結束后進行清理:
GPIO.cleanup()
Raspberry Pi 修訂版本和 RPi.GPIO 版本
檢測 Raspberry Pi 主板的修訂版本:
GPIO.RPI_REVISION
檢測 RPi.GPIO 的版本:
GPIO.VERSION
關于樹莓派GPIO的示例分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。