实验五:按键控制

I/O 口的意思即为INPUT 接口和OUTPUT 接口,到目前为止我们设计的小灯实验都还只是应用到Arduino 的I/O 口的输出功能,这个实验我们来尝试一下使用Arduino的I/O 口的输入功能即为读取外接设备的输出值,我们用一个按键和一个LED 小灯完成一个输入输出结合使用的实验,让大家能简单了解I/O 的作用。按键开关大家都应该比较了解,属于开关量(数字量)元件,按下时为闭合(导通)状态。

实验器材清单

  1. 按键开关 1个
  2. 红色M5直插LED 1个
  3. 220欧姆电阻 1个
  4. 10K欧姆电阻 1个
  5. 面包板 1个
  6. 面包板跳线 1扎

实验原理接线图

我们将按键接到数字7 接口,红色小灯接到数字11 接口(Arduino 控制器0-13 数字I/O 接口都可以用来接按键和小灯,但是尽量不选择0和1 接口,0 和1 接口为接口功能复用,除I/O 口功能外也是串口通信接口,下载程序时属于与PC 机通信故应保持0 和1 接口悬空,所以为避免插拔线的麻烦尽量不选用0 和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电灯啦!

程序代码

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);}
}

Ardino基础教程 5_按键控制相关推荐

  1. Ardino基础教程 19_舵机控制

    实验十九:舵机控制 舵机控制实验Servo库版本的代码参考如下链接:ArduinoCode19-舵机控制Servo库版本代码.ino 舵机是一种位置伺服的驱动器,主要是由外壳.电路板.无核心马达.齿轮 ...

  2. GSAP JS基础教程--动画的控制及事件

    好多天没有写无博文啦,今天无聊就再写一下! 今天要讲的是TweenLite的一些事件以及,TweenLite动画的控制,TweenMax类似,请自行参考官方文档:http://api.greensoc ...

  3. zigbee CC2530 系列教程 4 按键控制LED实验

    所有课程见此链接: zigbee CC2530 系列教程 0 课程介绍 4.3按键控制LED实验 4.3.1 实验目的 了解使用按键方法,使用按键切换LED的状态. 4.3.2 实验讲解 首先根据开发 ...

  4. Ardino基础教程 11_PWM调控灯光亮度

    实验十一:PWM调控灯光亮度 Pulse Width Modulation 就是通常所说的PWM,译为脉冲宽度调制,简称脉宽调制.脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,由于计算 ...

  5. Ardino基础教程 7_蜂鸣器发声实验

    实验七:蜂鸣器发声 用Arduino 可以完成的互动作品有很多,最常见也最常用的就是声光展示了,前面一直都是在用LED 小灯在做实验,本个实验就让大家的电路发出声音,能够发出声音的最常见的元器件就是蜂 ...

  6. Ardino基础教程 6_抢答器

    实验六:抢答器 完成上面的实验以后相信已经有很多朋友可以独立完成这个实验了,本实验就是将上面的按键控制小灯的实验扩展成3 个按键对应3 个小灯,占用6 个数字I/O 接口. 电路连接图 原理这里就不多 ...

  7. Ardino基础教程 21_最简单最快控制LCD1602

    实验二十一:最简单最快控制LCD1602 实验接线图 下面个摇杆模块,不用接先不忙管. #include <LiquidCrystal.h> LiquidCrystal lcd(12, 1 ...

  8. (五)DSP28335基础教程——外部中断控制(按键触发)

    0 前言 本期实验目标:采用外部中断方式响应按键触发,实现LED电平反转. 外部中断是DSP十分常用的功能,通常用来响应一些控制操作,比如判断按键是否按下,传感器是否接收到信号等等.那么通过该例程,大 ...

  9. Ardino基础教程 22_PS2摇杆

    PS2摇杆 PS2 摇杆一般可以用来控制小车等等,其构造主要就是两个10K 的电位器,还有一个按键开关.五个端口分别为VCC,X,Button,Y,GND. 实验接线图 以下为参考程序代码: #inc ...

最新文章

  1. [专题总结]AC自动机
  2. 八卦Minsky打压神经网络始末
  3. 大数据初探——Hadoop历史
  4. 源码群友问:你这么多项目是怎么进行技术选型的?
  5. 斗鱼上市进行时:将登陆纳斯达克 发行价区间定为11.5至14美元
  6. python 两点曲线_python机器学习分类模型评估
  7. Vue遍历对象,数组,v-if、v-if-else、v-else
  8. 大数据分析四大分析要素
  9. 2019年工程造价表_【行业要闻】中国建设工程造价管理协会 关于2019年工程造价咨询企业造价咨询收入排名的公告...
  10. CVE-2017-4901 VMware虚拟机逃逸漏洞分析【Frida Windows实例】
  11. 16.凤凰架构:构建可靠的大型分布式系统 --- 向微服务迈进
  12. table中强制不换行
  13. ccna、ccnp视频教程
  14. selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable: eleme
  15. 计算机硬件系统包括哪几部分组成,计算机硬件系统由哪几部分组成
  16. 屏幕录像软件Community Clips Recorder简介及其使用技巧(郝宪玮)
  17. 如何快速调整参考文献格式
  18. scrapy 爬取酷狗热门歌手音乐
  19. 第八部分 项目资源管理
  20. Java实现旅行商问题

热门文章

  1. 【HDOJ图论题集】【转】
  2. XIII Open Grodno SU Championship
  3. BootStrap2学习日记8---表单
  4. Hacker's Browser
  5. [zz]淘宝子团关于kvm 调优的分享
  6. 如何自定义Shell登录组件
  7. 自动生成Insert数据的SQL脚本
  8. MFC用代码创建工具栏
  9. win32 创建进程三种方式简单示例 - 使用CFree
  10. 图解MyEclipse用DB Browser连接四种数据库