Hey guys I was working on this little project for my EE class. I cant seem to stop it from looping through all my "if" statements. I only want it to go through the statement when a specific button is pressed. What am I doing wrong?
here is my code:
int ledL1 = 10;
int ledL2 = 11;
int ledL3 = 12;
int ledR1 = 5;
int ledR2 = 6;
int ledR3 = 7;
int butBrake = 2;
int butflasher = 10;
int butLSignal = 11;
int butRSignal = 12;
int buttonStateB=0;
int buttonStateF=0;
int buttonStateL=0;
int buttonStateR=0;
void setup() {
pinMode(ledL1, OUTPUT);
pinMode(ledL2, OUTPUT);
pinMode(ledL3, OUTPUT);
pinMode(ledR1, OUTPUT);
pinMode(ledR2, OUTPUT);
pinMode(ledR3, OUTPUT);
pinMode(butBrake, INPUT);
pinMode(butflasher, INPUT);
pinMode(butLSignal, INPUT);
pinMode(butRSignal, INPUT);
}
void loop() {
buttonStateB = digitalRead(butBrake);
buttonStateF = digitalRead(butflasher);
buttonStateL = digitalRead(butLSignal);
buttonStateR = digitalRead(butRSignal);
if(buttonStateB == HIGH){
digitalWrite(ledL1, HIGH);
digitalWrite(ledL2, HIGH);
digitalWrite(ledL3, HIGH);
digitalWrite(ledR1, HIGH);
digitalWrite(ledR2, HIGH);
digitalWrite(ledR3, HIGH);
}
else{
digitalWrite(ledL1, LOW);
digitalWrite(ledL2, LOW);
digitalWrite(ledL3, LOW);
digitalWrite(ledR1, LOW);
digitalWrite(ledR2, LOW);
digitalWrite(ledR3, LOW);
}
if(buttonStateL == HIGH){
digitalWrite(ledL1, HIGH);
delay(500);
digitalWrite(ledL1, LOW);
delay(500);
digitalWrite(ledL2, HIGH);
delay(500);
digitalWrite(ledL2, LOW);
delay(500);
digitalWrite(ledL3, HIGH);
delay(500);
digitalWrite(ledL3, LOW);
}
else{
digitalWrite(ledL1, LOW);
digitalWrite(ledL2, LOW);
digitalWrite(ledL3, LOW);
digitalWrite(ledR1, LOW);
digitalWrite(ledR2, LOW);
digitalWrite(ledR3, LOW);
}
if(buttonStateR == HIGH){
digitalWrite(ledR1, HIGH);
delay(500);
digitalWrite(ledR1, LOW);
delay(500);
digitalWrite(ledR2, HIGH);
delay(500);
digitalWrite(ledR2, LOW);
delay(500);
digitalWrite(ledR3, HIGH);
delay(500);
digitalWrite(ledR3, LOW);
}
else{
digitalWrite(ledL1, LOW);
digitalWrite(ledL2, LOW);
digitalWrite(ledL3, LOW);
digitalWrite(ledR1, LOW);
digitalWrite(ledR2, LOW);
digitalWrite(ledR3, LOW);
}
if(buttonStateF == HIGH){
digitalWrite(ledL1, HIGH);
digitalWrite(ledL2, HIGH);
digitalWrite(ledL3, HIGH);
digitalWrite(ledR1, HIGH);
digitalWrite(ledR2, HIGH);
digitalWrite(ledR3, HIGH);
delay(500);
digitalWrite(ledL1, LOW);
digitalWrite(ledL2, LOW);
digitalWrite(ledL3, LOW);
digitalWrite(ledR1, LOW);
digitalWrite(ledR2, LOW);
digitalWrite(ledR3, LOW);
delay(500);
}
else{
digitalWrite(ledL1, LOW);
digitalWrite(ledL2, LOW);
digitalWrite(ledL3, LOW);
digitalWrite(ledR1, LOW);
digitalWrite(ledR2, LOW);
digitalWrite(ledR3, LOW);
}
if(buttonStateB == HIGH && buttonStateL == HIGH || buttonStateR == HIGH)
{
digitalWrite(ledL1, HIGH);
digitalWrite(ledL2, HIGH);
digitalWrite(ledL3, HIGH);
digitalWrite(ledR1, HIGH);
digitalWrite(ledR2, HIGH);
digitalWrite(ledR3, HIGH);
}
else{
digitalWrite(ledL1, LOW);
digitalWrite(ledL2, LOW);
digitalWrite(ledL3, LOW);
digitalWrite(ledR1, LOW);
digitalWrite(ledR2, LOW);
digitalWrite(ledR3, LOW);
}
if(buttonStateB == HIGH && buttonStateR == HIGH){
digitalWrite(ledL1, HIGH);
digitalWrite(ledL2, HIGH);
digitalWrite(ledL3, HIGH);
digitalWrite(ledR1, HIGH);
delay(500);
digitalWrite(ledR1, LOW);
delay(500);
digitalWrite(ledR2, HIGH);
delay(500);
digitalWrite(ledR2, LOW);
delay(500);
digitalWrite(ledR3, HIGH);
delay(500);
digitalWrite(ledR3, LOW);
}
else{
digitalWrite(ledL1, LOW);
digitalWrite(ledL2, LOW);
digitalWrite(ledL3, LOW);
digitalWrite(ledR1, LOW);
digitalWrite(ledR2, LOW);
digitalWrite(ledR3, LOW);
}
if(buttonStateR == HIGH && buttonStateL == HIGH){
digitalWrite(ledL1, HIGH);
digitalWrite(ledL2, HIGH);
digitalWrite(ledL3, HIGH);
digitalWrite(ledR1, HIGH);
digitalWrite(ledR2, HIGH);
digitalWrite(ledR3, HIGH);
}
else{
digitalWrite(ledR1, HIGH);
digitalWrite(ledL1, HIGH);
delay(500);
digitalWrite(ledR1, LOW);
digitalWrite(ledL1, LOW);
delay(500);
digitalWrite(ledR2, HIGH);
digitalWrite(ledL2, HIGH);
delay(500);
digitalWrite(ledR2, LOW);
digitalWrite(ledL2, LOW);
delay(500);
digitalWrite(ledR3, HIGH);
digitalWrite(ledL3, HIGH);
delay(500);
digitalWrite(ledR3, LOW);
digitalWrite(ledL3, LOW);
}
}