樹莓派官方提供了完整的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作業系統上進行程式設計,大大簡...