问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Arduino UNO R3开发板:用按钮控制LED灯的点亮与熄灭

创作时间:
作者:
@小白创作中心

Arduino UNO R3开发板:用按钮控制LED灯的点亮与熄灭

引用
CSDN
1.
https://m.blog.csdn.net/FKL1054934525/article/details/142471048

本文将介绍如何使用Arduino UNO R3开发板实现用两个按钮分别控制LED灯的点亮与熄灭。通过本教程,你将学习到digitalReadpinMode函数的使用方法,以及按钮控制LED灯的基本原理。

实验前硬件准备

要完成这个实验,你需要准备以下硬件:

  • Arduino UNO R3开发板一块
  • LED小灯1个
  • 按钮2个
  • 1K电阻
  • 杜邦线

今日需要学习的语法介绍

digitalRead(pin)

这个函数用于读取指定引脚的电平状态。使用前,需要确认对应的引脚要设置为输入模式。

  • pin:代表单片机引脚,在Arduino Uno R3板上可以直接看到,通常是0~13。
  • 返回值:
  • 1:高电平(电压高于3.5V)
  • 0:低电平(电压低于1.5V)

注意:

  1. 讨论的基础都是基于被测引脚电压属于安全范围:小于等于5V电压。
  2. 被测端口输入电压在1.5至3.5时系统判断值不稳定,可能是高电平,也可能是低电平。

pinMode(pin, state)

这个函数用于设置引脚的工作模式。

  • pin:代表单片机引脚,在Arduino Uno R3板上可以直接看到,通常是0~13。
  • state:有三种模式:
  • OUTPUT:输出模式
  • INPUT:输入模式
  • INPUT_PULLUP:输入上拉模式

注意:INPUTINPUT_PULLUP的区别在于是否开启内部上拉电阻,实现上拉输入功能。

按钮控制LED灯的点亮与熄灭原理

将引脚2、3设置为上拉输入模式,将引脚13设置为输出模式。单片机不断检测按钮A和按钮B的状态:

  • 当按钮A被按下,单片机检测到按钮A的输入信号被拉低到GND,则输出高电平给LED,点亮LED;
  • 当按钮B被按下,单片机检测到按钮B的输入信号被拉低到GND,则输出低电平给LED,熄灭LED。

按钮控制LED灯的点亮与熄灭的单片机实现

按照下图所示进行接线:

完整代码

#define led 13  // 给引脚13取个名字,叫做led,后面可直接写led代替13
#define Button_A 2 // 给引脚2取个名字,叫做Button_A
#define Button_B 3 // 给引脚3取个名字,叫做Button_B

void setup()    
{
  pinMode(led, OUTPUT); // 设置13号引脚为输出模式
  pinMode(Button_A, INPUT_PULLUP); // 设置2号引脚为输出模式
  pinMode(Button_B, INPUT_PULLUP); // 设置3号引脚为输出模式
}

void loop()
{
  bool Button_A_state = 1; // 定义一个bool变量,用于记录Button_A的状态
  bool Button_B_state = 1; // 定义一个bool变量,用于记录Button_B的状态

  Button_A_state = digitalRead(2); // 读取按钮A的状态,并记录在Button_A变量
  Button_B_state = digitalRead(3); // 读取按钮B的状态,并记录在Button_B变量

  if (Button_A_state == 0) digitalWrite(led, HIGH);  // 系统检测到按钮A按下,设置13号引脚为高电平
  if (Button_B_state == 0) digitalWrite(led, LOW);   // 系统检测到按钮B按下,设置13号引脚为低电平
}

写在最后

如果想做多个LED灯和按钮控制,又不想自己连接线的宝子们,可以下载我这个pcb,打板焊接后,可直插到UNO R3上,如图,灯附近的数字表示连接到的引脚。上图PCB是AD软件绘制,已验证,下载链接:https://download.csdn.net/download/FKL1054934525/89785191?spm=1001.2014.3001.5503

注意:下载时请确保来源安全,避免下载恶意软件。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号