欢迎来到天天文库
浏览记录
ID:38119179
大小:571.18 KB
页数:6页
时间:2019-05-27
《Arduino初学系列3:Arduino,按键,LED》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SmartArduino3Arduino,按键,LED3.1问题描述:如何采用Arduino控制器和按键同时控制LED的闪烁在前面的2个例子中,都是简单地通过将程序烧录到Arduino控制板,然后由控制板来控制LED灯的闪烁,缺乏人情味。那能不能在Arduino控制的过程中,再加上与人的互动呢?答案是肯定的。在这个实验中,我们将增加一个新的材料按键按钮来和Arduino一起控制灯的闪烁。3.2所需材料表3-1:所需材料序号名称数量作用备注1Arduino软件1套提供IDE环境最新版本1.052ArduinoUNO开发板1块控制主板各种版本均可3USB线1条烧录程序随板子配送4杜邦线若干条连
2、接组件5发光二极管(LED)1个LED闪烁6电阻(10,200Ω)2个限流7多功能面包板1块连接8按键按钮1个开关在进行实验之前,我们先介绍按键按钮的相关属性。按键按钮按键是一种经常使用的设备,通过按键可以输入指令和数据来控制电路的开与关,从而达到控制某些设备的运行状态。在本实验中,通过给按键输入高低电平来控制LED灯的闪烁。开关的种类繁多复杂,比如厨房用的单孔开关,卧房用的双控开关,楼道用的声控开关等等,均属于开关的范畴。在我们实验中,主要是用微型开关,但其种类也很多,如图3-1所示。图3‐1微型按键开关种类在本实验中采用的微型开关大致为6*6*5mm的四脚开关。如图3-2所示。Smar
3、tArduino图3-2本实验用的按键值得注意的是,1和2是一边的,3和4是一边的,中间有道痕分开。其原理如图3-3所示,当按键按下去时,1,2,3,4四个管脚接合在一起,2根导线连通,变成一根导线。电路导通,起到触发(关)作用。当松开按钮,1,2,3,4四个管脚断开,起到开的作用。图3‐3按键按钮原理图3.3实验原理图当按键按钮按下,获取一个高电平,触发在Arduino控制下的LED闪烁。当然,我们也可以设置为按键按下是LED灯不亮,当松开按键时,LED灯闪烁,请看后面的代码分析。原理图如3-4所示,就是在实验1的基础上增加一个按键按钮。SmartArduino图3-4实验原理图其实际电
4、路如图3-5所示。图3-5电路图当我们按照图3-5接好电路后,运行Program3。01//Program3:按键控制Arduino板上的LED灯0203intled8=8;//设置LED位于Arduino的数字IO端口804voidsetup()05{06pinMode(led8,OUTPUT);//设置数字端口8为输出模式07}SmartArduino08voidloop()09{10inti;//为按键设置接收电压的变量i11i=analogRead(0);//读取模拟端口0处电压值赋给i12if(i>512)//设定门限值,若接收到的电压值大于512(即2.5V)13{digita
5、lWrite(led8,HIGH);//设置数字端口8为高电平,即点亮led灯14delay(2000);}//保持点亮状态2s15else16digitalWrite(led8,LOW);//若电压值低于512,端口8为低电平,led灯熄灭1718}此时,当你按下按键时,LED灯将被点亮。但是,当你松开按键(或者用手拿着杜邦线的一端),LED灯还是亮的,如图3-6所示。图3-6手拿杜邦线,LED灯亮这主要是因为人体或者外界存在一定的干扰,使得即使没有按下按键LED灯还是会亮。这是因为通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会
6、马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。这是一个非常重要的参数,如图3-7所示。图3-7按键抖动现象SmartArduino为了避免做出误判,必须消除这种现象,这就是按键消抖。消抖的方法有很多,主要从硬件和软件两个方面。但值得指出的是,即使我们将Program3中的电压门限值设置为比512(512是pwm值,我们将在下面的章节中详细介绍)还要大,抖动还是会出现。笔者试着将i设置为1000,还是会出现按键没有按下(或者手拿着杜邦线的一端),LED灯还是会亮。所以必须从原理上解决这一问题。
7、方法一、硬件消抖首先,我们分析一下为什么会出现抖动现象。当按键没有按下(也即断开),如图3-5、3-6中,模拟端口A0断开还是有电压值(>512),说明外界或者人体是存在一定的干扰信号。这种干扰信号用电压值表示的话,是可能大于512的。所以会出现按键没有按下LED灯也会被触发点亮。所以,我们可以在图3-3所示的1和2或3和4之间并联一个所谓的下拉电阻。即可使得按键没有按下,外界的干扰电压被消耗在了下拉电阻上了,从而使得L
此文档下载收益归作者所有