1#include <Wire.h>
2#include <LiquidCrystal_I2C.h>
3#define btnSTART 5
4#define btnHIT 7
5#define ledTrigger 9
6LiquidCrystal_I2C lcd(0x23,20,4);
7
8void setup() {
9 lcd.init();
10 lcd.backlight();
11 pinMode(btnSTART, INPUT_PULLUP);
12 pinMode(btnHIT, INPUT_PULLUP);
13 pinMode(ledTrigger, OUTPUT);
14 digitalWrite(ledTrigger, LOW);
15 lcd.print("Salut Famille!");
16 delay(2000);
17 lcd.clear();
18 randomSeed(analogRead(0));
19}
20
21void loop() {
22 long timeReaction;
23 long timeTotal = 0;
24 lcd.print("Press START!");
25 while (digitalRead(btnSTART)) {}
26 delay(10);
27 while (!digitalRead(btnSTART)) {}
28 lcd.clear();
29 lcd.print("Jouez!!!");
30 delay(1000);
31 for (int i = 0; i < 5; i++) {
32 delay(random(500, 5000));
33 timeReaction = millis();
34 digitalWrite(ledTrigger, HIGH);
35 while (digitalRead(btnHIT)) {}
36 timeReaction = millis() - timeReaction;
37 timeTotal += timeReaction;
38 delay(10);
39 while (!digitalRead(btnHIT)) {}
40 digitalWrite(ledTrigger, LOW);
41 lcd.clear();
42 lcd.print(i + 1);
43 lcd.print(": ");
44 lcd.print(timeReaction);
45 delay(1000);
46 }
47 lcd.clear();
48 lcd.print("Moyenne = ");
49 lcd.print(timeTotal/5);
50 delay(10000);
51 lcd.clear();
52 }
53