arduino流水灯代码
时间: 2023-09-08 11:16:24 浏览: 205
以下是一个基本的Arduino流水灯代码:
```
int ledPin[] = {2, 3, 4, 5, 6, 7, 8, 9}; // 设置LED连接的引脚
void setup() {
// 初始化引脚模式为输出
for (int i = 0; i < 8; i++) {
pinMode(ledPin[i], OUTPUT);
}
}
void loop() {
// 循环遍历每个LED灯
for (int i = 0; i < 8; i++) {
digitalWrite(ledPin[i], HIGH); // 点亮当前LED
delay(100); // 延迟100毫秒
digitalWrite(ledPin[i], LOW); // 关闭当前LED
}
}
```
代码中首先定义了一个数组`ledPin`,存储了LED灯连接的引脚。在`setup()`函数中,将数组中的每个引脚都设置为输出模式。在`loop()`函数中,使用循环遍历每个LED灯,并依次点亮和关闭每个LED,实现流水灯效果。`delay()`函数用于控制每个LED亮灭的时间间隔。
相关问题
Arduino流水灯代码
Arduino流水灯通常是指使用Arduino单片机控制LED灯按照一定顺序依次点亮,形成流动的效果。这里是一个简单的例子,假设你有8个LED连接到Arduino Uno的数字引脚:
```c++
#include <Adafruit_NeoPixel.h> // 引入NeoPixel库
#define NUM_LEDS 8 // 灯的数量
#define LED_PIN 6 // LED串口连接到板载pin 6 (GPIO)
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800); // 创建 NeoPixel 实例
void setup() {
if (!pixels.begin()) { // 初始化 NeoPixel
Serial.println("Failed to initialize NeoPixel strip!");
return;
}
pixels.setBrightness(50); // 设置亮度
}
void loop() {
for (int i = 0; i < NUM_LEDS; i++) { // 从第一个LED开始
pixels.setPixelColor(i, pixels.Color(i * 255 / NUM_LEDS, 255, 0)); // 设置颜色,这里是绿黄渐变
pixels.show(); // 显示
delay(100); // 暂停一下,让灯光流动效果更明显
}
pixels.clear(); // 清除所有LED
delay(500); // 再次开始下一个循环前稍作延迟
}
```
这个代码会使得LED从第一个依次亮到第8个,再从最后一个返回到第一个,形成类似流水的效果。
arduino流水灯程序代码
以下是Arduino控制5050 RGB全彩LED流水灯模块的程序代码:
```arduino
int led = 9; // LED连接到数字引脚9
int flag = 0; // 标志LED是否亮起
void setup() {
pinMode(led, OUTPUT); // 将LED引脚设置为输出模式
}
void loop() {
while(!digitalRead(key)) { // 按键按下,!digitalRead(key)值为1,一直在while循环里,就不会因为loop循环特性而执行其他命令造成多次触发
// do nothing
}
if(flag == 0) { // 判断小灯是否亮起
flag = 1; // 标志小灯亮起
digitalWrite(led, LOW); // 对应的LED小灯亮起
} else {
flag = 0; // 标志小灯亮熄灭
digitalWrite(led, HIGH); // 对应的LED小灯熄灭
}
}
```
阅读全文