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的基本输入输出控制原理。希望这个教程对你有所帮助,如果有什么问题,欢迎在评论区留言讨论。
热门推荐
防伪标签设计技巧,增强品牌辨识度
鼻子起皮怎么办?医生给出专业建议
美国本科药学专业有哪些选择和机会
从零开始建立社交圈:实用建群指南与技巧分享
如何快速分类PCB,工程师必备!
给韩国打电话前面加什么?
刘彻阳谋推恩令:汉武帝的权谋策略与皇权巩固
汉武帝推恩令:削弱诸侯势力的法律创新
新概念模电:负反馈与运放的深入解析
学信网报告编号是什么 如何查询报告编号
入墙式音箱的优势与安装要点:打造隐形的音乐享受
人事专员简历写作指南:六大维度打造高吸引力简历
牛顿和爱因斯坦差别在哪里?
牛顿和爱因斯坦差别在哪里?
虎皮兰的阳光习性(探究虎皮兰对阳光的喜好与影响)
这3种植物“吸甲醛”,比绿萝、吊兰“强10倍”,回家养几盆吧!
埃塞俄比亚咖啡品种74158、74110:数字背后的科学与市场
PA66材料性能参数|深入解析PA66材料性能参数及其应用
揭秘氢氧化镁:化妆品中的多功能成分
深圳⇄珠海30分钟!深珠通道最新信息来了!
国内护理硕士如何成功申请澳洲留学
如何给文竹换盆?用点“小技巧”,蹭蹭冒小芽,疯长不停
扔掉你的阔腿裤吧,太显矮!今秋流行这3条裤子,显高显瘦还百搭
电脑怎么连接打印机设备 添加打印机教程介绍
3 种实用方法:如何为 Windows 11 添加网络打印机
干货 | 膝关节常见体格检查——膝关节力线、髌骨检查、膝周压痛点
工控一体机常见接口类型及应用场景解析
肾功能不全人士适宜饮用的茶饮推荐
如何看待职场“裙带关系”?
中国城市综合发展指标北京连续8年排名首位,上海、深圳、广州进入前四名