Arduino UNO 使用按钮控制LED

之前的中我们使用Arduino程序控制一个LED的亮灭闪烁,可实际应用一般都是使用外部信号来控制的,有单纯的开关或红外线感应,这里我们就先使用最简单的按钮来做控制。

操作方法

  • 01

    如图所示准备实验需要使用的硬件

  • 02

    如图所示,进行硬件的连接

  • 03

    如图所示,连接 Arduino UNO 控制器和电脑

  • 04

    将下列程序复制到 Arduino IDE 中 const int buttonPin = 2; const int ledPin =  7; int buttonState = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(buttonPin, INPUT); } void loop() { buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } }

  • 05

    选择正确的板型(Arduino UNO)以及端口,将代码上传到UNO控制器中,如果上传无误如下图所示:

  • 06

    硬件回顾:按钮开关:按钮是一种常用的控制电器元件,常用来接通或断开‘控制电路’(其中电流很小),从而达到控制电动机或其他电气设备运行目的的一种开关。经过测试,我们用的按钮开关一共4个引脚分别为1、2、3、4如下图,其中1和2引脚始终相连(以下我们称它为A脚);3和4引脚始终相连(以下我们叫它B脚),当按钮按下时,A脚和B脚连接,不按按钮情况它们不连接。

  • 07

    现在我们就对本节中的几个新的代码进行回顾,如下所示,大家也可以对应图中所示的程序进行分析。 (1)const int buttonPin = 2;     const int ledPin =  7;    分别定义按键和LED引脚 (2)int buttonState = 0;   按键状态初始化 (3)  buttonState = digitalRead(buttonPin);将按钮状态值付给变量buttonState (4) if (buttonState == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); } 调节判断语句,当if中条件成立时,则执行if语句中的代码,若if中条件不成立,则执行else中的语句。此例中就是判断引脚状态,如果读取的button值为HIGH则点亮LED,若读取的button值为LOW,则熄灭LED。

  • 08

    实验效果:当按下按钮开关时,LED亮起;当开关松开后,LED熄灭。如下图所示:

  • 09

    实验扩展:上面的例程做过以后,大家可能会想,这样的话我们想要点亮LED,手就不能离开按钮了,这样非常不方便,怎么才能像家里控制电灯一样,按一下点亮,再按下熄灭呢,我们可以改进程序,使得可以实现这样的效果,将程序修改为下面列出的代码,再上传到Arduino UNO控制器中。 #define LED 7       //定义LED引脚为13 #define BUTTON 2    //定义按钮开关引脚为12 int val = 0;        //变量val用来储存按钮状态 int old_val = 0;    //暂存val变量的上一个时间单位 int state = 0;       //0表示LED关闭,1表示打开 void setup(){ pinMode(LED, OUTPUT);     //设定LED引脚为输出状态 pinMode (BUTTON,INPUT);   //设定按钮引脚为输入状态 } void loop(){ val = digitalRead(BUTTON); //读取按钮状态并储存 //检查按钮的变化情况 if((val == HIGH)&&(old_val == LOW)){ state =1-state; delay(40);              //延时简单抗抖动 } old_val = val;            //val下载已经是旧的了,让我们暂存一下 if (state == 1){ digitalWrite(LED,HIGH);  //开启LED灯 }else{ digitalWrite(LED,LOW);   //关闭LED灯 } }

  • 10

    扩展实验效果:程序编译无误并上传后,可以实现的是按一下按钮后,LED发光二极管亮起,再按下一次按钮后,LED将会熄灭。

(0)

相关推荐

  • Arduino按钮稳定控制LED灯编程

    Arduino按钮稳定控制LED灯编程 操作方法 01 设计初始的状态值 02 设定引脚模式 03 读取输入数值并且保存按钮的变化状态 04 当当前按钮状态为1,前一个按钮状态为0的时候,保持这种状态 ...

  • Arduino UNO 点亮LED实验

    开始玩儿Arduino系列,点亮一个外部LED发光二极管,创建你的第一个电路,输入代码,实现连接到IO口的LED每1秒闪烁1次. 操作方法 01 如图所示,准备好实验要用到的硬件 02 了解LED发光 ...

  • 怎么用Flash制作按钮控制影片动画?

    这里我教大家怎么用按钮来控制影片的播放,暂停也差不多一样,只是多一个按钮,我就不重复了,这里只做播放按钮。 方法/步骤 1、首先把弄好的动画放置于图层1,如图是我做的粗略东环 2、之后在第一帧右键点击 ...

  • Axure RP 8怎么制作按钮控制下拉框选项?

    Axure RP 8怎么制作按钮控制下拉框选项? 1.打开Axure RP 8软件,在软件库中找到下拉框元件,拖一个到画布上,如下图所示: 2.再次在元件库中找到"主要按钮",拖一 ...

  • Axure RP 8怎么使用按钮控制图片的显示或隐藏?

    Axure RP 8中想要制作一个按钮点击事件控制图片显示的效果,如果不点击显示按钮图片就不显示,该怎么设置呢?下面我们就来看看详细的教程. 1.打开Axure RP 8设计软件,在元件库中的基本元件 ...

  • Axure RP 8怎么使用按钮控制单选按钮使用或禁用?

    Axure RP 8利用按钮元件控制单选按钮禁用,可以使用按钮点击事件控制单选按钮禁用,该怎么实现这个功能呢?下面我们就来看看详细的教程. 1.双击打开Axure RP 8,在元件库中找到单选按钮,拖 ...

  • Axure RP 8怎么用按钮控制文本框显示数字或星号?

    输入密码的时候不想让别人知道输入了什么数字,我们就可以用星号代替密码,但是自己总是输入错误的时候,就可以显示数字密码,该怎么实现这个功能呢?我们可以使用axure中的按钮鼠标单击事件来实现,请看下文详 ...

  • Axure RP 8设怎么用按钮控制图片的显示与隐藏?

    Axure RP 8中自带了图片元件,导入图片后可以调整样式显示.添加按钮,控制图片显示和隐藏.下面利用一个实例说明按钮控制图片显示和隐藏的用法,操作如下: 1.打开Axure RP 8设计软件,在元 ...

  • Axure RP Pro 7.0怎么制作图片轮播按钮控制效果?

    当下几乎所有大小网站都有轮播图展示功能,你还可以用鼠标点击轮播图上的按钮来切换图片:当你需要制作带按钮控制的轮播图效果时,往往会上网搜索制作方法,但很难找到详细步骤说明和演示,本人也经历过欲找教程但屡 ...