#include <LiquidCrystal.h>
const int rs = 11, en = 10, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
byte dauer;
long startZeit;
int reaktionsZeit;
int GLED = 8;
int RLED = 7;
int Taster = 12;
void setup() {
Serial.begin(9600);
pinMode(GLED, OUTPUT);
pinMode(RLED, OUTPUT);
pinMode(Taster, INPUT);
}
void loop() {
dauer = random(2,5);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Push Button");
delay(500);
do{
digitalRead(Taster) == HIGH;
delay(50);
lcd.clear();
lcd.setCursor(0, 0);
digitalWrite(GLED, HIGH);
lcd.print("redLED on, push");
while(digitalRead(Taster) == HIGH){
delay(1000);
//delay(dauer * 1000);
if (digitalRead(Taster) == HIGH){
Serial.println("Fehler");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Fruehstart");
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
digitalWrite(GLED, HIGH);
lcd.print("secondChance");
delay(1000);
}
else
{
delay(dauer * 1000);
digitalWrite (GLED, LOW);
digitalWrite (RLED, HIGH);
startZeit = millis();
}
while(digitalRead(Taster) == HIGH);
{
reaktionsZeit = millis() - startZeit;
digitalWrite (RLED, LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("reactionTime ");
lcd.print(reaktionsZeit);
lcd.println(" ms");
delay(1000);
}
}
}
}