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的基本输入输出控制原理。希望这个教程对你有所帮助,如果有什么问题,欢迎在评论区留言讨论。
热门推荐
总是睡不好?提升睡眠质量小方法
牙龈激光去除术后护理指南
山楂玫瑰花茶的功效与泡制方法
深层解读量子力学,“意识”真的会影响结果吗?(中)
坐月子不能碰凉水是真的吗?
生完孩子为什么要坐月子
如何学习微信小程序JS:从入门到实践的全面指南
让·皮亚杰:儿童心理学与发生认识论的开创者
电梯的检验和检测有什么区别
棉签掏耳朵的危害
耳朵里有异响,但不是耳鸣
什么是财产分割原则
夫妻分割财产时如何利用第三方机构收集证据
电路分析之等效模型
私人车后排座椅放倒当床睡,算违章?交警:这都不懂,还敢开车
三月去西藏大昭寺自由行攻略:完整路线指南
春日养生秘诀:如何巧妙饮用菊花茶强健肝脏?
动漫产业如何管理成本
海南自驾游【过海攻略】
1998年长江大洪水是什么情况 长江大洪水带来的损失有哪些
如何正确进行桃树扦插(时间、方法、技巧详解)
桃树能扦插吗?详解桃树扦插繁殖技术
西甲历届冠军最高积分 西甲历史上最高的冠军积分是多少
欧洲五大联赛排名规则与升降级机制全解析
老笔记本电脑适合安装哪个系统?
三种河粉的家常做法:炒、煮、凉拌任你选
超简单家常炒河粉
MBTI 中的 INTP 及其职业选择(含 16 型简介)
精神科药物导致便秘怎么办?
颐和园为什么这么美丽?