//Power LED on pin 4
//Fault LED on pin 13
//relay module on pin 7
//voltage sensor digital on pin 12
//updated sensor to A0 to monitor voltage
int sensorState = 0;
void setup() {
Serial.begin(9600);
Serial.println();
pinMode(7, OUTPUT);
pinMode(4, OUTPUT);
pinMode(12, INPUT);
pinMode(13, OUTPUT);
}
void loop() {
startloop:
Serial.println("Rebooting");
for (int i = 0; i <= 60; i++) {
digitalWrite(4, HIGH);
delay(500);
digitalWrite(4, LOW);
delay(500);
}
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
delay(500);
digitalWrite(7, LOW);
delay(100);
digitalWrite(4, HIGH);
delay(2000);
//exit(0);
monitorloop:
int sensorValue = analogRead(A0);
delay(100);
float voltage= sensorValue * (5.0 / 1023.0);
delay(100);
if (voltage < 4) {
//voltage is low
digitalWrite(13, HIGH);
Serial.println("Fault detected");
Serial.println(voltage);
delay(300000);
goto startloop;
} else {
//voltage is good
digitalWrite(13, LOW);
Serial.println("System OK");
Serial.println(voltage);
delay(300000);
goto monitorloop;
}
}