#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int LEDR = 8;
int LEDB = 7;
int LEDGr= 6;
int Button = 9;
int COLOR;
int Beep;
int PSE;
int TME;
int RTME = 0;
void setup() {
lcd.begin(16, 2);
pinMode(LEDR, OUTPUT);
// Set LED pins as output
pinMode(LEDB, OUTPUT);
pinMode(LEDGr, OUTPUT);
pinMode(Button, INPUT);
digitalWrite(LEDR, LOW);
digitalWrite(LEDB, LOW);
digitalWrite(LEDGr, LOW);
}
void loop() {
lcd.clear();
lcd.print ("Hold Button to");
lcd.setCursor(0, 1);
lcd.print("start.");
while (digitalRead(Button) == LOW) {
tone(13, 1200, 30);
delay(1400);
noTone(13);
}
lcd.clear();
digitalWrite(LEDR, HIGH);
digitalWrite(LEDB, HIGH);
digitalWrite(LEDGr, HIGH);
randomSeed (analogRead (0));
COLOR = random(1, 4);
PSE = random(500, 1200);
while (COLOR != 1 && digitalRead(Button) == HIGH) {
digitalWrite(LEDGr, HIGH);
digitalWrite(LEDB, HIGH);
delay(PSE);
randomSeed (analogRead(0));
Beep = random(1, 4);
PSE = random(750, 1200);
if (Beep == 1) {
tone(13, 1600, 350);
delay(750);
noTone(13);
}
if (COLOR== 2) {
digitalWrite(LEDGr, LOW);
}
if (COLOR== 3) {
digitalWrite(LEDB, LOW);
}
delay(PSE);
randomSeed (analogRead(0));
COLOR = random(1, 4); // Select random color
}
// Execute this loop if color is red
if (COLOR== 1 && digitalRead(Button) == HIGH) {
digitalWrite(LEDGr, HIGH);
digitalWrite(LEDB, HIGH);
delay(PSE);
TME= millis();
digitalWrite(LEDR, LOW);
while (digitalRead(Button) == HIGH) {
delay(1);
}
lcd.display();
RTME = millis() - TME;
lcd.print("Reaction Time:");
lcd.setCursor(0, 1);
lcd.print(RTME);
}
if(COLOR != 1){
lcd.print("Realeased too");
lcd.setCursor(0,1);
lcd.print("soon!!!");
tone(13, 3000, 1500);
delay(500);
noTone(13);
}
while(digitalRead(Button) == LOW){
delay(10);
}
digitalWrite(LEDR, LOW);
digitalWrite(LEDR, LOW);
digitalWrite(LEDR, LOW);
lcd.clear();
lcd.print("Hold button to");
lcd.setCursor(0,1);
lcd.print("start.");
int Time = 0;
delay(1000);
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
lcd1:VSS
lcd1:VDD
lcd1:V0
lcd1:RS
lcd1:RW
lcd1:E
lcd1:D0
lcd1:D1
lcd1:D2
lcd1:D3
lcd1:D4
lcd1:D5
lcd1:D6
lcd1:D7
lcd1:A
lcd1:K
pot1:GND
pot1:SIG
pot1:VCC
rgb1:R
rgb1:COM
rgb1:G
rgb1:B
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
r4:1
r4:2
bz1:1
bz1:2