Arduino入门教程:使用按键开关控制LED灯
创作时间:
作者:
@小白创作中心
Arduino入门教程:使用按键开关控制LED灯
引用
CSDN
1.
https://blog.csdn.net/2401_85774947/article/details/141719159
Arduino是一种非常流行的开源电子原型平台,它可以让用户通过编程来控制各种电子元件。本文将介绍如何使用Arduino开发板和按键开关来控制LED灯的亮灭。
准备工作
硬件
- Arduino Uno开发板
- 3~5V的LED灯(发光二极管)一个
- 220Ω电阻一个
- 直插式四脚开关按钮一个
- 公对公杜邦线若干和面包板一个
软件
- Arduino IDE(如果尚未安装,可以参考其他相关教程进行安装)
电路连接
程序代码
#define pin_led 7 // 控制LED的亮灭
#define pin_button 6 // 用于读取按钮状态
bool flag = false; // 切换LED状态的标志位(每次按下取反)
bool button_down_flag = false; // 用于消抖,表按钮按下
void setup() {
Serial.begin(9600);
pinMode(pin_led, OUTPUT); // LED引脚设为输出模式
pinMode(pin_button, INPUT_PULLUP); // 把控制开关引脚设为上拉状态(高电平)
}
void loop() {
if(digitalRead(pin_button) == LOW){
button_down_flag = true; // 表示按钮已经按下(没弹起)
Serial.println("按钮按下");
delay(50); // 延迟50ms
// 再次检测,如果pin_button为高电平,表示已经弹起
if(digitalRead(pin_button) == HIGH && button_down_flag){
Serial.println("按钮弹起");
flag = !flag; // 切换状态
digitalWrite(pin_led, flag == true ? HIGH : LOW); // 写入
button_down_flag = false; // 重新赋值
}
}
}
在上述代码中,有一行使用了三元运算符:
digitalWrite(pin_led, flag == true ? HIGH : LOW);
这行代码等价于下面的if-else语句:
if(flag == true){
digitalWrite(pin_led, HIGH);
} else {
digitalWrite(pin_led, LOW);
}
运行结果
完成硬件连接并上传代码后,打开Arduino IDE的串口监视器,设置波特率为9600。此时,每当你按下开关按钮,LED灯的状态就会在亮和灭之间切换,同时串口监视器会显示按钮的状态信息。
总结
通过本教程,你已经学会了如何使用Arduino开发板和按键开关来控制LED灯。这是一个非常基础但非常实用的项目,可以帮助你理解Arduino的基本输入输出控制原理。希望这个教程对你有所帮助,如果有什么问题,欢迎在评论区留言讨论。
热门推荐
探秘安卓系统隐藏功能,提升手机体验
现代教育理念下的亲子沟通:挑战与策略
西洋参麦冬泡水的功效与食用指南
首批AKG使用者带来的健康革命:科学证据与选择指南
手上长倒刺,真的不是缺维生素
小儿七星茶颗粒正确使用方法
专才or 通才
边牧狗粮选择指南(国产粮分三大类,究竟哪种适合边牧?)
恐龙灭绝原因再探讨:陨石撞击或是真凶
两阶段提交(Two-phase Commit, 2PC)原理分析
农民土地征用补偿标准及土地使用权流转方式详解
沉浸式技术:从概念到应用的全面解析
保定学院怎么样 好不好
王者荣耀账号私下交易风险全解析
崩坏3剧情:深渊之谜新篇章详细梳理剧情分析与预测
第一次养狗,最适合养什么品种呢?新手养狗指南来啦!
骶区脊索瘤如何治疗活得更好、更久?
中国青年学者一作!观察“狗”,发了一篇Science:淋湿的狗为什么会抖干自己?
工程质量责任终身制:从源头确保建筑质量
鲁菜十大经典名菜:舌尖上的山东风情
舌头两侧黑紫色怎么回事
螨虫危害知多少?家庭防螨攻略大揭秘!
对标斯坦福!一批“新大学”,火了
无任何过错离婚怎么办理手续
最新肇事逃逸案件:法律剖析与社会影响
“血压高”与“血压低”的人,哪个更需关注?心血管医生给出答案
天然钻石:情感与人生的重要见证者
探秘内黄县:河南省隐藏的旅游宝藏与未被开发的景点
校园恐怖,幻象、现实与心理解析
花椒粉的正确使用方法:从选购到烹饪技巧全解析