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

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

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

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

引用
CSDN
1.
https://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)
  • 注意事项
  • 讨论的基础是被测引脚电压在安全范围内(小于等于5V)。
  • 当被测端口输入电压在1.5至3.5V时,系统判断值不稳定。

pinMode(pin, state)

  • 功能说明:设置引脚的工作模式。
  • 参数
  • pin:代表单片机引脚,通常是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(Button_A); // 读取按钮A的状态,并记录在Button_A变量
  Button_B_state = digitalRead(Button_B); // 读取按钮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板。这种PCB板可以直接插到UNO R3上,简化了接线过程。PCB板的设计图和下载链接可以在原文中找到。

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