const int BLUE{5}; const int GREEN{6}; const int RED{7}; const int SWITCH_PIN{4}; const int INTERRUPT_PIN {2}; const int LIGHT_DETECTOR {A6}; volatile bool BUTTON_HAPPENED{false}; void FlashPin(int pin); void setup() { Serial.begin(9600); pinMode(RED, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(BLUE, OUTPUT); pinMode(LED_BUILTIN, OUTPUT); pinMode(SWITCH_PIN, INPUT); pinMode(INTERRUPT_PIN, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(INTERRUPT_PIN),InputHandler, RISING); } void InputHandler(){ BUTTON_HAPPENED = true; digitalWrite(LED_BUILTIN, HIGH); } void loop() { int pins[]{RED, GREEN, BLUE}; for(int i =0; i < 3; ++i) { Serial.println(i, pins[i]); FlashPin(pins[i]); } if(BUTTON_HAPPENED) { Serial.println("The button was pushed"); BUTTON_HAPPENED = false; digitalWrite(LED_BUILTIN, LOW); } else { Serial.println("The button was NOT pushed"); } int lightValue = analogRead(LIGHT_DETECTOR); Serial.print("Light Value "); Serial.println(lightValue); delay(500); } void FlashPin(int pin) { Serial.println("In Flash Pin"); digitalWrite(pin, HIGH); delay(500); digitalWrite(pin, LOW); delay(500); }