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开发板的基本操作和编程逻辑。如果有任何问题或建议,欢迎在评论区留言。
热门推荐
宝可梦:六代专属招式简评,它才是无视守住的第一人
过年不想去饭店,6道蒸菜提前做好,客人来了蒸一蒸,省钱又好吃(已过期)
成为CEO需要哪些资质
梦见狮子周公解梦原版
985、高性价比,非全MBA院校看这几所!你不知道的宝藏项目!
三方协议与劳动合同有怎样的不同
三方协议与劳动合同区别详解
心理学:当你出现感官过载时,就容易出现不满、委屈和愤怒的情绪
香港改名契公证认证及同一人声明之解析
古韵滋养心灵,香港青年通过古文学习厚植家国情怀
提车流程步骤,推荐小白看一下
如何优化深度学习模型以提升推理速度
C语言调试闪退的常见原因与解决方法
勇者斗恶龙3重制版角色创建与伙伴招募系统详解
揭秘鸟蛋形状之谜:飞行能力是关键因素?
虫螨腈使用注意事项
南京楼市反转:新房成交量连增71.6%,价格止跌回稳
空腹血糖高,自查八原因
iMessage发送后对方没收到?可能是这几个原因
赴美就医中介费用与服务详解
中华程氏家谱
数据加密与数据保护技术:如何确保信息安全?
无赖欠钱不还怎么办?法律专家为你支招
2025考研复试政策变化解读
阿克塞县:以"非遗+旅游"为抓手 促进各民族交往交流交融
如何利用数据训练AI模型
初中学生压力大焦虑怎么办?北京中学生心理疏导机构哪家好
怀孕各个月份适合选择哪些适宜的运动方式?
露西亚在哪?从神话到现实的探寻之旅
遭遇家庭暴力时,如何正确报警?