Arduino系列教程-06 按键控制
2014-02-10 10:28
316 查看
本教程来至yingcloud.com网站
使用Arduino的I/O 口的输入功能即为读取外接设备的输出值,我们用一个按键和一个LED 小灯完成一个输入输出结合使用的实验,让大家能简单了解I/O 的作用。
根据原理图,我们将按键接到数字7 接口,红色小灯接到数字11 接口(Arduino 控制器0-13 数字I/O 接口都可以用来接按键和小灯,但是尽量不选择0 和1 接口,0 和1 接口为接口功能复用,除I/O 口功能外也是串口通信接口,下载程序时属于与PC 机通信故应保持0 和1 接口悬空,所以为避免插拔线的麻烦尽量不选用0 和1 接口)。按键的一端连接10KΩ的电阻R1,另外一端接5V,LED灯负极接220Ω电阻R2与R1一起接地。
分析上图我们可知当按键按下时,数字7 接口可读出为高电平,这时我们使数字11 口输出高电平可使小灯亮起,程序中我们判断数字7 口是否为低电平,要为低电平使数字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);}
}
下载完程序本次的按键控制小灯的实验就结束了,根据这种原理我们可以想象出很多生活中应用到它的例子。
使用Arduino的I/O 口的输入功能即为读取外接设备的输出值,我们用一个按键和一个LED 小灯完成一个输入输出结合使用的实验,让大家能简单了解I/O 的作用。
所需元器件
按键开关1个、LED灯一个、220Ω、10KΩ电阻各一个、面包板、跳线若干、Arduino板原理图
根据原理图,我们将按键接到数字7 接口,红色小灯接到数字11 接口(Arduino 控制器0-13 数字I/O 接口都可以用来接按键和小灯,但是尽量不选择0 和1 接口,0 和1 接口为接口功能复用,除I/O 口功能外也是串口通信接口,下载程序时属于与PC 机通信故应保持0 和1 接口悬空,所以为避免插拔线的麻烦尽量不选用0 和1 接口)。按键的一端连接10KΩ的电阻R1,另外一端接5V,LED灯负极接220Ω电阻R2与R1一起接地。
实物图
分析上图我们可知当按键按下时,数字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);}
}
下载完程序本次的按键控制小灯的实验就结束了,根据这种原理我们可以想象出很多生活中应用到它的例子。
课程总结
这个实验使用Arduino的I/O 口的输入功能即为读取外接设备的输出值来控制LED灯,将I/O口的输出功能作了变换,可见Arduino板的核心很重要,通过这个实验我们需要掌握的就是如何定义元器件连接I/O口,如何布线合理。相关文章推荐
- 【转】物联网跟我动手做系列教程—第三篇 实验三如何用arduino+ethernet shield与yeelink结合5分钟实现web远程家电控制(代码已更新)
- arduino学习系列——按键控制LED灯
- Arduino系列教程-017 舵机控制
- Windows 8实例教程系列 - 布局控制
- Docker系列教程06-实战:修改Nginx首页
- Arduino系列教程-013 火焰报警
- 第七讲 : 流程控制-条件分支语句 -【天轰穿.Net4趣味编程系列视频教程-vs2010轻松学习C#视频教程】
- Controlling A Roomba with an Arduino - Arduino串口控制Roomba教程
- Arduino系列教程-014 数码管
- [转]Ultra Fractal教程系列06——快速入门教程03——应用着色算法
- 自定义View系列教程06--详解View的Touch事件处理
- 手机app 控制 arduino(w5100)教程(step by step)
- Arduino系列教程-015 四位数码管
- 第八 讲 : 流程控制-循环语句 - 【天轰穿.Net4趣味编程系列视频教程-vs2010轻松学习C#】
- [置顶] Androidble4.0蓝牙开发兼容2.0蓝牙应用(针对arduino蓝牙控制小车开发应用HC-08,06蓝牙模块的连接)
- 【Arduino官方教程第一辑】示例程序 2-3 按键去抖
- Arduino系列教程之 – PWM 的秘密(下)
- ASP.NET Core依赖注入系列教程之控制反转(IoC)
- 自定义View系列教程06--详解View的Touch事件处理
- Arduino系列教程-01 Hello World!