zoukankan      html  css  js  c++  java
  • 基于Arduino的按键控制LED实验

    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 接口),按下面的原理图连接好电路。

     

    实物连接图:

     

    下面开始编写程序,我们就让按键按下时小灯亮起,根据前面的学习相信这个程序很容易就能编写出来,相对于前面几个实验这个实验的程序中多加了一条条件判断语句,这里我们使用if 语句,Arduino 的程序便写语句是基于C 语言的,所以C 的条件判断语句自然也适用于Arduino,像while、swich 等等。这里根据个人喜好我们习惯

    于使用简单易于理解的if 语句给大家做演示例程。

    我们分析电路可知当按键按下时,数字7 接口可读出为高电平,这时我们使数字11 口输出高电平可使小灯亮起,程序中我们判断数字7 口是否为低电平,要为低电平使数字11 口输出也为低电平小灯不亮,原理同上。

     1 int ledpin=11;//定义数字11 接口
     2 int inpin=7;//定义数字7 接口
     3 int val;//定义变量val
     4 void setup()
     5 {
     6 pinMode(ledpin,OUTPUT);//定义小灯接口为输出接口
     7 pinMode(inpin,INPUT);//定义按键接口为输入接口
     8 }
     9 void loop()
    10 {
    11 val=digitalRead(inpin);//读取数字7 口电平值赋给val
    12 if(val==LOW)//检测按键是否按下,按键按下时小灯亮起
    13 { digitalWrite(ledpin,LOW);}
    14 else
    15 { digitalWrite(ledpin,HIGH);}
    16 }

    实验结果,及其现象:当按键按下时,LED亮,按键没有按下时,LED不亮。

    下载完程序我们本次的小灯配合按键的实验就完成了,本实验的原理很简单,广泛被用于各种电路和电器中,实际生活中大家也不难在各种设备上发现,例如大家的手机当按下任一按键时背光灯就会亮起,这就是典型应用了。你可以把LED当成继电器,就可以控制220v电灯啦!

    诚者,君子之所守也。
  • 相关阅读:
    Ubuntu 14.04 卸载通过源码安装的库
    Ubuntu 14.04 indigo 相关依赖
    Ubuntu 14.04 indigo 安装 cartographer 1.0.0
    Ubuntu 14.04 改变文件或者文件夹的拥有者
    安装cartographer遇到Unrecognized syntax identifier "proto3". This parser only recognizes "proto2"问题
    Unrecognized syntax identifier "proto3". This parser only recognizes "proto2". ”问题解决方法
    查看所有用户组,用户名
    1卸载ROS
    Ubuntu14.04 软件安装卸载
    Ubuntu14.04系统显示器不自动休眠修改
  • 原文地址:https://www.cnblogs.com/SkystarX/p/12180815.html
Copyright © 2011-2022 走看看