用arduino程序编写无按钮控制小灯亮灭

一、灵感

 在我们平时用arduino编写小灯亮灭时,时常会遇到按钮开关短缺、丢失、找不到的问题。因此,我打算直接在arduino中编写一个可以替代按钮作用的程序,因为本人也是初学者,所以借助了人工智能。

二、硬件需求
- Arduino开发板(Uno/Nano等)
- LED灯 ×1
- 220Ω电阻 ×1
- 杜邦线或普通导线 ×2

硬件介绍:

三、 电路连接
| 组件        | 连接方式                 |
|-------------|-------------------------|
| LED正极     | Arduino数字引脚 `D9`     |
| LED负极     | 220Ω电阻 → Arduino `GND` |
| 控制导线    | 一端接 `D2`,另一端悬空   |

红线那端是小灯泡短头,橙色线是长头

四、代码实现

const int ledPin = 9;     // LED控制引脚
const int wirePin = 2;    // 导线检测引脚

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(wirePin, INPUT_PULLUP); // 启用内部上拉电阻
  digitalWrite(ledPin, LOW);     // 初始状态关闭LED
}

void loop() {
  // 检测导线是否接地
  if (digitalRead(wirePin) == LOW) {
    digitalWrite(ledPin, HIGH);  // 导线接通,LED亮
  } else {
    digitalWrite(ledPin, LOW);   // 导线断开,LED灭
  }
  delay(50);  // 防抖动延时
}
```

五、 操作步骤
1. 按电路图完成硬件连接
2. 将代码上传至Arduino
3. 测试:
   - 用导线连接D2和GND → LED亮
   - 断开连接 → LED灭

视频发布到个人视频当中

六、注意事项
1. 必须为LED串联限流电阻
2. 导线接触时间建议>50ms
3. 避免导线同时接触多个引脚

七、原理解析
- `INPUT_PULLUP`模式使引脚默认高电平
- 导线接地时引脚被拉低
- 代码实时检测引脚电平变化

八、扩展应用
- 改用金属片实现触摸控制
- 增加多级亮度控制
- 结合串口输出状态信息

九、常见问题
Q:LED不亮怎么办?
A:检查:
1. 正负极是否正确
2. 电阻是否正常
3. 代码引脚定义是否匹配

Q:响应不灵敏?
A:尝试:
1. 增大延时时间
2. 改用更可靠的连接方式
3. 添加软件防抖

---

> 原创声明:本文采用 CC BY-NC-SA 4.0 协议授权
> 转载请注明出处:优快云博客-【李颉】

>b站博主链接:【无需硬件Arduino入门 第二讲 流水灯与按键开关LED灯】 https://www.bilibili.com/video/BV1Xr4y1n7Xa/?share_source=copy_web&vd_source=2f10ed67c678a7db0923ba3231460461


``` 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值