这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 综合技术» 基础知识» 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 跳转至

回复

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