i am using 2 pumps, i need to start the 1st pump for 2 hour and after 2 hour 1 pump need to stop and second pump wants to start and vise-versa. but the problem is the when starting the program i wait for 2 hour and 1st pump starting after 2 hour and i work for 2 hour and second pump start after 2 hour and vise-versa. can anyone help me.
const long oneSecond = 1000; // a second is a thousand milliseconds
const long oneMinute = oneSecond * 60;
const long oneHour = oneMinute * 60;
const long thour = oneHour * 2;
unsigned long interval = 10000 ;
unsigned long interval2 = 10000;
unsigned long interval3 = oneMinute * 10;
unsigned long previousMillis = 0;
unsigned long previousMillis2 = 0;
unsigned long previousMillis3 = 0;
int flot1;
int flot2;
int ph;
int ledState = LOW;
int ledState2 = LOW;
void setup()
{
pinMode(23, OUTPUT);// stp1
pinMode(25, OUTPUT);// stp2
pinMode(27, OUTPUT);// ffp1
pinMode(29, OUTPUT);// ffp2
pinMode(47, OUTPUT);// oil
pinMode(49, OUTPUT);// ph dosing
pinMode(37, INPUT);// ph
pinMode(39, INPUT);// flot1
pinMode(41, INPUT);// flot2
digitalWrite(23, LOW);
digitalWrite(25, HIGH);
digitalWrite(27, HIGH);
digitalWrite(29, LOW);
digitalWrite(47, HIGH);
digitalWrite(49, HIGH);
}
void loop() {
ph = digitalRead(37);
flot1 = digitalRead(39);
flot2 = digitalRead(41);
if (ph==HIGH)
{
digitalWrite(23, HIGH);
digitalWrite(25, HIGH);
digitalWrite(49, LOW);
previousMillis = 0;
te(27, ledState2);
}
}
else
{
digitalWrite(29, HIGH);
digitalWrite(27, HIGH);
previousMillis2 = 0;
}
}
else
{
digitalWrite(49, HIGH);
if (flot1 == HIGH)
{
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval)
{
previousMillis = currentMillis;
if (ledState == LOW)
{
ledState = HIGH;
digitalWrite(25, LOW);
}
else
{
ledState = LOW;
digitalWrite(25, HIGH);
}
digitalWrite(23, ledState);
}
}
else
{
digitalWrite(23, HIGH);//
digitalWrite(25, HIGH);//
previousMillis = 0;
}
if (flot2 == HIGH)
{
unsigned long currentMillis2 = millis();
if (currentMillis2 - previousMillis2 >= interval2)
{
previousMillis2 = currentMillis2;
if (ledState2 == LOW)
{
ledState2 = HIGH;
digitalWrite(29, LOW);
}
else
{
ledState2 = LOW;
digitalWrite(29, HIGH);
}
digitalWrite(27, ledState2);
}
}
else
{
digitalWrite(27, HIGH);
digitalWrite(29, HIGH);
previousMillis2 = 0;
}
}
}
{
ledState = LOW;
digitalWrite(25, HIGH);
}
digitalWrite(23, ledState);
}
}