• 基于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电灯啦!

    诚者,君子之所守也。
  • 相关阅读:
    鸟哥的Linux私房菜学习笔记(1)
    Linux下搭建Oracle11g RAC(4)----配置oracle,grid用户SSH对等性
    解决升级windows8.1 Oracle服务被刷新
    Linux下搭建Oracle11g RAC(3)----创建用户及配置相关文件
    Linux下搭建Oracle11g RAC(2)----配置DNS服务器,确认SCAN IP可以被解析
    Linux下搭建Oracle11g RAC(1)----IP分配与配置IP
    Oracle11g新特性导致空表不能导出问题
    svn is already locked 最终解决方案
    .cur 图片加载提示 You may need an appropriate loader to handle this file type
    Request header field userRole is not allowed by Access-Control-Allow-Headers in preflight response.
  • 原文地址:https://www.cnblogs.com/SkystarX/p/12180815.html
Copyright © 2020-2023  润新知