arduino nano 控制灯带12个小灯 按下K1按钮 从前到后亮起 ,按下K2从后向前一个个亮起,否则常亮红色
时间: 2023-06-18 07:08:09 浏览: 119
基于Arduino nano R3 diy一个拍手控制的自动灯-电路方案
5星 · 资源好评率100%
好的,这个需求可以通过编写 Arduino 代码来实现。首先你需要连接好 Arduino Nano 和灯带。接下来,你可以使用以下代码实现你的需求:
```
// 定义控制灯带的引脚
#define LED_PIN 2
// 定义按钮的引脚
#define K1_PIN 3
#define K2_PIN 4
// 定义灯带亮灭的时间间隔
#define DELAY_TIME 100
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(K1_PIN, INPUT_PULLUP);
pinMode(K2_PIN, INPUT_PULLUP);
}
void loop() {
// 检测按钮状态
if (digitalRead(K1_PIN) == LOW) {
// 从前往后亮灯
for (int i = 0; i < 12; i++) {
digitalWrite(LED_PIN, LOW);
delay(DELAY_TIME);
digitalWrite(LED_PIN, HIGH);
delay(DELAY_TIME);
}
} else if (digitalRead(K2_PIN) == LOW) {
// 从后往前亮灯
for (int i = 11; i >= 0; i--) {
digitalWrite(LED_PIN, LOW);
delay(DELAY_TIME);
digitalWrite(LED_PIN, HIGH);
delay(DELAY_TIME);
}
} else {
// 常亮红色
digitalWrite(LED_PIN, LOW);
delay(DELAY_TIME);
}
}
```
这段代码中,我们首先定义了控制灯带和按钮的引脚。在 `setup()` 函数中,我们将这些引脚配置为输入或输出。在 `loop()` 函数中,我们检测按钮的状态,如果按下了 K1 按钮,则从前往后依次亮灯;如果按下了 K2 按钮,则从后往前依次亮灯;否则,常亮红色。其中,`delay()` 函数用于控制亮灭时间间隔。
阅读全文