#include <SoftPWM.h>
uint8_t leds[30] = {22, 23, 24, 25, 26, 27, 28, 29, 30,31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51};
byte volatile color[30];
unsigned long night=0;
void setup()
{
Serial.begin(115200);
SoftPWMBegin();
for (int i = 0; i < 30; i++)
SoftPWMSet(leds[i], 0);
SoftPWMSetFadeTime(ALL, 5, 5);
}
void loop()
{
if (Serial.available() > 30)
{
if (Serial.read() == 255)
{
for (int i = 0; i < 30; i++)
{
color[i] = Serial.read();
}
night=0;
}
}
else
{
if(night>30000) { night=0; for (byte i = 0; i < 30; i++) color[i] = 0;}
night++;
}
for (int i = 0; i < 30; i++)
SoftPWMSet(leds[i], color[i]);
}