艾巴生活网

您现在的位置是:主页>数码 >内容

数码

Arduino,UNO_使用按钮控制LED

2024-03-11 14:42:02数码帅气的蚂蚁
对于Arduino,UNO_使用按钮控制LED,很多网友还不是很明白,今天艾巴小编收集了这方面的知识,就将其分享出来。 操作方法: 01 准备实验

Arduino,UNO_使用按钮控制LED

对于Arduino,UNO_使用按钮控制LED,很多网友还不是很明白,今天艾巴小编收集了这方面的知识,就将其分享出来。

操作方法:

01 准备实验所需的硬件

2.连接硬件

3.连接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;常量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 如果if 中的条件不成立,则执行else 中的语句。在此示例中,确定了引脚状态。如果读取按钮值为高电平,LED 将点亮。如果读取按钮值为低电平,LED 将关闭。

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

09 实验延伸: 完成上述例程后,你可能会想,如果我们要点亮LED,我们的手就不能离开按钮。这是非常不方便的。我们怎样才能控制家里的灯,按一下就亮呢?再按一次即可将其关闭。我们可以改进程序,以达到这样的效果。将程序修改为下面列出的代码,然后将其上传到Arduino UNO控制器。 #define LED 7 //定义LED引脚为13 #define BUTTON 2 //定义按钮开关引脚为12int 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会熄灭。

特别提示:

注意按钮开关的连接。您需要先将开关连接到10K电阻,然后通过电阻将其连接到Arduino UNO控制器的GND引脚。

以上知识分享到此为止,希望能够帮助到大家!