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的基本输入输出控制原理。希望这个教程对你有所帮助,如果有什么问题,欢迎在评论区留言讨论。
热门推荐
别人还我的钱是非法所得怎么办我不知道
2025年更换电动车,48V、60V、72V车型,选择哪个价位的更划算?
天天喝陈皮水差点喝进ICU?慢性中毒,千万不可大意
反胃酸的最佳解决方法
电车一上高速就掉电,想延长续航应该怎么办?
宠物医院不提供发票的法律后果及其合规性探讨
小红书四大赚钱方式:从博主到买手的实战经验分享
分居后产生的收入如何分配
从案例看情绪营销:如何精准定位情感点,创作打动人心的品牌故事
家用文昌塔挑选层数的最佳建议 文昌塔层数与运势的关系
8G以下的手机强烈建议开启内存拓展,体验会好很多!
王者实战中如何更好地利用李白的技能组合?
什么是车贷返利
湿热内蕴怎么治才能除根
烟草证有距离限制吗?详解烟草专卖零售许可证办理条件与无证经营后果
酒芍药的功效与作用
婴儿奶粉含棕榈油的危害
探究狗狗与人亲近的原因(揭示狗狗对人类的情感连接与依赖)
“恺撒”之名,从何而来?
苏州大学医学院研究发现:男性饮酒更容易导致痛风
of和for的用法与区别 of后面跟有生命还是无生命
青菜能放冰箱吗?(保存青菜的正确方法及注意事项)
烟种植合同签订协议及流程与注意事项
种烟叶合法性探究:我国相关法律法规解读
实例解析:正高级职称四级教授与副厅级公务员,谁的养老金会高些
详解电子转向管柱锁的功能原理
透析袋的使用与选择指南
大学学费有哪些学校
“借名买房”背后的法律风险,你了解多少?
玉米须泡水喝的神奇功效?揭秘玉米须的六大健康益处