這篇文章將為大家詳細(xì)講解有關(guān)RPi.GPIO模塊使用基礎(chǔ)是怎樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出宜川免費(fèi)做網(wǎng)站回饋大家。
RPi.GPIO 模塊程序包提供了一個(gè)在 Raspberry Pi 中控制 GPIO 的類。
注意,該模塊不適合應(yīng)用到追求實(shí)時(shí)性或計(jì)數(shù)周期的應(yīng)用中。這是由于您無法預(yù)測 Ptyhon 何時(shí)繁忙,以及資源回收的時(shí)間。而且它是運(yùn)行在基于 Linux 核心的系統(tǒng)中,也不合適用于實(shí)時(shí)應(yīng)用 – 原因在于其它進(jìn)程可能獲得更高的 CPU 優(yōu)先級(jí)。如果您一定要追求實(shí)時(shí)操作的性能,可以考慮購買一塊 Arduino 主板http://www.arduino.cc!
還需要注意一點(diǎn),目前的版本還不支持 Raspberry Pi 的 SPI、I2C、1-wire、串口等功能。計(jì)劃在不久的將來會(huì)實(shí)現(xiàn)的!
導(dǎo)入 RPi.GPIO 模塊:
1 |
|
通過該操作,您可以將模塊名稱映射為 GPIO,以便接下來您其它腳本進(jìn)行使用。
導(dǎo)入模塊并檢查它是否導(dǎo)入成功,可以嘗試:
1 2 3 4 |
|
目前有兩種方式可以通過 RPi.GPIO 對(duì) Raspberry Pi 上的 IO 針腳進(jìn)行編號(hào)。
第一種方式是使用 BOARD 編號(hào)系統(tǒng)。該方式參考 Raspberry Pi 主板上 P1 接線柱的針腳編號(hào)。使用該方式的優(yōu)點(diǎn)是無需考慮主板的修訂版本,您硬件始終都是可用的狀態(tài)。您將無需從新連接線路和更改您的代碼。
第二種方式是使用 BCM 編號(hào)。這是一種較低層的工作方式 – 該方式參考 Broadcom SOC 的通道編號(hào)。使用過程中,您始終要保證主板上的針腳與圖表上標(biāo)注的通道編號(hào)相對(duì)應(yīng)。您的腳本可能在 Raspberry Pi 主板進(jìn)行修訂版本更新時(shí)無法工作。
指定您所使用的方式(必須指定):
1 |
|
或者
1 |
|
可能您的 Raspberry Pi 的 GPIO 上同時(shí)有多個(gè)腳本/循環(huán)。因此,如果 RPi.GPIO 檢測到某個(gè)針腳被設(shè)置為其它用途而非默認(rèn)的狀態(tài)(默認(rèn)為輸入),您會(huì)在嘗試配置某腳本時(shí)得到警告消息。
禁用該警告消息:
1 |
|
您需要為每個(gè)用于輸入或輸出的針腳配置通道。
配置為輸入的通道:
1 |
|
(通道編號(hào)是基于您所使用的編號(hào)系統(tǒng)所指定的(BOARD 或 BCM)。)
更多關(guān)于輸入通道的進(jìn)階信息可以在這里找到。
配置為輸出的通道:
1 |
|
(通道編號(hào)是基于您所使用的編號(hào)系統(tǒng)所指定的(BOARD 或 BCM)。)
您還可以指定輸出通道的初始值:
1 |
|
讀取 GPIO 針腳的值:
1 |
|
(通道編號(hào)是基于您所使用的編號(hào)系統(tǒng)所指定的(BOARD 或 BCM)。)這將返回 0 / GPIO.LOW / False 或者 1 / GPIO.HIGH / True。
設(shè)置 GPIO 針腳的輸出狀態(tài):
1 |
|
(通道編號(hào)是基于您所使用的編號(hào)系統(tǒng)所指定的(BOARD 或 BCM)。)
狀態(tài)可以為 0 / GPIO.LOW / False 或者 1 / GPIO.HIGH / True。
在任何程序結(jié)束后,請(qǐng)養(yǎng)成清理用過的資源的好習(xí)慣。使用 RPi.GPIO 也同樣需要這樣?;謴?fù)所有使用過的通道狀態(tài)為輸入,您可以避免由于短路意外損壞您的 Raspberry Pi 針腳。注意,該操作僅會(huì)清理您的腳本使用過的 GPIO 通道。
在您的腳本結(jié)束后進(jìn)行清理:
1 |
|
檢測 Raspberry Pi 主板的修訂版本:
1 |
|
檢測 RPi.GPIO 的版本:
1 |
|
關(guān)于RPi.GPIO模塊使用基礎(chǔ)是怎樣的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。