树莓派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闪亮一下.

电路:

piled

实验图:

pi_led_button

本条目发布于四月 17, 2014。属于树莓派分类,被贴了 gpio、led、python、Raspberry、树莓派 标签。


你可能感兴趣的:(树莓派raspberry使用python实现GPIO输入输出-按键LED)