樹莓派GPIO數字量輸出

2021-10-10 20:25:15 字數 2090 閱讀 7312

參考資料【rpi.gpio 模組使用基礎 | 樹莓派實驗室】

學習樹莓派gpio程式設計,數字量輸出。樹莓派作為一款作業系統微控制器,可以有效實現上位機顯示和下位機控制。傳統的微控制器可以通過keil程式設計實現底層的控制,如果需要與上位機顯示,或者需要進行上位機控制,比如實現上位機對微控制器啟動或停止的控制,則需要利用微控制器與pc機進行串列埠通訊。

一、樹莓派gpio輸出

首先用python進行程式設計,實現led以每秒1次的頻率閃爍。

// python code for gpio output
import rpi.

gpio

asgpio

import time as t

pin=

21gpio

.setmode

(gpio

.board

)gpio

.setup

(pin,

gpio

.out

)while true:

gpio

.output

(pin,

gpio

.high

) t.

sleep(1

)gpio

.output

(pin,

gpio

.low

) t.

sleep(0

)gpio

.cleanup

()

用c語言實現樹莓派gpio的控制同樣重要,因為在實現arduino平台程式設計時,即採用c語言。為了打通兩個平台,需要同時學習c語言和python語言。

// c code for gpio output
#include

#include

int main()

return0;

}

二、樹莓派半互動式輸出

這裡之所以說是半互動式輸出,是因為在下位機控制led時,上位機能夠同步顯示led編號,但是顯示的編號是完全基於上位機程式設計來實現的,因為樹莓派的程式設計上位機和下位機的程式是一起的,因此實現上位機和下位機的互動也變得特別容易。但是,這並不是完全互動式的輸出,因為完全互動要求樹莓派能夠採集led的狀態,從而在上位機上進行顯示,並進一步根據上位機的命令進行下位機的控制。

這裡通過python和c語言實現上位機和下位機同步顯示led點亮。

// python code for led
import rpi.

gpio

asgpio

import time as t

pin=

21gpio

.setmode

(gpio

.board

)gpio

.setup

(pin,

gpio

.out

)while true:

print

("the pin no."

+str

(led)

+"is on"

)gpio

.output

(pin,

gpio

.high

) t.

sleep(1

)print

("the pin no."

+str

(led)

+「is off")

gpio

.output

(pin,

gpio

.low

) t.

sleep(1

)gpio

.clearup

()

這個**的作用是在下位機點亮led的時候,在上位機螢幕上顯示點亮的led編號。同樣的,c語言程式設計也同樣要掌握。

// c code for led
#include

#include

int main()

return0;

}

樹莓派GPIO操作

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

Python 玩轉樹莓派GPIO

樹莓派官方提供了完整的python gpio庫gpiozero,並且一集隨系統一起安裝,可以直接使用,只需要導入庫就行了。接下來定義個led變數,傳入的引數是bcm引腳號 from gpiozero import led,button led led 2 然後用led操作就可以控制硬體引腳點亮或關閉...

樹莓派之初識GPIO

pio的公升級安裝有兩種方式 pi pi cd pi pi sudo mkdir download 建立乙個download目錄 pi pi cd download pi pi download sudo pi pi download ll total 28 rw r r 1 root root 2...