初步學習rpi.gpio模組的過程中寫了乙個控制8個led的模組,基本上只是乙個對rpi.gpio的乙個封裝
電路圖按照電路圖所示,在麵包板上進行連線。
首先得確定rpi.gpio已安裝。最新的系統已經自帶了,如果沒有的可以使用命令:
shell
1
2
sudo
apt-
getupdate
sudo
apt-
getinstall
python
-dev
python
-rpi
.gpio
來安裝用文字編輯器新建乙個led.py檔案。(高手們都用vi,我只會用nano…)
shell
1
2
3
4 cd
mdir
gpio
cdgpio
nano
led.py
python**如下:
python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import
rpi.
gpio
asgpio
import
time
channels=[
16,18,
22,24,
26,19,
21,23]
definit()
:
gpio
.setmode
(gpio
.board
)
forx
inchannels
:
gpio
.setup(x
,gpio
.out
)
pass
defon(i
):gpio
.output
(channels[i
],gpio
.high
)
defoff(i
):gpio
.output
(channels[i
],gpio
.low
)
defctrl
(data):
fori
inchannels
:
gpio
.output(i
,data
&0x1
)
data
=data
>>
1
pass
deftest()
:
fori
inxrange
(512):
ctrl(i
)
time
.sleep
(0.1
)
defclean()
:
gpio
.cleanup()
你可以在樹莓派上直接編輯這個檔案,也可以將檔案在電腦上編輯好,然後用sftp或者linux下的scp命令傳到樹莓派上。
你可以編寫乙個test.py呼叫剛剛編寫好的led模組:
python
1
2
3
4
5
import
led
led.
init()
led.test()
led.clean()
也可以直接在python shell中操作,這裡是我在python shell中呼叫寫好的模組的乙個例子
shell
1
sudo
python
而在執行自己寫的test.py的時候也要加sudo:
shell
1
sudo
python
test
.py
rpi.gpio.setmode(naming_system)
設定將gpio針的命名方式。naming_system可用的取值有 rpi.gpio.bcm 和 rpi.gpio.board,分別代表boardcom命名系統和樹莓派板子上的命名系統。而因為使用bcm 的時候(據說)不同的版本bvm針腳定義不一樣,所以同一套程式在多個樹莓派系統上使用的時候建議用board。
rpi.gpio.setup(channel, state)
將標號為channel的針設定為state模式。channel取值為1~26,state取值為rpi.gpio.in 或者rpi.gpio.out,分別表示輸入和輸出。例如 rpi.gpio.setup(1, rpi.gpio.in)表示將1號針設定為輸入模式;rpi.gpio.setup(3, rpi.gpio.out)表示將3號針設定為輸出模式。具體哪個號是哪根取決於setmode()中設定成什麼。
rpi.gpio.output(channel, state)
將標號為channel的針設定為state指定的電平。channel取值為1~26,state取值為rpi.gpio.high 和rpi.gpio.low,或者1和0,或者true和false,表示高電平和低電平。例如rpi.gpio.output(1, 1) 表示把1號針設定為高電平,rpi.gpio.output(3, flase) 表示將3號針設定為低電平。具體哪個號是哪根取決於setmode()中設定成什麼。
rpi.gpio.input(channel)
獲取將標號為channel的針的電平磚頭。channel取值為1~26。例如rpi.gpio.input(1) 表示獲取1號針的狀態。
rpi.gpio.cleanup()
清除掉之前rpi.gpio.setup()設定的狀態。退出程式之前一定要呼叫,否則下次呼叫的時候會報錯。
channel 中儲存的是連線中使用的針的標號,按順序。
init() 是初始化gpio介面的**,使用控制lcd去前要呼叫。主要工作是設定介面命名模式和 將channel中的針設定為輸出模式
on() / off() 是將channel 中第i個針設定為高電平/低電平
ctrl() 是根據引數設定全8根針的電平。引數的低0位、低1位、低2位…分別表示channel下標為0、1、2…的針的電平狀況,1為高電平、0為低電平
test() 是測試函式。用8位二進位制表示8個燈的狀態,每隔0.1秒到下乙個狀態: 0000 0000, 0000 0001, 0000 0010, 0000 0011,0000 0100 … 實際上就是從0數到255
clean() 是對 rpi.gpio.cleanup() 的乙個封裝
在樹莓派上用python控制LED
初步學習rpi.gpio模組的過程中寫了乙個控制8個led的模組,基本上只是乙個對rpi.gpio的乙個封裝 電路圖 按照電路圖所示,在麵包板上進行連線。安裝rpi.gpio 首先得確定rpi.gpio已安裝。最新的系統已經自帶了,如果沒有的可以使用命令 sudo apt get update su...
在樹莓派上配置mono
mono是跨平台的.net編譯環境,試著在樹莓派上部署一下 1.獲取raspbian系統 如何獲取就不多說了,主要是要燒錄到sd卡里並正常啟動 1.1 獲取sudo許可權 建議使用管理員許可權,這樣問題可能少一些 也許更多 sudo s 2.安裝m4 gun tar zxvf m4 1.4.9.ta...
在樹莓派上安裝OpenVINO
準備工作 這裡我推薦2019 r3版本,之前裝了2020版本不好用,又退回到了2019 r3版本 開啟終端,執行命令 cd downloads 3.建立乙個安裝資料夾 sudo mkdir p opt intel openvino 4.解壓安裝包到安裝路徑下 sudo tar xf l openvi...