int flashtime;
#define togglePin A0
#define neonLED1 2
#define neonLED2 3
#define neonLED3 4
#define neonLED4 5
#define entranceLED1 6
#define entranceLED2 7
//Setup ******************************************
void setup() {
pinMode(togglePin, INPUT);
pinMode(neonLED1, OUTPUT);
pinMode(neonLED2, OUTPUT);
pinMode(neonLED3, OUTPUT);
pinMode(neonLED4, OUTPUT);
pinMode(entranceLED1, OUTPUT);
pinMode(entranceLED2, OUTPUT);
flashtime = millis() + 2000;
}
void loop() {
digitalWrite(entranceLED1, HIGH);
digitalWrite(entranceLED2, HIGH);
if (flashtime >= millis()) {
neonLights();
} else {
digitalWrite(neonLED1, HIGH);
digitalWrite(neonLED2, HIGH);
digitalWrite(neonLED3, HIGH);
digitalWrite(neonLED4, HIGH);
}
}
//Functions *************************************
uint8_t neonCounters[] = { 0, 0, 0, 0 };
uint8_t neonLEDs[] = { neonLED1, neonLED2, neonLED3, neonLED4 };
void neonLights() {
for (uint8_t i = 0; i < sizeof(neonCounters); i++) {
if (neonCounters[i] == 0) {
digitalWrite(neonLEDs[i], !digitalRead(neonLEDs[i]));
neonCounters[i] = random(300);
} else {
neonCounters[i]--;
}
}
delay(1);
}