hope this is beter
const int heatbutton = 2 ;
const int ignition_fan_2 = 10;
const int saleswitch = 4 ;
const int solenoid = 12;
const int photo_pressure = 3 ;
const int lockoutled = 8 ;
const int heatbutton_feed= 5 ;
const int fan = 9 ;
const int relay230_24 = 11;
const int ionisation_in = 7 ;
int ionisation = 5 ;
void setup()
{
pinMode(heatbutton, INPUT );
pinMode(ignition_fan_2, OUTPUT);
pinMode(saleswitch, INPUT );
pinMode(solenoid, OUTPUT);
pinMode(photo_pressure, INPUT );
pinMode(lockoutled, OUTPUT);
pinMode(heatbutton_feed, OUTPUT);
pinMode(fan, OUTPUT);
pinMode(relay230_24, OUTPUT);
pinMode(ionisation_in, INPUT );
//-------------------------------------------
digitalWrite(heatbutton_feed, HIGH);
}
void loop() {
int val = analogRead(ionisation);
//--------------------------------------------------------------------
if (digitalRead(heatbutton)== HIGH) {
// ** from here need's to just run once **
if (digitalRead(ionisation_in)== HIGH) { // if ionisation swith HIGH
if (val >900) {
digitalWrite(solenoid, LOW);
digitalWrite(lockoutled, HIGH);
digitalWrite(heatbutton_feed, LOW);
}
}
else {
if (digitalRead(photo_pressure)== HIGH) { // if photo swith HIGH
digitalWrite(lockoutled, HIGH);
digitalWrite(solenoid, LOW);
digitalWrite(heatbutton_feed, LOW);
}
}
digitalWrite(relay230_24, HIGH); // 230V out put to ignition
digitalWrite(fan, HIGH);
digitalWrite(ignition_fan_2, HIGH);
delay(2000);
// ** to this point **
//---------------------------------------------------------------------
if (digitalRead(saleswitch)==HIGH) { // sale switch if HIGH
digitalWrite(solenoid, HIGH);
}
//---------------------------------------------------------------------
else { // sale switch if LOW
digitalWrite(lockoutled, HIGH);
digitalWrite(ignition_fan_2, LOW);
digitalWrite(solenoid, LOW);
digitalWrite(fan, LOW);
digitalWrite(heatbutton_feed, LOW);
}
//---------------------------------------------------------------------
delay(2000);
if (digitalRead(ionisation_in)== HIGH) {
if (val >900) { // ionisation if LOW
digitalWrite(solenoid, LOW);
digitalWrite(ignition_fan_2, LOW);
digitalWrite(lockoutled, HIGH);
digitalWrite(heatbutton_feed, LOW);
digitalWrite(heatbutton_feed, LOW);
}
}
if (digitalRead(photo_pressure)==LOW) { // photo if LOW
digitalWrite(solenoid, LOW);
digitalWrite(ignition_fan_2, LOW);
digitalWrite(lockoutled, HIGH);
digitalWrite(heatbutton_feed, LOW);
}
//---------------------------------------------------------------------
else {
digitalWrite(ignition_fan_2, LOW);
}
//---------------------------------------------------------------------
}
else { // switching off
digitalWrite(solenoid, LOW);
digitalWrite(ignition_fan_2, LOW);
digitalWrite(relay230_24, LOW);
delay(30000);
digitalWrite(fan, LOW);
}
//---------------------------------------------------------------------
}