#include <Servo.h>
#include <LiquidCrystal_I2C.h>
Servo myservo;
int pos = 90;
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
int f = 0;
int g = 0;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.begin(16, 2);
pinMode(13, INPUT);
Serial.begin(9600);
myservo.attach(11);
}
void loop() {
int but = digitalRead(13);
int lvl = analogRead(A0);
int lvlmap = map(lvl, 0, 1024, 100, 0);
if(e == 0){
myservo.write(0);
lcd.setCursor(1, 1);
lcd.print("Click To Start");
if(but > d){
d = 1;
}
else if(but < d){
d = 0;
e = 1;
}
}
else if(e == 1){
c = 0;
g = lvlmap;
myservo.write(0);
lcd.clear();
lcd.setCursor(8, 0);
lcd.print("3");
delay(1000);
lcd.setCursor(8, 0);
lcd.print("2");
delay(1000);
lcd.setCursor(8, 0);
lcd.print("1");
delay(1000);
lcd.setCursor(5, 0);
lcd.print("Click!");
e = 2;
}
else if(e == 2){
if(but == 1){
a = 1;
f = f+1;
}
else if(but == 0){
if(f > 200){
e = 0;
lcd.clear();
}
else if(f < 200){
if(a == 1){
c = c+g;
}
if(a == 0){
c = c-1;
}
a = 0;
}
f = 0;
}
int c1 = map(c, 0, 1000, 0, 180);
myservo.write(c1);
if(c > 2000){
lcd.setCursor(0, 0);
lcd.print("Congrats You Won");
lcd.setCursor(5, 1);
lcd.print("You Won");
delay(2000);
e = 0;
}
}
Serial.println(lvlmap);
}