巧用 Arduino 与光敏模块,一个按钮实现 1 2 3 个流水灯控制!
要实现这个功能,你需要以下组件: 1. Arduino开发板(如Arduino UNO) 2. 光敏模块 3. 3个LED灯 4. 1个按钮开关 5. 杜邦线若干 接线方法: 1. 将光敏模块的VCC接到Arduino的5V,GND接到GND,AO接到A0。 2. 将3个LED灯分别连接到Arduino的数字引脚(如D2、D3、D4)。 3. 将按钮开关的一端接到Arduino的任意数字引脚(如D5),另一端接到GND。 接下来是Arduino代码: ```cpp const int lightSensorPin = A0; // 光敏模块连接的模拟输入引脚 const int ledPins[] = {2, 3, 4}; // LED灯连接的数字输出引脚 const int buttonPin = 5; // 按钮开关连接的数字输入引脚 int buttonState = HIGH; // 按钮状态,默认为未按下 int lastButtonState = HIGH; // 上一次按钮状态 int ledState = LOW; // LED灯状态,默认为关闭 int ledIndex = 0; // 当前亮起的LED灯索引 void setup() { for (int i = 0; i < 3; i++) { pinMode(ledPins[i], OUTPUT); // 设置LED灯引脚为输出模式 } pinMode(buttonPin, INPUT_PULLUP); // 设置按钮引脚为输入模式,并启用内部上拉电阻 } void loop() { int lightValue = analogRead(lightSensorPin); // 读取光敏模块的值 if (lightValue < 500) { // 如果光线较暗,则切换LED灯状态 ledState = !ledState; digitalWrite(ledPins[ledIndex], ledState); } buttonState = digitalRead(buttonPin); // 读取按钮状态 if (buttonState != lastButtonState) { // 如果按钮状态发生变化 if (buttonState == LOW) { // 如果按钮被按下 ledIndex = (ledIndex + 1) % 3; // 切换到下一个LED灯 digitalWrite(ledPins[ledIndex], ledState); // 更新LED灯状态 } lastButtonState = buttonState; // 更新上一次按钮状态 } } ``` 将这段代码上传到Arduino开发板,即可实现通过一个按钮控制亮起1、2、3个LED灯的功能。当光线较暗时,LED灯会自动切换状态。 ######[AI写代码神器 | 620点数解答 | 2024-06-20 19:19:38]
- Java JFrame 实现多界面跳转:含登录、注册及个人信息管理功能(讯飞星火 | 503点数解答 | 2024-06-06 23:49:29)408
- 超详细!用复杂 HTML 代码打造功能丰富网站,含特色搜索与展示(字节豆包 | 572点数解答 | 2024-11-17 07:58:26)273
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- PHP实训:从0到1搭建电商平台,收获技能与成长!(讯飞星火 | 674点数解答 | 2024-06-17 08:58:32)365
- jQuery 实现动态操作 DOM:打造可增删任务的待办事项列表应用(百度文心 | 1015点数解答 | 2024-10-26 23:41:22)447
- jQuery 打造实用待办事项列表:输入添加、点击删除一步到位!(阿里通义 | 1139点数解答 | 2024-10-29 08:44:48)362
- jQuery 实现动态操作 DOM:打造带添加与删除功能的待办事项列表应用(阿里通义 | 687点数解答 | 2024-10-29 09:25:06)376
- jQuery 实战:打造可添加与删除任务的待办事项列表应用(字节豆包 | 499点数解答 | 2024-10-29 20:40:48)287
- C++ 利用栈求解唯一路径迷宫:从起点 (1,1) 到终点 (m - 2,n - 2)(阿里通义 | 732点数解答 | 2024-11-03 02:34:53)533
- C++ 实现:从大整数中删数求最小密码的巧妙算法(DeepSeek | 473点数解答 | 2025-06-20 16:08:21)211
- C51 编程:外部中断 0 边沿触发控制 P2 口 8 个 LED 依次点亮(字节豆包 | 41点数解答 | 2025-06-22 11:25:54)160
- 8051 单片机:用外部中断 0 边沿触发实现 P2 口 8 个 LED 依次点亮(附代码与详解) (字节豆包 | 538点数解答 | 2025-06-22 11:26:15)135