Arduino基础入门:按键开关控制LED灯
创作时间:
作者:
@小白创作中心
Arduino基础入门:按键开关控制LED灯
引用
CSDN
1.
https://blog.csdn.net/2401_85774947/article/details/141719159
按键开关控制LED灯
一、前言
让我们开始学习如何使用Arduino开发板控制LED灯。这是一个基础的入门项目,通过按键开关来控制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(flag == true){
digitalWrite(pin_led, HIGH);
} else {
digitalWrite(pin_led, LOW);
}
四、运行结果
完成准备工作后,为Arduino烧录上面的代码,成功后打开串口调试,并设置波特率为9600。然后我们可以开始测试,多次按下按键,可以发现LED灯的状态一直在开、关、开…,灵敏度相当不错,并且串口调试窗口会打印当时按钮的状态,如果对应上了,说明操作成功。
五、结束语
通过本教程,你已经学会了如何使用Arduino和按键开关控制LED灯。希望这个基础项目能帮助你更好地理解Arduino开发板的基本操作和编程逻辑。如果有任何问题或建议,欢迎在评论区留言。
热门推荐
瀑布模型中的文档编写指南
公司期权的价值评估:从基础概念到具体方法
尼格罗尼鸡尾酒的经典调制与创新之路
夏季汽车胎压多少最合适?这些误区你可能还不知道
德意志、普鲁士和奥地利到底是一种什么样的关系?三者有何渊源?
激增35倍,加入WTO后,中国出口出现了哪些翻天覆地的变化?
上海青浦区徐姚村:积分制激发乡村治理新活力
六灯位原子吸收光谱仪校准步骤详解
面对人才流失问题,如何通过组织规划留住关键人才?
每家都应该有个好菜板
厨房小工具大用途:提升烹饪效率的神器推荐
保全债权的权利有哪些
精油的神奇力量:如何通过芳香疗法提升情绪与心理健康
“药”怎么用?丨多柔比星脂质体该怎么用?这些要点您注意过吗?
房贷逾期起诉和谁协商?一文详解应对方案
酱香型白酒与不同菜品的搭配技巧
《半条命2》20年依旧焕发魅力:创新技术与玩家社区的力量
《半条命2》RTX版技术特性介绍:RTX Remix工具很强大
最新调查:漂浮式海上风电发展面临多重挑战,2030年装机容量或不足3GW
除尘滤筒与滤袋的优缺点解析
警察传唤可以不去吗
分公司法人代表和总公司的法人代表可以是一个吗?
什么是道氏理论?它如何应用于加密货币?
演讲中引发共鸣的三大法则,巧用情感说服听众!
五子棋禁手规则详解:历史沿革与具体类型
SCI论文翻译指南:从内容理解到投稿要求
召回引来“二次伤害”,CR-V转向机异响遭集中投诉
霍山县东西溪乡:古茶香悠韵味长
咖啡变质了是什么味道 如何辨别咖啡粉变质 咖啡保质期一般多久
深入了解金属钝化膜的形成过程及其影响因素