lcd reaction game

Dependencies:   TSI TextLCD mbed

Fork of TextLCD_HelloWorld by Simon Ford

Committer:
ktitov
Date:
Fri May 03 08:31:29 2013 +0000
Revision:
3:89a90f3245fd
Parent:
2:ad0b044d0a10
lcd gaming, including timing

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:334327d1a416 1 #include "mbed.h"
ktitov 3:89a90f3245fd 2 #include "TSISensor.h"
simon 0:334327d1a416 3 #include "TextLCD.h"
simon 0:334327d1a416 4
ktitov 3:89a90f3245fd 5 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7
simon 0:334327d1a416 6
simon 0:334327d1a416 7 int main() {
ktitov 3:89a90f3245fd 8
ktitov 3:89a90f3245fd 9 TSISensor tsi;
ktitov 3:89a90f3245fd 10 PwmOut gled(LED_GREEN);
ktitov 3:89a90f3245fd 11 PwmOut bled(LED_BLUE);
ktitov 3:89a90f3245fd 12 Serial pc(USBTX, USBRX);
ktitov 3:89a90f3245fd 13 Timer t;
ktitov 3:89a90f3245fd 14
ktitov 3:89a90f3245fd 15
ktitov 3:89a90f3245fd 16 bled = 1;
ktitov 3:89a90f3245fd 17 gled = 1;
ktitov 3:89a90f3245fd 18
ktitov 3:89a90f3245fd 19 while(1) {
ktitov 3:89a90f3245fd 20 float a;
ktitov 3:89a90f3245fd 21 float b;
ktitov 3:89a90f3245fd 22 float c;
ktitov 3:89a90f3245fd 23 lcd.printf("READY,\n");
ktitov 3:89a90f3245fd 24 wait (1);
ktitov 3:89a90f3245fd 25 lcd.cls();
ktitov 3:89a90f3245fd 26 lcd.printf("SET,\n");
ktitov 3:89a90f3245fd 27 wait (1);
ktitov 3:89a90f3245fd 28 lcd.cls();
ktitov 3:89a90f3245fd 29 lcd.printf("GO!\n");
ktitov 3:89a90f3245fd 30 c = rand() %10000;
ktitov 3:89a90f3245fd 31 a = 0;
ktitov 3:89a90f3245fd 32 float time;
ktitov 3:89a90f3245fd 33 for (time = 0; time < c; time+=0.01)
ktitov 3:89a90f3245fd 34 {
ktitov 3:89a90f3245fd 35 a = tsi.readPercentage();
ktitov 3:89a90f3245fd 36 if (a > 0)
ktitov 3:89a90f3245fd 37 {
ktitov 3:89a90f3245fd 38 lcd.printf("CHEAT!\n");
ktitov 3:89a90f3245fd 39 a=0;
ktitov 3:89a90f3245fd 40 }
ktitov 3:89a90f3245fd 41 }
ktitov 3:89a90f3245fd 42 //wait(c);
ktitov 3:89a90f3245fd 43 a = 0;
ktitov 3:89a90f3245fd 44 bled = 0;
ktitov 3:89a90f3245fd 45 t.start();
ktitov 3:89a90f3245fd 46
ktitov 3:89a90f3245fd 47 while (a == 0)
ktitov 3:89a90f3245fd 48 {
ktitov 3:89a90f3245fd 49
ktitov 3:89a90f3245fd 50 a = tsi.readPercentage();
ktitov 3:89a90f3245fd 51 }
ktitov 3:89a90f3245fd 52 bled = 1;
ktitov 3:89a90f3245fd 53 gled = 0;
ktitov 3:89a90f3245fd 54 t.stop();
ktitov 3:89a90f3245fd 55 b = t.read();
ktitov 3:89a90f3245fd 56 lcd.cls();
ktitov 3:89a90f3245fd 57 lcd.printf("Reaction Time: %f\n", b);
ktitov 3:89a90f3245fd 58 a = 0;
ktitov 3:89a90f3245fd 59 wait(5);
ktitov 3:89a90f3245fd 60 gled = 1;
ktitov 3:89a90f3245fd 61 lcd.cls();
ktitov 3:89a90f3245fd 62 t.reset();
ktitov 3:89a90f3245fd 63 }
ktitov 3:89a90f3245fd 64 }