lcd reaction game
Dependencies: TSI TextLCD mbed
Fork of TextLCD_HelloWorld by
main.cpp@3:89a90f3245fd, 2013-05-03 (annotated)
- 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?
User | Revision | Line number | New 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 | } |