![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
The keyboard section of the CO657 class 4
Dependencies: C12832 MMA7660 mbed
main.cpp@0:85b0a266d4ac, 2015-11-19 (annotated)
- Committer:
- co657_sjc80
- Date:
- Thu Nov 19 18:05:08 2015 +0000
- Revision:
- 0:85b0a266d4ac
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
co657_sjc80 | 0:85b0a266d4ac | 1 | /** |
co657_sjc80 | 0:85b0a266d4ac | 2 | * (C) Simon Cooksey, 2015 |
co657_sjc80 | 0:85b0a266d4ac | 3 | * |
co657_sjc80 | 0:85b0a266d4ac | 4 | * Class 03, Task 1B -- XBee Remote Sender |
co657_sjc80 | 0:85b0a266d4ac | 5 | * MIT |
co657_sjc80 | 0:85b0a266d4ac | 6 | */ |
co657_sjc80 | 0:85b0a266d4ac | 7 | |
co657_sjc80 | 0:85b0a266d4ac | 8 | #include "mbed.h" |
co657_sjc80 | 0:85b0a266d4ac | 9 | #include "C12832.h" |
co657_sjc80 | 0:85b0a266d4ac | 10 | #include "MMA7660.h" /* for the accelerometer */ |
co657_sjc80 | 0:85b0a266d4ac | 11 | |
co657_sjc80 | 0:85b0a266d4ac | 12 | MMA7660 MMA(D14, D15); /* accelerometer */ |
co657_sjc80 | 0:85b0a266d4ac | 13 | Serial xbee(D1, D0); /* xbee */ |
co657_sjc80 | 0:85b0a266d4ac | 14 | C12832 lcd(D11, D13, D12, D7, D10); /* lcd display*/ |
co657_sjc80 | 0:85b0a266d4ac | 15 | |
co657_sjc80 | 0:85b0a266d4ac | 16 | // Based on Colin Johnson's code available at |
co657_sjc80 | 0:85b0a266d4ac | 17 | // https://developer.mbed.org/users/colingj/code/lecture2_demo2/ |
co657_sjc80 | 0:85b0a266d4ac | 18 | int main(void) |
co657_sjc80 | 0:85b0a266d4ac | 19 | { |
co657_sjc80 | 0:85b0a266d4ac | 20 | float x,y; |
co657_sjc80 | 0:85b0a266d4ac | 21 | int countdown = 0; |
co657_sjc80 | 0:85b0a266d4ac | 22 | |
co657_sjc80 | 0:85b0a266d4ac | 23 | lcd.locate(0,0); |
co657_sjc80 | 0:85b0a266d4ac | 24 | lcd.printf("Remote"); |
co657_sjc80 | 0:85b0a266d4ac | 25 | |
co657_sjc80 | 0:85b0a266d4ac | 26 | while (1) { |
co657_sjc80 | 0:85b0a266d4ac | 27 | x = MMA.x(); |
co657_sjc80 | 0:85b0a266d4ac | 28 | y = MMA.y(); |
co657_sjc80 | 0:85b0a266d4ac | 29 | if (y>0.6f) { |
co657_sjc80 | 0:85b0a266d4ac | 30 | xbee.putc('d'); |
co657_sjc80 | 0:85b0a266d4ac | 31 | } |
co657_sjc80 | 0:85b0a266d4ac | 32 | if (y<-0.6f) { |
co657_sjc80 | 0:85b0a266d4ac | 33 | xbee.putc('u'); |
co657_sjc80 | 0:85b0a266d4ac | 34 | } |
co657_sjc80 | 0:85b0a266d4ac | 35 | if ((abs(x)>0.6f)&&(countdown<=0.0f)) { |
co657_sjc80 | 0:85b0a266d4ac | 36 | xbee.putc('p'); |
co657_sjc80 | 0:85b0a266d4ac | 37 | countdown = 10; |
co657_sjc80 | 0:85b0a266d4ac | 38 | } |
co657_sjc80 | 0:85b0a266d4ac | 39 | countdown--; |
co657_sjc80 | 0:85b0a266d4ac | 40 | wait (0.1); |
co657_sjc80 | 0:85b0a266d4ac | 41 | } |
co657_sjc80 | 0:85b0a266d4ac | 42 | } |