/*
Arduino \ coding-help
overloaded function issue
John Arduino
January 11, 2026 10:20 AM
make the signaling lights like in formula one
1 sec interval, then .2 to 3 sec delay until off (start)
*/
const int LED_PINS[] = {12, 11, 10, 9, 8};
const int BTN_PIN = 7;
const unsigned long ONE_SEC = 1000;
bool isRunning = false;
unsigned long randomTime = 0;
void semaforo() {
for (int i = 0; i < 5; i++) {
digitalWrite(LED_PINS[i], HIGH);
delay(ONE_SEC);
digitalWrite(LED_PINS[i], LOW);
}
for (int i = 0; i < 5; i++) {
digitalWrite(LED_PINS[i], HIGH);
}
delay(randomTime);
for (int i = 0; i < 5; i++) {
digitalWrite(LED_PINS[i], LOW);
}
isRunning = false;
Serial.println("START!\n");
}
void setup() {
Serial.begin(9600);
for (int i = 0; i < 5; i++) {
pinMode(LED_PINS[i], OUTPUT);
}
pinMode(BTN_PIN, INPUT_PULLUP);
randomSeed(analogRead(A0));
}
void loop() {
if (digitalRead(BTN_PIN) == LOW && !isRunning) {
isRunning = true;
randomTime = random(200, 3001);
Serial.println("Get ready!");
Serial.print("Random time: ");
Serial.print(randomTime);
Serial.println(" ms");
semaforo();
}
}