Hello,
I would like to separate these two button presses. For example when I press Button 10 I Would like it to run the top section of code, then when I press button 11, I would like it to run the bottom section, right now when you press button 10 or 11, it starts with that section of code but then runs all of the code.
int run;
int BUTTON1;
int BUTTON2;
#define RELAY1 2
#define RELAY2 3
#define RELAY3 4
#define RELAY4 5
#define RELAY5 6
#define RELAY6 7
#define RELAY7 8
#define RELAY8 9
void setup()
{
run = 0; //starts stopped
BUTTON1 = 10;
BUTTON2 = 11;//whatever pin your button is plugged into
pinMode(BUTTON1, INPUT_PULLUP);
pinMode(BUTTON2, INPUT_PULLUP);
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
pinMode(RELAY3, OUTPUT);
pinMode(RELAY4, OUTPUT);
pinMode(RELAY5, OUTPUT);
pinMode(RELAY6, OUTPUT);
pinMode(RELAY7, OUTPUT);
pinMode(RELAY8, OUTPUT);
}
void loop()
{
//code you always run here; you can leave this section blank if you want the entire program to stop and start, or add code here if you want it to always run
//check button press here and if it is pressed then toggle run variable between 0 and 255; REQUIRED!
if(digitalRead(BUTTON1) == LOW) //funcitons based off of button pulling input pin LOW
{
if(run == 0)
{
run = 255;
}
else
{
run = 0;
}
}
if(run > 0)
{
digitalWrite(RELAY1,LOW);
digitalWrite(RELAY2,LOW);
digitalWrite(RELAY3,LOW);
digitalWrite(RELAY4,LOW);
digitalWrite(RELAY5,LOW);
digitalWrite(RELAY6,LOW);
digitalWrite(RELAY7,LOW);
digitalWrite(RELAY8,LOW); // Turns ON Relays 1
delay(300); // Wait 2 seconds
digitalWrite(RELAY3,HIGH); // Turns Relay Off
delay(300); // Wait 2 seconds
digitalWrite(RELAY4,HIGH); // Turns Relay Off
delay(300); // Wait 2 seconds
digitalWrite(RELAY5,HIGH); // Turns Relay Off
delay(300); // Wait 2 seconds
digitalWrite(RELAY6,HIGH); // Turns Relay Off
delay(300); // Wait 2 seconds
digitalWrite(RELAY7,HIGH); // Turns Relay Off
delay(300); // Wait 2 seconds
digitalWrite(RELAY8,HIGH); // Turns Relay Off
delay(300);
digitalWrite(RELAY8,LOW);
delay(300);
digitalWrite(RELAY8,HIGH);
delay(300);
digitalWrite(RELAY8,LOW);
delay(300);
digitalWrite(RELAY8,HIGH);
delay(750);
//code you only run if button was pressed, stops running when button pressed again, so forth...
}
if(digitalRead(BUTTON2) == LOW) //funcitons based off of button pulling input pin LOW
{
if(run == 0)
{
run = 255;
}
else
{
run = 0;
}
}
if(run > 0)
{
digitalWrite(RELAY1,LOW);
digitalWrite(RELAY2,LOW);
digitalWrite(RELAY3,LOW);
digitalWrite(RELAY4,LOW);
digitalWrite(RELAY5,LOW);
digitalWrite(RELAY6,LOW);
digitalWrite(RELAY7,LOW);
digitalWrite(RELAY8,LOW);
delay(400);
digitalWrite(RELAY5,HIGH);
digitalWrite(RELAY6,HIGH);
delay(400);
digitalWrite(RELAY4,HIGH);
digitalWrite(RELAY7,HIGH);
delay(400);
digitalWrite(RELAY8,HIGH);
digitalWrite(RELAY3,HIGH);
delay(300);
digitalWrite(RELAY8,LOW);
digitalWrite(RELAY3,LOW);
delay(300);
digitalWrite(RELAY8,HIGH);
digitalWrite(RELAY3,HIGH);
delay(300);
digitalWrite(RELAY8,LOW);
digitalWrite(RELAY3,LOW);
delay(300);
digitalWrite(RELAY8,HIGH);
digitalWrite(RELAY3,HIGH);
delay(500);
//code you only run if button was pressed, stops running when button pressed again, so forth...
}
}