Here is the full code
#include <arduino.h>
unsigned long millis(void);
const int Photogate = 2;
const int Button = 3;
const int Magnet = 10;
const int LED = 12;
void setup() {
Serial.begin(9600);
pinMode(Photogate, INPUT);
pinMode(Button, INPUT);
pinMode(Magnet, OUTPUT);
pinMode(LED, OUTPUT);
digitalWrite(Magnet, HIGH);
digitalWrite(LED, LOW);
}
int main() {
int Armed = 0;
int GateState = 0;
int ButtonState = 0;
setup();
while (Armed == 0) {
ButtonState = digitalRead(Button);
if (ButtonState == LOW) {
Serial.print("Button Pushed\n");
digitalWrite(LED, HIGH);
Armed = 1;
while (Armed == 1) {
GateState = digitalRead(Photogate);
if (GateState == LOW) {
Serial.print("Second button pushed\n");
digitalWrite(Magnet, LOW);
digitalWrite(LED, LOW);
//delay(5000);
unsigned long currentMillis = millis();
const int INTERVAL = 5000;
while (millis() < INTERVAL + currentMillis) {
pinMode(8, OUTPUT);
digitalWrite(8, HIGH);
Serial.print(millis());
Serial.print("\n");
}
digitalWrite(8, LOW);
digitalWrite(Magnet, HIGH);
Armed = 0;
} else {
Armed = 1;
}
}
} else {
Armed = 0;
}
}
return 0;
}