Hi
i am trying to get a push button to start a loop of relay operations. i have the push button working but it only runs the relays through 1 cycle. i have another push button set up to toggle a relay on and off, it is working the way i would like it to.
The section of code that is working correctly is the bottom section relating to RearSw.
if some one could have a look and let me know where i may have an issue that would be great.
Thanks in advance
int Relay1 = 12;
int Relay2 = 11;
int Relay3 = 10;
int Relay4 = 9;
int Relay5 = 8;
int Relay6 = 7;
int Relay7 = 6;
int Relay8 = 5;
int D1 = 25;
int D2 = 25;
int strobeSw = A1;
int strobeSwValue;
int strobeSwNew;
int strobeSwOld=1;
int strobeState = 0;
int RearSw = A2;
int RearSwValue;
int Relay7State = 0;
int RearSwNew;
int RearSwOld = 1;
int D3 = 100;
void setup() {
// put your setup code here, to run once:
pinMode (Relay1, OUTPUT);
pinMode (Relay2, OUTPUT);
pinMode (Relay3, OUTPUT);
pinMode (Relay4, OUTPUT);
pinMode (Relay5, OUTPUT);
pinMode (Relay6, OUTPUT);
pinMode (Relay7, OUTPUT);
pinMode (Relay8, OUTPUT);
pinMode (strobeSw, INPUT);
digitalWrite(strobeSw, HIGH);
pinMode (RearSw, INPUT);
digitalWrite(RearSw, HIGH);
digitalWrite(Relay1, LOW);
digitalWrite(Relay2, LOW);
digitalWrite(Relay3, LOW);
digitalWrite(Relay4, LOW);
digitalWrite(Relay5, LOW);
digitalWrite(Relay6, LOW);
Serial.begin(9600);
}
void loop() {{
// put your main code here, to run repeatedly:
strobeSwNew = digitalRead(strobeSw);
if (strobeSwOld == 0 && strobeSwNew == 1) {
if (strobeState == 0)
{
digitalWrite(Relay1, HIGH);
delay(D2);
digitalWrite(Relay2, HIGH);
delay(D2);
digitalWrite(Relay3, HIGH);
delay(D2);
digitalWrite(Relay4, HIGH);
delay(D2);
digitalWrite(Relay5, HIGH);
delay(D2);
digitalWrite(Relay6, HIGH);
delay(D2);
digitalWrite(Relay1, LOW);
delay(D1);
digitalWrite(Relay2, LOW);
delay(D1);
digitalWrite(Relay3, LOW);
delay(D1);
digitalWrite(Relay4, LOW);
delay(D1);
digitalWrite(Relay5, LOW);
delay(D1);
digitalWrite (Relay6, LOW);
delay(D1);
strobeState = 1;
}}
else {
digitalWrite(Relay1, LOW);
digitalWrite(Relay2, LOW);
digitalWrite(Relay3, LOW);
digitalWrite(Relay4, LOW);
digitalWrite(Relay5, LOW);
digitalWrite(Relay6, LOW);
strobeState = 0;
}
strobeSwOld = strobeSwNew;
delay (D3);
}
{
{
RearSwNew = digitalRead(RearSw);
if (RearSwOld == 0 && RearSwNew == 1) {
if (Relay7State == 0) {
digitalWrite (Relay7, HIGH);
Relay7State = 1;
}
else {
digitalWrite (Relay7, LOW);
Relay7State = 0;
}
}
RearSwOld = RearSwNew;
delay (D3);
}
}
}