testProg.ino

URL: http://147.64.242.52/~bennett/class/cmsc4000/spring2026/notes/nano/code/testProg.ino
 
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);
}