// LED雷达扫描效果
int leds[] = {2, 3, 4, 5, 6, 7, 8, 9}; // 8个LED引脚
int numLeds = 8;
int trailLength = 3; // 拖影长度
void setup() {
for (int i = 0; i < numLeds; i++) {
pinMode(leds[i], OUTPUT);
}
}
void loop() {
// 从左向右扫描
for (int pos = 0; pos < numLeds; pos++) {
// 点亮当前主光点(最亮)
digitalWrite(leds[pos], HIGH);
// 创建拖影效果:前面几个LED逐渐变暗
for (int trail = 1; trail <= trailLength; trail++) {
int trailPos = pos - trail;
if (trailPos >= 0) {
// 快速闪烁模拟变暗效果
digitalWrite(leds[trailPos], HIGH);
delay(15);
digitalWrite(leds[trailPos], LOW);
delay(15);
}
}
// 短暂延时后关闭主光点
delay(50);
digitalWrite(leds[pos], LOW);
}
delay(300); // 扫描间隔
}