//set sequential pins for the 7 "GLD" LEDs on an Arduino MEGA board
int gld600LED = 22;
int gld500LED = 23;
int gld400LED = 24;
int gld300LED = 25;
int gld200LED = 26;
int gld100LED = 27;
int gld50LED = 28;
int buttonPin = 2; //this should be the red sidestick button of either player
int currPlaneLED; //initialize the plane icon int but don't give it a pin yet
int lastPlaneLED; //initialize a plane icon value for comparison
//set pins where a reading will be taken of the state of an LED on another board
int slowApproachLEDPin = 3;
int nominalApproachLEDPin = 4;
int fastApproachLEDPin = 5;
int slowApproachVal = 0; // initialize some variables for the readings of the other board
int nominalApproachVal = 0;
int fastApproachVal = 0;
//initialize some counters
int A = 0;
int B = 0;
int count = 0;
//set some temporary OUTPUT pins for the test LEDs on another board
int slowApproachTogglePin = 31;
int nominalApproachTogglePin = 33;
int fastApproachTogglePin = 35;
void setup() {
pinMode(gld600LED , OUTPUT);
pinMode(gld500LED , OUTPUT);
pinMode(gld400LED , OUTPUT);
pinMode(gld300LED , OUTPUT);
pinMode(gld200LED , OUTPUT);
pinMode(gld100LED , OUTPUT);
pinMode(gld50LED , OUTPUT);
pinMode(buttonPin , INPUT_PULLUP);
pinMode(currPlaneLED, OUTPUT);
pinMode(slowApproachLEDPin, INPUT);
pinMode(nominalApproachLEDPin, INPUT);
pinMode(fastApproachLEDPin, INPUT);
pinMode(slowApproachTogglePin, OUTPUT);
pinMode(nominalApproachTogglePin, OUTPUT);
pinMode(fastApproachTogglePin, OUTPUT);
digitalWrite(slowApproachTogglePin, HIGH);
digitalWrite(nominalApproachTogglePin, HIGH);
digitalWrite(fastApproachTogglePin, HIGH);
}
void loop() {
A = digitalRead(buttonPin);
delay(60);
if (A != B) {
if(A == LOW) {
count ++ ;
}
}
B = A;
slowApproachVal = digitalRead(slowApproachLEDPin); //I think I'll need an array or switch case statement
nominalApproachVal = digitalRead(nominalApproachLEDPin);
fastApproachVal = digitalRead(fastApproachLEDPin);
if (count == 0) {
currPlaneLED = 6;
digitalWrite(gld600LED, HIGH);
digitalWrite(currPlaneLED, HIGH);
}
if (count == 1) {
digitalWrite(gld600LED, LOW);
digitalWrite(gld500LED, HIGH);
if (slowApproachVal == HIGH) {
digitalWrite(currPlaneLED, HIGH);
currPlaneLED = currPlaneLED;
}
if (nominalApproachVal == HIGH) {
digitalWrite(currPlaneLED, LOW);
currPlaneLED += 1;
digitalWrite(currPlaneLED, HIGH);
}
if (fastApproachVal == HIGH) {
digitalWrite(currPlaneLED, LOW);
currPlaneLED += 2;
digitalWrite(currPlaneLED, HIGH);
}
}
if (count == 2) {
digitalWrite(gld500LED, LOW);
digitalWrite(gld400LED, HIGH);
}
if (count == 3) {
digitalWrite(gld400LED, LOW);
digitalWrite(gld300LED, HIGH);
}
if (count == 4) {
digitalWrite(gld300LED, LOW);
digitalWrite(gld200LED, HIGH);
}
if (count == 5) {
digitalWrite(gld200LED, LOW);
digitalWrite(gld100LED, HIGH);
}
if (count == 6) {
digitalWrite(gld100LED, LOW);
digitalWrite(gld50LED, HIGH);
}
}