Python 玩轉樹莓派GPIO

2021-07-27 12:30:02 字數 1124 閱讀 3950

樹莓派官方提供了完整的python gpio庫gpiozero,並且一集隨系統一起安裝,可以直接使用,只需要導入庫就行了。

接下來定義個led變數,傳入的引數是bcm引腳號

from gpiozero import led, button

led = led(2)

然後用led操作就可以控制硬體引腳點亮或關閉led

led.on() #turn on led

led.off() #turn off led

led.blink() #blink led

led.toggle() #toggle led

按鍵的操作也比較類似,定義乙個按鍵變數,對變數進行操作,同樣傳入bcm引腳編號作為引數

button = button(3)  

button.wait_for_press()

當按鍵被按下,該函式返回

也可以檢測按鍵被按下或者被釋放的訊號

button.when_pressed

button.when_released

下面的程式實現按鍵按下,點亮led,再按一下,關閉led的功能

while true:

button.wait_for_press()

sleep(.1)

led.toggle()

sleep(.1)

另外可以用pwm功能實現呼吸燈功能

from gpiozero import pwmled

pwmled = pwmled(2)

i = 0

p = true

while

true:

pwmled.value = i / 500.0

if(p):

i += 1

else:

i -= 1

if(i >= 500):

p = false

elif(i <= 0):

p = true

sleep(0.002)

*參考文件

樹莓派GPIO控制 python篇

樹莓派的軟體擴充套件庫雖然很多,但也導致了擴充套件庫 碎片化 的問題,例如操作樹莓派的gpio埠,gpio的編號便存在三種不同的方式。插座編號方式 編號側重p1插座側,從上到下,從左到右。正如圖3的header一欄。bcm2835編號方式 編號側重cpu暫存器,根據bcm2835的gpio暫存器編號...

樹莓派GPIO操作

樹莓派的gpio操作被抽象為檔案讀寫,下面以乙個例子來說明gpio操作 1 啟用gpio21 echo 21 sys class gpio export這個命令把字元 21 輸入 sys class gpio export之中,命令執行後,sys class gpio下面增加了代表gpio21的乙個...

玩轉樹莓派 前言

我是首先接觸的樹莓派然後再接觸的arduino和stm32,也許是先入為主的緣故,我對樹莓派有著非常大的熱情與興趣,帶有linux作業系統 帶有豐富gpio介面 體形微小的pc電腦,簡直是我的最愛。它是一款帶有作業系統和儲存空間的pc電腦,程式設計者可以直接在linux作業系統上進行程式設計,大大簡...