Arduino R3笔记4 之 如何用按钮控制LED灯的点亮与熄灭?

 注意:学习和写作过程中,部分资料搜集于互联网,如有侵权请联系删除。

前言:上偏文章学习了如何点亮LED灯,这篇文章主要讲解如何通过两个按钮分别控制灯的点亮与熄灭。

1.实验前硬件准备

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

需要准备的器材

2.今日需要学习的语法介绍

知识点1:

digitalRead(pin)

注意:此函数使用前,需要确认对应的引脚要设置为输入模式。

pin:代表单片机引脚,在Aruino uno r3板上可以直接看到,通常是0~13。

该函数的返回值:这个有2种值,如下:

  • 1,高电平,则对应引脚测得的电压高于3.5V电压

  • 0,低电平,则对应引脚测得的电压低于1.5V电压

注意:1.讨论的基础都是基于被测引脚电压属于安全范围:小于等于5V电压。

           2.被测端口输入电压在1.5至3.5时系统判断值不稳定,可能是高电平,也可能是低电平。

知识点2:

pinMode(pin,state)

这是对于引脚定义的一个函数,其中:

pin:代表单片机引脚,在Aruino uno r3板上可以直接看到,通常是0~13。

state:这个有3种模式,如下:

     ● OUTPUT,输出模式

     ● INPUT,输入模式

      ●INPUT_PULLUP,输入上拉模式    

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

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

将引脚2、3设置为上拉输入模式,将引脚13设置为输出模式。

单片机不断检测按钮A和按钮B的状态:

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

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

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

感受DIY的乐趣,可按下图图示接线。

5.完整代码

#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号引脚为低电平
}

6.写在最后

如果想做多个LED灯和按钮控制,又不想自己连接线的宝子们,可以下载我这个pcb,打板焊接后,可直插到UNO R3上,如图,灯附近的数字表示连接到的引脚。

上图PCB是AD软件绘制,已验证,下载链接:https://download.csdn.net/download/FKL1054934525/89785191?spm=1001.2014.3001.5503

上一篇:Arduino R3笔记3 之 如何点亮第一个LED灯?

下一篇:Arduino R3笔记5 之 Arduino限流电阻该用多大呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ω-QAQ-Ω

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值