Arduino编程,从新手到达人系列(三)

来源 :电脑报 | 被引量 : 0次 | 上传用户:qwerty_123asd
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  I/O 口的意思即为INPUT 接口和OUTPUT 接口,到目前为止本章设计的小灯实验都还只是应用到Arduino 的I/O 口的输出功能,这个实验我们来尝试一下使用Arduino的I/O 口的输入功能即为读取外接设备的输出值,我们用一个按键和一个LED 小灯完成一个输入输出结合使用的实验,让大家能简单了解I/O 的作用。按键开关大家都应该比较了解,属于开关量(数字量)元件,按下时为闭合(导通)状态。完成本实验要用到的元件如下:
  按键开关*1
  红色M5 直插LED*1
  220Ω电阻*1
  10kΩ电阻*1
  面包板*1
  面包板跳线*1 扎
  我们将按键接到数字7 接口,红色小灯接到数字11 接口(Arduino 控制器0-13 数字I/O 接口都可以用来接按键和小灯,但是尽量不选择0 和1 接口,0 和1 接口为接口功能复用,除I/O 口功能外也是串口通信接口,下载程序时属于与PC 机通信故应保持0 和1 接口悬空,所以为避免插拔线的麻烦尽量不选用0 和1 接口),按下面的原理图1连接好电路。
  下面开始编写程序,我们让按键按下时小灯亮起,根据前面的学习相信这个程序很容易就能编写出来,相对于前面几个实验这个实验的程序中多加了一条条件判断语句,这里我们使用if 语句,Arduino 的程序编写语句是基于C 语言的,所以C 语言的条件判断语句自然也适用于Arduino,像while、swich 等等。这里根据个人喜好我们习惯于使用简单易于理解的if 语句给大家做演示例程。
  分析电路可知,当按键按下时,数字7 接口可读出为高电平,这时我们使数字11 口输出高电平可使小灯亮起,程序中我们判断数字7 口是否为低电平,要为低电平使数字11 口输出也为低电平小灯不亮,原理同上。
  参考源程序:
  int ledpin=11;//定义数字11 接口
  int inpin=7;//定义数字7 接口
  int val;//定义变量val
  void setup()
  {
  pinMode(ledpin,OUTPUT);//定义小灯接口为输出接口
  pinMode(inpin,INPUT);//定义按键接口为输入接口
  }
  void loop()
  {
  val=digitalRead(inpin);//读取数字7 口电平值赋给val
  if(val==LOW)//检测按键是否按下,按键按下时小灯亮起
  { digitalWrite(ledpin,LOW);}
  else
  { digitalWrite(ledpin,HIGH);}
  }
  //////////////////////////////
  实验结果及其现象:当按键按下时,LED亮,按键没有按下时,LED不亮。你可以把LED当成繼电器,就可以控制220V电灯!
  二、抢答器设计实验
  完成上面的实验以后相信已经有很多朋友可以独立完成这个实验了,本实验就是将上面的按键控制小灯的实验扩展成3 个按键对应3 个小灯,占用6 个数字I/O 接口,见电路连接图(图2)和实物(图3)。
  参考源程序如下:
  int redled=8; //红色LED 输出
  int yellowled=7; //黄色LED输出
  int greenled=6; //绿色LED输出
  int redpin=5; //红色按键引脚
  int yellowpin=4; //黄色按键引脚
  int greenpin=3; //绿色按键引脚
  int restpin=2; //复位按键引脚定义
  int red;
  int yellow;
  int green;
  void setup()
  {
  pinMode(redled,OUTPUT);
  pinMode(yellowled,OUTPUT);
  pinMode(greenled,OUTPUT);
  pinMode(redpin,INPUT);
  pinMode(yellowpin,INPUT);
  pinMode(greenpin,INPUT);
  }
  void loop() //按键循环扫描。
  {
  red=digitalRead(redpin);
  yellow=digitalRead(yellowpin);
  green=digitalRead(greenpin);
  if(red==LOW)RED_YES();
  if(yellow==LOW)YELLOW_YES();
  if(green==LOW)GREEN_YES();
  }
  void RED_YES()//一直执行红灯亮,直到复位键按下,结束循环
  {
  while(digitalRead(restpin)==1)
  {
  digitalWrite(redled,HIGH);
  digitalWrite(greenled,LOW);
  digitalWrite(yellowled,LOW);
  }
  clear_led();
  }
  void YELLOW_YES()//一直执行黄灯亮,直到复位键按下,结束循环
  {
  while(digitalRead(restpin)==1)
  {
  digitalWrite(redled,LOW);
  digitalWrite(greenled,LOW);
  digitalWrite(yellowled,HIGH);
  }
  clear_led();
  }
  void GREEN_YES()//一直执行绿灯亮,直到复位键按下,结束循环
  {
  while(digitalRead(restpin)==1)
  {
  digitalWrite(redled,LOW);
  digitalWrite(greenled,HIGH);
  digitalWrite(yellowled,LOW);
  }
  clear_led();
  }
  void clear_led()//清除LED
  {
  digitalWrite(redled,LOW);
  digitalWrite(greenled,LOW);
  digitalWrite(yellowled,LOW);
  }
  实验现象都说了是抢答器,肯定是谁先按下,就亮谁的灯啦!
  然后按下REST按键后,复位。
其他文献
双十一过后,剁手党纷纷进入了焦躁的等待期,据说不少人都收到这样一条短信:  在经过G63高速公路南京路段时,您的快递所在的快递车因发动机温度过高不慎烧毁,由于您尚未购买快递險,故无法理赔。  虽然事后菜鸟驿站官方发表声明证实为谣言,但类似的事还真的发生了,刚辟谣之后没多久,一辆从重庆开往四川广安分拨中心的快递货车在高速路上自燃起火,火势难以控制,车载三四吨重,上万件快递付之一炬。  除了“天灾”,
期刊
第九代酷睿旗舰i9 9900K和RTX2080旗舰显卡堪称发烧级玩家心中的电竞神装组合,不过性能强悍的同时,它们对于电源的要求也相当苛刻。酷睿i9 9900K满载功耗在220W以上,而RTX2080满载功耗也在270W以上,那么应该选什么样的电源才能HOLD住?来实测一下吧。  金牌品质,强悍输出才靠谱  要满足高端处理器和显卡的供电需求,电源的+12V输出一定要够强力。以额定功率为600W的航嘉
期刊
1从12月1日起到12月13日,电子版全年版  今年最后一次超值特惠138元。  2從12月14日起,电子版全年版恢复原价158元。  电脑报电子版六大优势:  便宜:一百多元看一年,环保学习两不误!  快捷:提前一天读报,无需等待投递员!  灵活:可从任意一期开始计算,随意跨年!  例如:你从2018年38期开始,可以看到2019年37期结束  多平台:手机、平板、电脑账号通用,随时随地阅读! 
期刊
墨仓式喷打堵头除了干涸的原因外,还有气泡和灰尘的原因,上期为大家讲解了墨仓4.0如何防干涸,这期就为大家介绍墨仓4.0如何防气泡和灰尘。  墨仓4.0这样防气泡  当墨水中有气泡,并且进入打印机的喷嘴部分,就爱普生的喷墨打印机而言,随着其微压电器件震动,就无法推动墨水运行,自然也就不能喷射出墨水进行打印。同时,由于没有压力差,微压电喷头无法排出这些微小气泡,从而让这一喷嘴无法打印的现象难以消失。 
期刊
活动时间:  2018年12月2日  下午1:30(周日)  活动地点:  广州天河区羊城创意产业园智库车间(车陂南地铁站旁)  活动奖品:  电竞显示器、电竞背包、吃鸡手柄、护眼台灯、电竞鼠标、机械键盘等等  报名方式:  电脑报官方微信回复“广州嘉年华”关键词在线报名  念念不忘,必有回响!2018年电脑报粉丝嘉年华将于12月2日在广州再次拉开序幕,欢迎你的到来。这一次,我们将满足更多读者的期
期刊
当我们的数据资料越来越多的时候,大家对存储设备的功能性变得更加关注了。一款称手的存储工具虽然没有手机那么方便,却可以帮助手机实现更大的功用。为何这么说?这就要说到今天跟大家分享的无线移动硬盘了。  传输方式更简单  无线移动硬盘,不需要传输数据线,直接就可以实现数据的交换和传递。它本就是基于信息时代的发展趋势产生的。现在我们大多数时候采用手机拍照、录视频,很快内存就不够用了。这时候选择无线移动硬盘
期刊
这几天,大家应该已经陆续收到双十一期间下单的商品了吧,看着自己的订单记录,谁还记得,自己网购的初衷是为了省钱?  要说省钱,并不是让你去盯着买便宜货,不少平台以低价吸引用户,但是拿到手的多半是假货。特别是日常生活中需要用到的消耗品,毛巾、洗发水等等,更是容易上当。  所以,不光要便宜,买到的东西靠谱才是最重要的。首先,必须要去信得过的大平台,比如京东拼购,以开团购买,邀请好友一起拼的模式来砍价。在
期刊
当下主流整合平台两大人气U锐龙3 2200G和酷睿i3 8100及其配套主板的对比分析大家已经了解得很详细了。在处理器性能部分,支持全面超频的锐龙3 2200G有充分的潜力可挖,全核心超频4GHz家常便饭,赶超酷睿i3 8100轻而易举;在内置显卡游戏性能方面,锐龙3 2200G更是以數倍的性能优势全面碾压酷睿i3 8100,这方面锐龙APU确实做到了独孤求败;在配套主板方面,同品牌同价位的A32
期刊
不知不觉,双十一都过去两周啦,师姐买的东西也陆陆续续用了一段时间了。所以这周师姐选了6款自己用完之后觉得还不错的产品推荐给大家,都是经过脑内斗争之后挑的,大家认真研读为双十二做好准备!  超吸水硅藻垫  不知道大家还记不记得师姐之前有推荐过硅藻垫,这个东西在淘宝上也是爆款,各种价位都有,一不小心就容易挑花眼。师姐家里就有一块比较便宜的硅藻垫,不过用了一两个月效果就大不如前了,所以这次双十一入手了日
期刊
现在的新网游都有很棒的画面、出色的游戏设定、庞大的世界与沙盒的游戏玩法,但是大家是否都感觉到缺了些什么?那是因为在长时间游戏之后,无新意的重复游戏只能让你感到无趣与空乏。作为年级大一点的玩家来说,可能记忆犹新的总是当初接触到的游戏,那个时候大家与小伙伴组队,一起挑战大BOSS,一起为爆出的装备兴奋得大吼大叫,那是我们最快乐的时光。所以这一次小编要给大家介绍一款有着庞大世界观、日式风格,且自由度极高
期刊