hi everyone,
anybody can help me to add a delay of 2 seconds in the case 2 of below code.
i added delay function but it pauses all next codes. i need to add delay for output1 and 2, low state for 2 seconds then HIGH. next will be the case 3.
plz help how to add the delay without delay function.
int input = 2;
int output1 = 3;
int output2 = 4;
int output3 = 8;
int output4 = 9;
int output5 = 10;
int output6 = 11;
int state = 0;
int old =0;
int buttonpoll=0;
void setup() {
pinMode(input, INPUT_PULLUP);
pinMode(output1, OUTPUT);
pinMode(output2, OUTPUT);
pinMode(output3, OUTPUT);
pinMode(output4, OUTPUT);
pinMode(output5, OUTPUT);
pinMode(output6, OUTPUT);
digitalWrite(output1, LOW);
digitalWrite(output2, LOW);
digitalWrite(output3, LOW);
digitalWrite(output4, LOW);
digitalWrite(output5, LOW);
digitalWrite(output6, LOW);
}
void loop() {
buttonpoll = digitalRead (input);
if (buttonpoll ==1){
delay (80);
buttonpoll = digitalRead (input);
if (buttonpoll==0){
state = old + 1;
}}
else
{
delay(100);}
switch(state){
case 1:
digitalWrite(output3, LOW);
digitalWrite(output4, HIGH);
digitalWrite(output5, LOW);
digitalWrite(output6, HIGH);
digitalWrite(output1, HIGH);
digitalWrite(output2, HIGH);
old = state;
break;
case 2:
digitalWrite(output3, HIGH);
digitalWrite(output4, LOW);
digitalWrite(output5, HIGH);
digitalWrite(output6, LOW);
digitalWrite(output1, LOW);
digitalWrite(output2, LOW);
//i need here a break of 2 seconds and continue the output1 and 2 High, also continue to next switch case.
digitalWrite(output1, HIGH);
digitalWrite(output2, HIGH);
old = state;
break;
default:
digitalWrite(output1,LOW);
digitalWrite(output2, LOW);
digitalWrite(output3, LOW);
digitalWrite(output4, LOW);
digitalWrite(output5, LOW);
digitalWrite(output6, LOW);
old = 0;
break;
}
}