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

    诚者,君子之所守也。
  • 相关阅读:
    高考,高中毕业之后,这人世间,又多了一只闲云野鹤
    玩转Android之Drawable的使用
    Spring核心技术(七)——Spring容器的扩展
    商业研究(21):活力蛙,足疗O2O,曾经的“中国上门足疗领先品牌”
    商业研究(21):活力蛙,足疗O2O,曾经的“中国上门足疗领先品牌”
    【Raspberry Pi】DHT11 温度湿度传感器数据读取
    【Raspberry Pi】读取DHT11温度湿度波折
    【Raspberry Pi】webpy+mysql+GPIO 实现手机控制
    【python】正则表达式
    【Raspberry Pi】GPIO-发光二极管控制
  • 原文地址:https://www.cnblogs.com/SkystarX/p/12180815.html
Copyright © 2011-2022 走看看