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开发板的基本操作和编程逻辑。如果有任何问题或建议,欢迎在评论区留言。
热门推荐
大六壬课经:中国古代卜筮术的智慧结晶
从"跟跑"到"领跑":中国新能源汽车产业的奋进之路
“中国塑料产业第一镇”是怎样炼成的?
个税退税指南:补缴社保公积金后的退税流程详解
《微塑料与健康核心信息及释义》正式发布
公办学校高考复读:意义、优势与注意事项
月季界的"白月光", 高脚杯大花, 水果味浓香, 因名字被"耽误"
果汁阳台月季的养殖方法
行政诉讼必知的起诉期限,快收藏!
理解材料力学性能:强度、硬度、韧性、脆性
剩菜最多存放多长时间
每年十月份是币圈涨还是跌?
桃子的寓意与象征(桃子)
呼吸道合胞病毒感染的治疗和用药指南
战前3300辆坦克,打了3年还有7000辆,俄罗斯是怎么做到的?
六朝古都 魅力南京
六朝考古的独特意义
猫砂选购指南:为你的喵星人选择最佳清洁方案
抑郁症全知道:从症状识别到治疗康复
卖掉43个港口!李嘉诚家族,获利超1370亿
Win11如何网络发现共享文件夹?这份简易指南请收好
一张图了解中国的七大地理分区
上床下柜:多功能家具设计的优缺点分析
开具红字专用发票的条件及流程包括哪些
车窗膜撕掉后的胶痕去除指南
美国FDA首次授权尼古丁袋产品上市销售,20款ZYN尼古丁袋获批
春季必备5款减肥茶:绿茶、菊花茶等助你轻松燃脂,健康瘦身不是梦!
项目管理的流程是什么?全面了解项目管理的五个阶段
《森林之子》实用攻略:从基础操作到高级技巧,全面提升游戏体验
初步了解T-SPOT:一种新型结核感染诊断方法