void loop() {
static byte theState = idle;
switch (theState)
{
// Idle
case idle:
if (voltageA0 > 1.0) {
theState = case1;
}
if (voltageA1 < 2.0) {
theState = case2;
}
if (voltageA2 > 3.5) {
theState = case3;
}
break;
// Warning
case warning:
digitalWrite(7, HIGH);
delay(5000);
digitalWrite(7, LOW);
delay(0);
break;
// Case 1
case 1:
digitalWrite(8, HIGH);
delay(2000);
digitalWrite(8, LOW);
delay(0);
theState = idle;
break;
// Case 2
case 2:
digitalWrite(9, HIGH);
delay(2000);
digitalWrite(9, LOW);
delay(0);
theState = idle;
break;
// Case 3
case 3:
digitalWrite(10, HIGH);
delay(2000);
digitalWrite(10, LOW);
delay(0);
theState = idle;
break;
}
}
void loop() {
static byte theState = idle;
switch (theState)
{
case idle:
if (voltageA0 > 1.0) {
theState = case1;
}
if (voltageA1 < 2.0) {
theState = case2;
}
if (voltageA2 > 3.5) {
theState = case3;
}
break;
case warning:
digitalWrite(7, HIGH);
delay(5000);
digitalWrite(7, LOW);
delay(0);
break;
case 1:
digitalWrite(8, HIGH);
delay(2000);
digitalWrite(8, LOW);
delay(0);
theState = idle;
break;
case 2:
digitalWrite(9, HIGH);
delay(2000);
digitalWrite(9, LOW);
delay(0);
theState = idle;
break;
case 3:
digitalWrite(10, HIGH);
delay(2000);
digitalWrite(10, LOW);
delay(0);
theState = idle;
break;
}
}
Also, if there is a more efficient way to do this, code-wise, I'm all ears! Any assistance with this would be hugely appreciated!! :)
Thanks,
Andrew