#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C myDisplay(0x27,16,2);
#define greenLED 2
#define yellowLED 3
#define redLED 4
#define sensor1 8
#define sensor2 9
#define sensor3 10
#define sensor4 11
#define sensor5 12
#define sensor6 13
void setup()
{
myDisplay.init();
myDisplay.backlight();
myDisplay.print("PLAY!");
delay(2000);
myDisplay.setCursor(0,0);
myDisplay.print(" ");
myDisplay.setCursor(6,0);
myDisplay.print("GO GO GO");
delay(2000);
myDisplay.setCursor(0,0);
myDisplay.print(" ");
Serial.begin(9600);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(sensor3, INPUT);
pinMode(sensor4, INPUT);
pinMode(sensor5, INPUT);
pinMode(sensor6, INPUT);
pinMode(greenLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
pinMode(redLED, OUTPUT);
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
}
int i=0;
void loop() {
if (digitalRead(sensor1)==HIGH){
i=i+20;
myDisplay.clear();
myDisplay.setCursor(5,0);
myDisplay.print("+20!");
digitalWrite(greenLED, HIGH);
delay(2000);
digitalWrite(greenLED, LOW);
myDisplay.clear();
}
if (digitalRead(sensor2)==HIGH){
i=i+50;
myDisplay.clear();
myDisplay.setCursor(5,0);
myDisplay.print("+50!");
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, HIGH);
delay(2000);
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
myDisplay.clear();
}
if (digitalRead(sensor3)==HIGH){
i=i+100;
myDisplay.clear();
myDisplay.setCursor(5,0);
myDisplay.print("+100!");
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, HIGH);
digitalWrite(redLED, HIGH);
delay(2000);
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
myDisplay.clear();
}
if (digitalRead(sensor4)==HIGH){
i=i+20;
myDisplay.clear();
myDisplay.setCursor(5,0);
myDisplay.print("+20!");
digitalWrite(greenLED, HIGH);
delay(2000);
digitalWrite(greenLED, LOW);
myDisplay.clear();
}
if (digitalRead(sensor5)==HIGH){
i=i+50;
myDisplay.clear();
myDisplay.setCursor(5,0);
myDisplay.print("+50!");
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, HIGH);
delay(2000);
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
myDisplay.clear();
}
if (digitalRead(sensor6)==HIGH){
i=i+100;
myDisplay.clear();
myDisplay.setCursor(5,0);
myDisplay.print("+100!");
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, HIGH);
digitalWrite(redLED, HIGH);
delay(2000);
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
myDisplay.clear();
}
if (i>=500){
myDisplay.clear();
myDisplay.setCursor(4,0);
myDisplay.print("YOU WIN!");
for (int j=0; j<=15; j=j+1){
digitalWrite(greenLED, HIGH);
digitalWrite(yellowLED, HIGH);
digitalWrite(redLED, HIGH);
delay(100);
digitalWrite(greenLED, LOW);
digitalWrite(yellowLED, LOW);
digitalWrite(redLED, LOW);
delay(100);
}
i=0;
myDisplay.clear();
myDisplay.setCursor(0,0);
myDisplay.print("New Game");
delay(2000);
myDisplay.setCursor(0,0);
myDisplay.print(" ");
myDisplay.setCursor(6,0);
myDisplay.print("GO!");
delay(2000);
myDisplay.setCursor(0,0);
myDisplay.print(" ");
}
myDisplay.setCursor(0,0);
myDisplay.print("Your Score:");
myDisplay.setCursor(0,1);
myDisplay.print(i,DEC);
}
Comments