文档章节

树莓派raspberry使用python实现GPIO输入输出-按键LED

MrMyj
 MrMyj
发布于 2015/11/30 10:01
字数 475
阅读 1086
收藏 1

参考:   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。属于树莓派分类,被贴了 gpioledpythonRaspberry树莓派 标签。


本文转载自:http://www.embbnux.com/2014/04/17/raspberry_use_python_gpio_to_output_input/

上一篇: otter搭建说明
MrMyj
粉丝 12
博文 34
码字总数 11388
作品 0
朝阳
技术主管
私信 提问
树莓派使用入门:进入物理世界 —— 如何使用树莓派的 GPIO 针脚

在树莓派使用入门的第十篇文章中,我们将学习如何使用 GPIO。 到目前为止,本系列文章主要专注于树莓派的软件方面,而今天我们将学习硬件。在树莓派最初发布时,最让我感兴趣的主要特性之一就...

作者: Anderson Silva
04/05
0
0
用Python让Raspberry Pi“动”起来

【编者按】本文是来自奥松机器人社区的投稿,作者为小强之工,真名贝振权,无线电、电子、嵌入式爱好者。 前段时间,接触了一款在开源硬件界被称为是“人气之王”的树莓派(Raspberry Pi)袖珍...

RagingTyphoon
2015/08/16
378
0
云中树莓派(4):利用声音传感器控制Led灯

云中树莓派(1):环境准备 云中树莓派(2):将传感器数据上传到AWS IoT 并利用Kibana进行展示 云中树莓派(3):通过 AWS IoT 控制树莓派上的Led 云中树莓派(4):利用声音传感器控制Led...

SammyLiu
2018/08/12
0
0
树莓派 BerryClip 6 LED Add-on Board Python学习板 笔记

BerryClip 6 LED Add-on Board Python学习板 SKU编码:RPi-MS100A Python是树莓派Raspberry Pi官方推荐的面向硬件控制语言。本开发板硬件包含有6只LED,1个按钮,1个蜂鸣器。见下图的A/B/C区...

帖子列表
2014/06/19
388
0
基于树莓派如何开发机器人(附PPT+视频) | 硬创公开课

导语:树莓派是为学习计算机编程教育而设计的一种微型电脑,其系统是基于Linux的, 虽然只有信用卡大小,但视频、音频等功能通通皆有,可谓是“麻雀虽小,五脏俱全”。因此自问世以来,受到了...

金红
2017/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部