Im very new to programming, I have tried in the past but I usually break down and pay someone on fiverr. This helps me learn as well, as I can see what someone did to achieve my desired outcome. Onto the trouble of the day.
I wrote this program, the idea is to wait for a "win" condition which is a relay sending ground back to the pin that has been pulled up. I know there are far more elegant ways to program the desired result but since there are just 4 conditions I figured I would simply write it all out longhand (since I know that the elegant solutions exist... however I have NO IDEA what they are LOL). I'm sure that this is a very basic mistake on my part causing the program to simply run through the if conditions in order rather than waiting for input from the four input "buttons" but I cant find anything on this type of problem (probably because I'm the only idiot making this mistake).
Thanks for looking, and extra thanks for helping! You're welcome for the laugh at my expense (I hope as this would mean it was truly just a stupid omission or error).
pinMode(2,OUTPUT); //set pin 2 as output PLAYER 1 LOSE VIBRATION
pinMode(3,OUTPUT); //set pin 3 as output PLAYER 2 LOSE VIBRATION
pinMode(4,OUTPUT); //set pin 4 as output PLAYER 3 LOSE VIBRATION
pinMode(5,OUTPUT); //set pin 5 as output PLAYER 4 LOSE VIBRATION
pinMode(6,OUTPUT); //set pin 6 as output PLAYER 1 12V SUPPLY
pinMode(7,OUTPUT); //set pin 7 as output PLAYER 2 12V SUPPLY
pinMode(8,OUTPUT); //set pin 8 as output PLAYER 3 12V SUPPLY
pinMode(9,OUTPUT); //set pin 9 as output PLAYER 4 12V SUPPLY
pinMode(10,INPUT_PULLUP); //set pin 10 as input PLAYER 1 WIN
pinMode(11,INPUT_PULLUP); //set pin 11 as input PLAYER 2 WIN
pinMode(12,INPUT_PULLUP); //set pin 12 as input PLAYER 3 WIN
pinMode(13,INPUT_PULLUP); //set pin 13 as input PLAYER 4 WIN
pinMode(A0,INPUT_PULLUP); //set A0 to input from panic button
pinMode(A1,OUTPUT); //set pin A1 as output PLAYER 1 LOSE SMOKE
pinMode(A2,OUTPUT); //set pin A2 as output PLAYER 2 LOSE SMOKE
pinMode(A3,OUTPUT); //set pin A3 as output PLAYER 3 LOSE SMOKE
pinMode(A4,OUTPUT); //set pin A4 as output PLAYER 4 LOSE SMOKE
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(A1, HIGH);
digitalWrite(A2, HIGH);
digitalWrite(A3, HIGH);
digitalWrite(A4, HIGH);
}
void loop() {
if (digitalRead(10) == HIGH); { //player 1 wins
digitalWrite(6, LOW); //free winner
digitalWrite(3, LOW); //player 2 vibrate
digitalWrite(4, LOW); //player 3 vibrate
digitalWrite(5, LOW); //player 4 vibrate
delay (3000); //delay to lessen smoke
digitalWrite(A2, LOW); //player 2 smoke
digitalWrite(A3, LOW); //player 3 smoke
digitalWrite(A4, LOW); //player 4 smoke
delay (3000); //continue to smoke and vibrate
digitalWrite(3, HIGH); //end vibrate
digitalWrite(4, HIGH); //end vibrate
digitalWrite(5, HIGH); //end vibrate
digitalWrite(A2, HIGH); //end smoke
digitalWrite(A3, HIGH); //end smoke
digitalWrite(A4, HIGH); //end smoke
digitalWrite(7, LOW); //free player 2
digitalWrite(8, LOW); //free player 3
digitalWrite(9, LOW); //free player 4
delay(20000); //allow players to stand up
digitalWrite(6, HIGH); //restore 12v for next game
digitalWrite(7, HIGH); //restore 12v for next game
digitalWrite(8, HIGH); //restore 12v for next game
digitalWrite(9, HIGH); //restore 12v for next game
}
if (digitalRead(11) == HIGH); { //player 2 wins
digitalWrite(7, LOW); //free winner
digitalWrite(2, LOW); //player 1 vibrate
digitalWrite(4, LOW); //player 3 vibrate
digitalWrite(5, LOW); //player 4 vibrate
delay (3000); //delay to lessen smoke
digitalWrite(A1, LOW); //player 1 smoke
digitalWrite(A3, LOW); //player 3 smoke
digitalWrite(A4, LOW); //player 4 smoke
delay (3000); //continue to smoke and vibrate
digitalWrite(2, HIGH); //end vibrate
digitalWrite(4, HIGH); //end vibrate
digitalWrite(5, HIGH); //end vibrate
digitalWrite(A1, HIGH); //end smoke
digitalWrite(A3, HIGH); //end smoke
digitalWrite(A4, HIGH); //end smoke
digitalWrite(6, LOW); //free player 1
digitalWrite(8, LOW); //free player 3
digitalWrite(9, LOW); //free player 4
delay(20000); //allow players to stand up
digitalWrite(6, HIGH); //restore 12v for next game
digitalWrite(7, HIGH); //restore 12v for next game
digitalWrite(8, HIGH); //restore 12v for next game
digitalWrite(9, HIGH); //restore 12v for next game
}
if (digitalRead(12) == HIGH); { //player 3 wins
digitalWrite(8, LOW); //free winner
digitalWrite(2, LOW); //player 1 vibrate
digitalWrite(3, LOW); //player 2 vibrate
digitalWrite(5, LOW); //player 4 vibrate
delay (3000); //delay to lessen smoke
digitalWrite(A1, LOW); //player 1 smoke
digitalWrite(A2, LOW); //player 2 smoke
digitalWrite(A4, LOW); //player 4 smoke
delay (3000); //continue to smoke and vibrate
digitalWrite(2, HIGH); //end vibrate
digitalWrite(3, HIGH); //end vibrate
digitalWrite(5, HIGH); //end vibrate
digitalWrite(A1, HIGH); //end smoke
digitalWrite(A2, HIGH); //end smoke
digitalWrite(A4, HIGH); //end smoke
digitalWrite(6, LOW); //free player 1
digitalWrite(7, LOW); //free player 2
digitalWrite(9, LOW); //free player 4
delay(20000); //allow players to stand up
digitalWrite(6, HIGH); //restore 12v for next game
digitalWrite(7, HIGH); //restore 12v for next game
digitalWrite(8, HIGH); //restore 12v for next game
digitalWrite(9, HIGH); //restore 12v for next game
}
if (digitalRead(13) == HIGH); { //player 4 wins
digitalWrite(9, LOW); //free winner
digitalWrite(2, LOW); //player 1 vibrate
digitalWrite(3, LOW); //player 2 vibrate
digitalWrite(4, LOW); //player 3 vibrate
delay (3000); //delay to lessen smoke
digitalWrite(A2, LOW); //player 2 smoke
digitalWrite(A3, LOW); //player 3 smoke
digitalWrite(A4, LOW); //player 4 smoke
delay (3000); //continue to smoke and vibrate
digitalWrite(2, HIGH); //end vibrate
digitalWrite(3, HIGH); //end vibrate
digitalWrite(4, HIGH); //end vibrate
digitalWrite(A1, HIGH); //end smoke
digitalWrite(A2, HIGH); //end smoke
digitalWrite(A3, HIGH); //end smoke
digitalWrite(6, LOW); //free player 1
digitalWrite(7, LOW); //free player 2
digitalWrite(8, LOW); //free player 3
delay(20000); //allow players to stand up
digitalWrite(6, HIGH); //restore 12v for next game
digitalWrite(7, HIGH); //restore 12v for next game
digitalWrite(8, HIGH); //restore 12v for next game
digitalWrite(9, HIGH); //restore 12v for next game
}
if (digitalRead(A0) == HIGH); { //panic button pressed
digitalWrite(6, LOW); //free player 1
digitalWrite(7, LOW); //free player 2
digitalWrite(8, LOW); //free player 3
digitalWrite(9, LOW); //free player 4
delay (20000); //allow players to stand up
digitalWrite(6, HIGH); //restore 12v for next game
digitalWrite(7, HIGH); //restore 12v for next game
digitalWrite(8, HIGH); //restore 12v for next game
digitalWrite(9, HIGH); //restore 12v for next game
}
}`Preformatted text`
type or paste code here