unable to advance my code to trigger the buttons to turn off the led and to advance. tried using bool function to monitor the value going though the led
code is below
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int RED_1 = 10;
int RED_2 = 9;
//int RED_3 = 8;
int GO_LED = 6;
boolean running = false;
int PLAYER_1_BUTTON = 1;
int PLAYER_2_BUTTON = 0;
int START_BUTTON = 13;
int Player_1_time = 0;
int Player_2_time = 0;
void setup() {
// put your setup code here, to run once:
pinMode(RED_1, OUTPUT);
pinMode(RED_2, OUTPUT);
pinMode(GO_LED, OUTPUT);
// pinMode(RED_3, OUTPUT); pin no longer used
pinMode(PLAYER_1_BUTTON, INPUT);
pinMode(PLAYER_2_BUTTON, INPUT);
pinMode(START_BUTTON, INPUT);
Serial.begin(9600);
lcd.begin(16,2);
// lcd.setCursor(0.0);
}
void loop() {
int GO_LED_state = digitalRead(GO_LED);
int Start_buttonState = digitalRead(START_BUTTON);
int buttonState_1 = digitalRead(PLAYER_1_BUTTON);
int buttonState_2 = digitalRead(PLAYER_2_BUTTON);
if(Start_buttonState == HIGH ){
//if(RED_1 == LOW && RED_2 == LOW && RED_3 == LOW){
Serial.println(GO_LED_state == HIGH);
// delay(500);
digitalWrite(RED_1, HIGH);
delay(1000);
digitalWrite(RED_2,HIGH);
// delay(1000);
// digitalWrite(RED_3,HIGH);
delay(3870);
digitalWrite(GO_LED, HIGH);
digitalWrite(RED_1,LOW);
digitalWrite(RED_2,LOW);
// digitalWrite(RED_3,LOW);
//RED_1 == LOW && RED_2 == LOW && RED_3 == LOW
/* if(buttonState_1 == HIGH || buttonState_2 == HIGH && GO_LED == LOW ){
lcd.print("False Start, Please hit restart");
GO_LED = LOW;
}*/
if(GO_LED_state == HIGH){
// if(RED_1 == LOW && RED_2 == LOW && RED_3 == LOW){
if( buttonState_1 == HIGH){
Player_1_time = millis();
digitalWrite(GO_LED, LOW);
}
else if(buttonState_2 == HIGH){
Player_2_time = millis();
digitalWrite(GO_LED, LOW);
}
if(Player_1_time > Player_2_time){
lcd.print("PLAYER 1 WINS!!!");
delay(1000);
}
else if(Player_1_time < Player_2_time){
lcd.print("PLAYER 2 WINS!!!");
delay(1000);
}
digitalWrite(GO_LED, LOW);
Player_1_time = Player_1_time - 4870;
Player_2_time = Player_2_time - 4870;
lcd.setCursor(0,0);
lcd.print( Player_1_time);
lcd.setCursor(0,1);
lcd.print(Player_2_time);
Serial.println("It works");
delay(15000);
}
}
}
