const boolean inputMode = HIGH; //define input mode for the sensor reading
const int LED1 = 8; //define LED 1 on pin8
const int LED2 = 9; //define LED 2 on pin 9
const int AMPR = 5; //define traffic light red on pin 5
const int AMPY = 6; //define traffic light yellow on pin 6
const int AMPG = 7; //define traffic light green on pin 7
const int SWI1 = A0; //define sensor SWI1 on analog pin 0
const int SWI2 = A1; //define sensor SWI2 on analog pin 1
const int THR1 = 10; //define threshold for sensor 1
const int THR2 = 10; //define threshold for sensor 2
int sensorReading1 = 0; //set sensor reading 1 to 0
int sensorReading2 = 0; //set sensor reading 2 to 0
void setup() { //make the setup
Serial.begin(9600);
pinMode(LED1, OUTPUT); //define LED1 as output
pinMode(LED2, OUTPUT); //define LED2 as output
pinMode(AMPR, OUTPUT); //define traffic light red as output
pinMode(AMPY, OUTPUT); //define traffic light yellow as output
pinMode(AMPG, OUTPUT); // define traffic light green as output
pinMode(SWI1, INPUT); //define switch 1 as input
pinMode(SWI2, INPUT); //define switch 2 as input
delay(1000); //wait for 1 sec
}
void loop() //Game
{
randomSeed(millis());
digitalWrite(AMPR, HIGH); //switch on red traffic light
digitalWrite(AMPG, LOW); //switch off green traffic light
digitalWrite(AMPY, LOW); //switch off yellow traffic light
delay(1000); //wait 1 second
digitalWrite(AMPR, LOW); //switch off red traffic light
digitalWrite(AMPY, HIGH); //switch on yellow traffic light (green is anyway off)
delay(1000);
digitalWrite(AMPY, LOW); //switch off yellow traffic light
delay(random(2000)+4000); //wait for 2 seconds plus 0 to 4 seconds (so min 2, max 6 seconds)
digitalWrite(AMPG, HIGH); //afterwards switch on green traffic light
int i=0;
while (i < 1)
{
sensorReading1 = analogRead(SWI1); //read out sensor 1
sensorReading2 = analogRead(SWI2); //read out sensor 2
if (sensorReading1 >= THR1) { //check if sensor 1 reading is above threshold, if so
Serial.println(sensorReading1); //print result of sensorreading 1 in serial monitor
Serial.println(sensorReading2); //and print result of sensorreading 2 in serial monitor
digitalWrite(LED1, HIGH); //switch on LED 1 in order to show that player 1 is the winner
digitalWrite(AMPG, LOW); //switch off green light
delay(5000); // wait for 5 seconds
digitalWrite(LED1, LOW); //switch off LED 1
break; //end the while
}
if (sensorReading2 >= THR2) { //check if sensor 2 reading is above threshold, if so
Serial.println(sensorReading1); //print result of sensorrading 1 in serial monitor
Serial.println(sensorReading2); //and print result of sensorreading 2 in serial monitor
digitalWrite(LED2, HIGH); //switch on LED 2 in order show that player 2 is the winner
digitalWrite(AMPG, LOW); //switch off green traffic light
delay(5000); //wait for 5 secs
digitalWrite(LED2, LOW); //switch off LED 2
break; //end the while
}
}
delay(2000); //wait for 2 secs
}
Comments
Please log in or sign up to comment.