这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ArduinoUNO:使用按键控制LED

共1条 1/1 1 跳转至

ArduinoUNO:使用按键控制LED

专家
2023-04-30 12:22:43     打赏

LED闪烁比较简单,这次我们用按键开关控制LED的亮灭。为了检测按键开关的状态,我们需要了解和学习一个新的Arduino指令:函数digitalRead()。

digitalRead() 函数会检查括号中指定的引脚上是否有电压信号,同时根据检测结果返回 HIGH 和 LOW。

按照以下方式搭建硬件电路(实际搭建的时候,最好使用面包板来完成):

Arduino 按键LED.png这里LED部分,和之前的文章不同,增加了一个限流电阻。限流电阻的大小,和LED有关。试用以下公式计算阻值大小:

R = (3.3 - V)/ I 

其中的V为LED的正常点亮状态下的工作电压,普通发光管一般为1.5V(这个电压是和发光管使用的材料有关的),I为正常点亮状态下的工作电流,对直径为5mm的普通发光管一般为10mA,那么限流电阻的阻值经过计算就是0.18K,为了保险起见,我们可以使用220欧姆的电阻。如果您用的是普通的3mm的发光管,它的正常点亮状态下的工作电流为5mA左右,你可以用3mA来计算,这样的话,限流电阻可以选择为620欧姆的电阻,实际使用中我一般都用1K的电阻来替代,更安全一些,就是亮度差一点。因为LED有多重,使用时务必注意它的工作参数,避免烧毁。

程序如下:

const int LED = 13; // 声明输出用管脚编号
const int BUTTON = 7; // 声明输入用管脚编号
int val = 0; // 声明、初始化变量

// 设置管脚
void setup() {
 pinMode(LED, OUTPUT);   // 配置LED用IO为输出
 pinMode(BUTTON, INPUT); // 配置按键用IO为输入
}
void loop(){
 val = digitalRead(BUTTON); // 取得按键状态

 if (val == HIGH) {
   digitalWrite(LED, HIGH); // 按键按下时,输入为高,点亮LED
 } else {
   // 否则灭掉LED
   digitalWrite(LED, LOW);
 }
}

代码不需要过多说明,看注释即可。在代码中追加注释是一个良好的习惯,请你在编码的时候。一定要养成这样的习惯。

编译下载程序后,就可以看到你的成果了。




关键词: 菜鸟学单片机     Arduino     按键     控制     LED    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]