写一篇代码arduino按键控制led呼吸灯快慢
时间: 2024-09-29 18:01:23 浏览: 40
blinky:Arduino Uno LED 测试
在Arduino Uno或类似板子上,你可以使用数字输入(按钮)控制LED灯的呼吸效果以及快慢。这里是一个简单的示例代码,展示了如何通过按键改变LED灯的闪烁频率:
```cpp
#include <SoftwareSerial.h> // 如果你的Arduino没有连接到电脑,需要包含这个库
const int LED_PIN = 9; // LED连接到数字pin 9
const int BUTTON_PIN = 2; // 按钮连接到数字pin 2
const int SLEEP_TIME_MS = 50; // 呼吸灯闪烁间隔时间(毫秒)
SoftwareSerial ss(2, 3); // 创建软件串行连接用于读取按键信号
void setup() {
pinMode(LED_PIN, OUTPUT); // 设置LED为输出模式
pinMode(BUTTON_PIN, INPUT_PULLUP); // 设置按钮为上拉输入
ss.begin(9600); // 初始化软件串行通信
}
void loop() {
if (ss.available()) { // 检查是否有按键按下
byte buttonState = ss.read(); // 读取按键状态
if (buttonState == LOW) { // 当按钮按下(低电平)
int speed = random(50, 150); // 随机选择一个新的闪烁速度(范围:50-150毫秒)
delay(speed); // 逐步增加延时时间
} else {
delay(SLEEP_TIME_MS); // 按键松开则回到原速闪烁
}
}
digitalWrite(LED_PIN, digitalRead(LED_PIN)^1); // 反转LED状态(亮/灭)
delay(SLEEP_TIME_MS); // 等待下一个呼吸周期
}
```
在这个例子中,当你按住按钮时,LED灯的闪烁速度会逐渐变快;当放开按钮后,它又会恢复到初始的呼吸速率。注意,你需要确保按键和LED已经正确连接到了指定的数字引脚。
阅读全文