樹莓派raspberry使用python實現GPIO輸入輸出-按鍵LED
阿新 • • 發佈:2020-10-22
參考: Raspberry User Guide —- Eben Upton GarethHalfacree (推薦初學者閱讀)
一 安裝python gpio庫
SSH或者終端下:
1 2 3 4 5 6 7 8 9 10 11 12 |
mkdir
gpio
cd
gpio
wget https:
//pypi
.python.org
/packages/source/R/RPi
.GPIO
/RPi
.GPIO-0.5.7.
tar
.gz
#或者到這裡下載最新版本:https://pypi.python.org/pypi/RPi.GPIO tar
xvzf RPi.GPIO-*.
tar
.gz
cd
RPi.GPIO-*/
sudo
python setup.py
install
|
安裝的時候出現錯誤:
1 |
source
/py_gpio
.c:23:20: fatal error: Python.h: No such
file
or directory
|
缺少Python.h檔案,沒安裝python編譯環境:
1 |
sudo
apt-get
install
python-dev
|
再次安裝:
1 |
sudo
python setup.py
install
|
沒問題就安裝好了.
二 使用python操作gpio
先測試下輸出,新建個led.py檔案:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/usr/bin/env python
import
RPi.GPIO as GPIO
import
time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(
11
,GPIO.OUT)
while
True
:
GPIO.output(
11
,
True
)
time.sleep(
1
)
GPIO.output(
11 ,
False
)
time.sleep(
1
)
|
注意: 這裡使用GPIO.BOARD模式,所以對於引腳號的排序,是按26個pin的順序,不是gpio1這樣的.也就是說pin1就是板子上的3V3. 把led的負極接到板子上的pin11.正極接一個3K3的電阻,在接到3V3上,防止燒壞. 特別注意python的縮排.
終端下執行:
1 |
sudo
python led.py
|
如果LED出現一閃一閃就表示成功了.
在添加個按鈕:
這裡使用復位按鍵,一段接到GND,一段加到PIN12,再接10k電阻到3v3上拉
程式 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/user/bin/env python
import
RPi.GPIO as GPIO
import
time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(
11
,GPIO.OUT)
GPIO.setup(
12
,GPIO.IN)
while
True
:
in_value
=
GPIO.
input
(
12
)
if
in_value
=
=
False
:
GPIO.output(
11
,
False
)
time.sleep(
1
)
GPIO.output(
11
,
True
)
while
in_value
=
=
False
:
in_value
=
GPIO.
input
(
12
)
|
對按鈕進行下降沿檢測.按下按鈕後led閃亮一下.
電路:
實驗圖:
本條目釋出於四月 17, 2014。屬於樹莓派分類,被貼了 gpio、led、python、Raspberry、樹莓派 標籤。
轉載於:https://my.oschina.net/Alexmyj/blog/537245