#include <Adafruit_NeoPixel.h>
#define PIN 5 // Data pin to LED matrix (safe on ESP32-C3)
#define WIDTH 32
#define HEIGHT 8
#define NUMPIXELS (WIDTH * HEIGHT)
Adafruit_NeoPixel strip(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Bamboo forest inspired palette
uint32_t palette[] = {
strip.Color(34, 139, 34), // Forest Green
strip.Color(50, 205, 50), // Lime Green
strip.Color(107, 142, 35), // Olive Drab
strip.Color(154, 205, 50), // Yellow Green
strip.Color(85, 107, 47), // Dark Olive Green
strip.Color(189, 183, 107), // Dark Khaki
strip.Color(222, 184, 135), // Burlywood
strip.Color(240, 230, 140) // Khaki
};
const int paletteSize = sizeof(palette) / sizeof(palette[0]);
void setup() {
strip.begin();
strip.setBrightness(60); // Adjust brightness for classroom use
strip.show(); // Initialize all pixels to 'off'
}
void loop() {
// Cycle through palette colors
for (int j = 0; j < paletteSize; j++) {
fillColor(palette[j]);
delay(500);
}
}
// Fill entire matrix with one color
void fillColor(uint32_t color) {
for (int i = 0; i < NUMPIXELS; i++) {
strip.setPixelColor(i, color);
}
strip.show();
}