#include "FastLED.h"
#define NUM_ROWS 16
#define NUM_COLS 16
#define NUM_LEDS 256
#define DATA_PIN 3
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS);
FastLED.setBrightness(126);
}
void loop() {
for (byte j = 0; j < NUM_COLS; j++) {
for (byte i = 0; i < NUM_ROWS; i++) {
leds[XY(i, j)] = CRGB(126, 0, 0);
FastLED.show();
delay(500);
leds[XY(i, j)] = CRGB(0, 0, 0);
}
}
}
byte XY(byte x, byte y) {
if (y % 2 == 0) {
return y * NUM_COLS + x;
} else {
return ((y + 1) * NUM_COLS - 1) - x;
}
}