树莓派gpio编程 怎么给gpio输入低电平

本店售价:¥248.00
本店售价:¥188.00
本店售价:¥5.00
本店售价:¥9.80
本店售价:¥39.00
本店售价:¥35.00
本店售价:¥38.00
本店售价:¥230.00
本店售价:¥5.00
本店售价:¥32.00
本店售价:¥38.00
本店售价:¥20.00
本店售价:¥299.00
本店售价:¥59.00
本店售价:¥258.00
本店售价:¥78.00
本店售价:¥75.00
本店售价:¥18.00
本店售价:¥198.00
本店售价:¥498.00
本店售价:¥59.00
本店售价:¥39.00
本店售价:¥9.90
本店售价:¥298.00
本店售价:¥182.00
本店售价:¥123.80
本店售价:¥298.00
本店售价:¥103.00
本店售价:¥3590.00
本店售价:¥198.00
本店售价:¥848.00
本店售价:¥49.00
& 【创客学堂】玩转树莓派之GPIO输入与输出
【创客学堂】玩转树莓派之GPIO输入与输出
编辑:Artech
浏览次数:822
&&& 树莓派(Raspberry Pi)本质上是一台Linux小电脑,但其板载的GPIO接口彰显着它的独特之处。掌握并控制好这些IO接口我们就可以将树莓派变成一块性能极高的单片机。本文通过“按键控制树莓派LED灯”的实验给大家分享一下使用树莓派GPIO进行输入输出的经验。
图1 接好各种外设的树莓派
一 准备器材
&&& 下面通过一个“按键控制树莓派LED灯”的实验给大家分享一下本人使用树莓派GPIO进行输入输出的经验。
&&&& 这个实验中我们选用Python语言对树莓派GPIO口进行编程。Python语言是一种面向对象的解释性语言。好在现在有中文版的教材所以学习起来还是蛮轻松地。最新版的树莓派上已经预装了Python软件以及驱动GPIO的软件包。我们直接进行编程就行了(如果没有软件包请按《爱上Raspberry Pi》书中所提方法进行安装)。
&&&& 树莓派为了减小成本,没有I/O口的外设,所以我们需要一些有I/O外设的扩展板,在这里给大家推荐一款,它有专门为树莓派设计的接口,它将树莓派所有的GPIO接口全部引出,板上有一颗LED接到树莓派GPIO25脚上,另有一颗按键接到GPIO24。板子的其余部分全部打上通孔可以让玩家焊上自己的电路。
图2 树莓派原型扩展板
&&&& 首先,给大家演示一下用Python指令驱动GPIO。打开树莓派终端输入 sudo python 用管理员身份打开python程序。依次输入以下指令:&&&GPIO.setmode(GPIO.BCM)
&&&GPIO.setup(25,GPIO.OUT) #设置25管脚为输出
&&&GPIO.output(25,GPIO.HIGH) #25脚输出高电平
&&&GPIO.output(25,GPIO.LOW) #25脚输出低电平
&&& 以上的指令可以控制管脚的输出,python程序还可以读取引脚的输入,这将在接下来的例子中体现出来。
&&& 指令固然能控制I/O口,当然我们最希望的还是能生成可执行文件,树莓派做到这一点自然也是毫无问题的。首先我们需要建立一个空文本,在文本中输入以下程序(程序内容如注释所示)。
import RPi.GPIO as GPIO #调入GPIO库
import time #调入时间库
GPIO.setmode(GPIO.BCM)
GPIO.setup(24,GPIO.IN) #将24脚设置为输入
#GPIO.setup(24,GPIO.IN,pull_up_down=GPIO.PUD_UP)
#将24脚设置成有上拉模式,如果用不带上拉电阻的按键可以使用此句。
GPIO.setup(23,GPIO.OUT) #将23脚设置为输出
while True: #循环执行
&&& inputValue = GPIO.input(24)#读取键值
&&& if(inputValue==0): #判断键值
&&&&&&&& count=count+1
&&& if(count%2==0):
&&&&&&&& print("THE LED IS ON NOW") #终端输出
&&&&&&&& print("THE LED IS OFF NOW") #终端输出
&&& time.sleep(0.3) #延时等待
&&& if(count%2==0): #根据count的值决定LED灯是否开闭
&&&&&&&& GPIO.output(23,GPIO.HIGH)
&&&&&&&& GPIO.output(23,GPIO.LOW)
&&& time.sleep(0.01) #延时等待留给系统空闲时间
& #注意:1、程序段的前的空格数,Python程序用空格字符控制程序层次,而不是C语言的“{}”。2、Python程序中的注释符是“#”而不是“//”.
&&&&&&& 然后按下面的电路图搭建电路,这里我用的是树莓派原型扩展板自带的面包板自己搭建的电路。如果不想自己搭建电路也可以使用原型扩展板上的自带的LED灯和按键。只需要根据程序所示用语句“GPIO.setup(channel,GPIO.IN,pull_up_down=GPIO.PUD_UP)”将该输入口设置成上拉模式即可。
图3 按键与LED电路原理图
图4 插接好元器件的原型扩展板
二 实践环节
&&&& 将文本保存命名为KEYLED.py文件。然后进入树莓派终端,输入sudo python keyled.py ,运行我们所写的程序。我们可以看到当按下按键时,LED灯变亮,终端显示THE LED IS ON NOW,当按键再次按下时,LED灯变灭,终端显示THE LED IS OFF NOW。
图5 输入程序运行指令
图6 LED灯亮灭状态显示
&&& 树莓派的GPIO应用起来虽不如Arduino简单易用,不过稍加练习很快也能运用自如,这样Arduino的很多模块在树莓派GPIO上也同样能够玩转起来。
&相关链接:
树莓派二代:
树莓派原型扩展板:
树莓派显示器:
爱上Raspberry Pi:
爱上Raspberry Pi套件:
总计 0 个记录,共 1 页。
关注奥松机器人微信
为您提供新鲜资讯、优惠信息
哈尔滨公司地址:黑龙江哈尔滨香坊区衡山路18号远东大厦B区10层
Tel: ,1-801
深圳公司地址:深圳市龙岗区黄阁路天安数码城2栋B座301
Hi,大家好,我是小奥!
欢迎来到奥松机器人的世界!
需要咨询服务请点小奥哦!
销售咨询:
销售咨询:
技术支持:
咨询电话:二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
我爱如莲的少男少女,他们笑容纯真,不说假话。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
&三:PRi.GPIO的使用示例import RPi.GPIOimport timeRPi.GPIO.setmode(RPi.GPIO.BOARD)& #GPIO.BOARD GPIO.BCM分别表示IO口的标号方式RPi.GPIO.setup(12,RPi.GPIO.OUT)RPi.GPIO.setup(11,RPi.GPIO.IN)RPi.GPIO.output(12,GPIO.HIGH)&while True:&&&&if RPi.GPIO.input(11):&&&&&&&&RPi.GPIO.output(12,GPIO.LOW)&&&&else:&&&&&&&&RPi.GPIO.output(12,GPIO.HIGH)&&&&time.sleep(1)
阅读(6876)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'树莓派RaspberryPi的RPi.GPIO使用指南',
blogAbstract:'一:Python操作树莓派GPIO的必要准备sudo apt-get install python-setuptools\nsudo easy_install -U distribute\nsudo apt-get install python-dev\nsudo easy_install RPi.GPIO二:树莓派GPIO定义图&',
blogTag:'',
blogUrl:'blog/static/7',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:7,
permalink:'blog/static/7',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'我爱如莲的少男少女,他们笑容纯真,不说假话。',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}&&国之画&&&&&&
版权所有 京ICP备号-2
迷上了代码!12712人阅读
树莓派(36)
& & 树莓树莓派可以无痛入门linux,下面通过命令和shell脚本控制树莓派GPIO。通过本文可以熟悉多个linux命令,并熟悉shell脚本编写方法,并对IO重定向有一个基本的体会。我在学习树莓派的过程中积累了自信,现在觉得linux没那么神秘没那么难,反而充满了无穷的乐趣,希望通过博客把快乐带给大家。
& &&相关博文
& & 【】树莓派GPIO入门文章
1.引脚与编号关系
图1 引脚与编号关系
例如 Header-PIN7 对应WiringPi GPIO7 对应BCM GPIO4。
2.使用命令操作GPIO
& & 请耐心输入以下命令并查看效果
# 获得超级权限
# 进入GPIO目录
cd /sys/class/gpio
# 使用ls查看gpio目录中的内容,可以查看到
# export gpiochip0 unexport
# GPIO操作接口从内核空间暴露到用户空间
# 执行该操作之后,该目录下会增加一个gpio4文件
echo 4 & export
# 进入GPIO4目录,该目录由上一步操作产生
查看gpio4目录中的内容,可查看到
active_low direction edge power subsystem uevent value
# 设置GPIO4为输出方向
echo out & direction
# BCM_GPIO4输出逻辑高电平,LED点亮
echo 1 & value
BCM_GPIO4输出逻辑低电平,LED熄灭
echo 0 & value
# 返回上一级目录
# 注销GPIO4接口
echo 4 & unexport
# 退出超级用户
【1】&符号为IO重定向符号,IO重定向是指改变linux标准输入和输出的默认设备,指向一个用户定义的设备。例如echo 4 & export便是把4写入到export文件中。
【2】linux内核中关于GPIO驱动的【】。
3.编写一个shell脚本
新建一个名为ledon.sh的脚本。
#!/bin/bash
#利用echo输出一些提示语句
echo export pin $1
echo $1 & /sys/class/gpio/export
echo setting direction to output
echo out & /sys/class/gpio/gpio$1/direction
echo setting pi high
echo 1 & /sys/class/gpio/gpio$1/value
【1】如果在windows上编写shell脚本的话(后使用FTP工具传输至树莓派),必须保存为unix格式。shell脚本每行以\n结尾,而不是windows中的\r\n。可以使用notepad++格式转换功能完成变化。
【2】一般情况下,脚本文件可读可写,但不能被执行。需要通过chmod指令增加可执行功能,例如输入以下命令(请注意,需要通过cd指令进入shell脚本所在的目录)
chmod +x ledon.sh
【3】shell脚本可传入参数,例如$1代表第一个参数,$2代表第二个参数,以此类推。
& & 运行该脚本可输入以下指令,使得BCM_GPIO4输出高电平
& & sudo ./ledon.sh 4
& &其实树莓派GPIO控制就那么简单。
5.参考资料
【1】图书 《爱上树莓派》
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1754108次
积分:16581
积分:16581
排名:第371名
原创:188篇
评论:1269条
所在地: 江苏无锡
(1)(1)(2)(1)(1)(3)(1)(3)(2)(1)(7)(16)(17)(14)(5)(13)(9)(4)(15)(11)(13)(12)(1)(3)(2)(21)(1)(4)(2)(1)(5)(2)(1)

我要回帖

更多关于 树莓派 gpio 电平 的文章

 

随机推荐