//const byte ledPins[] = {15, 2, 0, 4, 5, 18, 19, 21, 22 ,23};
const byte ledPins[] = {21, 19, 18, 5, 17, 16, 4, 0, 2, 15};
const byte pwmChannels[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
const int pwmDuties[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023, 512, 256, 128, 64, 32, 16, 8, 4, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
int ledCount;
int delayTime = 100;
void setup() {
ledCount = sizeof(ledPins);
for (int i = 0; i < ledCount; i++) {
ledcSetup(pwmChannels[i], 1000, 10);
ledcAttachPin(ledPins[i], pwmChannels[i]);
}
}
void loop() {
for (int i = 0; i < 20; i++) {
for (int j = 0; j < ledCount; j++) {
ledcWrite(pwmChannels[j], pwmDuties[i + j]);
}
delay(delayTime);
}
for (int i = 0; i < 20; i++) {
for (int j = ledCount - 1; j >= 0; j--) {
ledcWrite(pwmChannels[j], pwmDuties[i + (ledCount - 1 - j)]);
}
delay(delayTime);
}
}