树莓派raspberry使用python实现GPIO输入输出-按键LED
参考: Raspberry User Guide —- Eben Upton Gareth Halfacree (推荐初学者阅读)
一 安装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