OK, final final edit # 2, I put in a debounce for the pressure sw, compiles but ? Try it and let me know.
unsigned long dbStart; //debounce pressure switch
byte dbTime = 100;
int FLOAT_SWITCH_PIN = 2;
int PRESSURE_SWITCH_PIN = 12;
//Motors pins:
int PUMP_A_PIN = 7;
int PUMP_B_PIN = 8;
boolean alt = true, swState, pressSwState;
void setup() {
pinMode(PRESSURE_SWITCH_PIN, INPUT_PULLUP);
pinMode(FLOAT_SWITCH_PIN, INPUT_PULLUP);
pinMode(PUMP_A_PIN, OUTPUT);
pinMode(PUMP_B_PIN, OUTPUT);
Serial.begin(9600);
swState = digitalRead(PRESSURE_SWITCH_PIN);
}
void loop() {
if (digitalRead(PRESSURE_SWITCH_PIN) != swState)
{
dbStart = millis();
swState ^= 1;
}
if (millis() - dbStart > dbTime)
{
pressSwState = swState;
}
//when float switch at low, both motors will OFF:
if (digitalRead(FLOAT_SWITCH_PIN) == LOW || pressSwState == LOW) // ???
{
digitalWrite(PUMP_A_PIN, HIGH);
digitalWrite(PUMP_B_PIN, HIGH);
}
if (digitalRead(FLOAT_SWITCH_PIN) == HIGH && pressSwState == HIGH
&& digitalRead(PUMP_A_PIN) == HIGH && digitalRead(PUMP_B_PIN) == HIGH)
{
alt = ! alt;
//motor at pin 7 is ON and at 8 is OFF when pressed pressure switch HIGH 1sttime:
if (alt == true)
{
digitalWrite(PUMP_A_PIN, LOW);
digitalWrite(PUMP_B_PIN, HIGH);
}
else
{
//when second time pressure switch HIGH, motor at 8 will ON and at 7 will OFF:
digitalWrite(PUMP_A_PIN, HIGH);
digitalWrite(PUMP_B_PIN, LOW);
}
}
}