avinash mehta
/
test_lcd_acc_frdm_k64f
initial version
main.cpp@0:1f04ce35dcc4, 2017-12-19 (annotated)
- Committer:
- avinashmehta
- Date:
- Tue Dec 19 15:00:10 2017 +0000
- Revision:
- 0:1f04ce35dcc4
test lcd acc frdm k64f
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
avinashmehta | 0:1f04ce35dcc4 | 1 | #include "mbed.h" |
avinashmehta | 0:1f04ce35dcc4 | 2 | #include "C12832.h" |
avinashmehta | 0:1f04ce35dcc4 | 3 | #include "MMA7660.h" |
avinashmehta | 0:1f04ce35dcc4 | 4 | |
avinashmehta | 0:1f04ce35dcc4 | 5 | // Using Arduino pin notation |
avinashmehta | 0:1f04ce35dcc4 | 6 | C12832 lcd(D11, D13, D12, D7, D10); |
avinashmehta | 0:1f04ce35dcc4 | 7 | MMA7660 MMA(D14,D15); |
avinashmehta | 0:1f04ce35dcc4 | 8 | DigitalIn up(A2); |
avinashmehta | 0:1f04ce35dcc4 | 9 | DigitalIn down(A3); |
avinashmehta | 0:1f04ce35dcc4 | 10 | DigitalIn left(A4); |
avinashmehta | 0:1f04ce35dcc4 | 11 | DigitalIn right(A5); |
avinashmehta | 0:1f04ce35dcc4 | 12 | DigitalIn fire(D4); |
avinashmehta | 0:1f04ce35dcc4 | 13 | |
avinashmehta | 0:1f04ce35dcc4 | 14 | // main() runs in its own thread in the OS |
avinashmehta | 0:1f04ce35dcc4 | 15 | int main() { |
avinashmehta | 0:1f04ce35dcc4 | 16 | float x = 0, y = 0, threshold = 0.25; |
avinashmehta | 0:1f04ce35dcc4 | 17 | //float temp_x, temp_y; |
avinashmehta | 0:1f04ce35dcc4 | 18 | int loc_x = 0, loc_y = 0; |
avinashmehta | 0:1f04ce35dcc4 | 19 | lcd.locate(0, 0); |
avinashmehta | 0:1f04ce35dcc4 | 20 | while (true) { |
avinashmehta | 0:1f04ce35dcc4 | 21 | lcd.cls(); |
avinashmehta | 0:1f04ce35dcc4 | 22 | /*temp_x = MMA.x(); |
avinashmehta | 0:1f04ce35dcc4 | 23 | if(temp_x > x + threshold) { |
avinashmehta | 0:1f04ce35dcc4 | 24 | x = temp_x; |
avinashmehta | 0:1f04ce35dcc4 | 25 | if(loc_y > 0) |
avinashmehta | 0:1f04ce35dcc4 | 26 | loc_y--; |
avinashmehta | 0:1f04ce35dcc4 | 27 | } |
avinashmehta | 0:1f04ce35dcc4 | 28 | else if(temp_x < x - threshold) { |
avinashmehta | 0:1f04ce35dcc4 | 29 | x = temp_x; |
avinashmehta | 0:1f04ce35dcc4 | 30 | if(loc_y < 32) |
avinashmehta | 0:1f04ce35dcc4 | 31 | loc_y++; |
avinashmehta | 0:1f04ce35dcc4 | 32 | } |
avinashmehta | 0:1f04ce35dcc4 | 33 | temp_y = MMA.y(); |
avinashmehta | 0:1f04ce35dcc4 | 34 | if(temp_y > y + threshold) { |
avinashmehta | 0:1f04ce35dcc4 | 35 | y = temp_y; |
avinashmehta | 0:1f04ce35dcc4 | 36 | if(loc_x > 0) |
avinashmehta | 0:1f04ce35dcc4 | 37 | loc_x--; |
avinashmehta | 0:1f04ce35dcc4 | 38 | } |
avinashmehta | 0:1f04ce35dcc4 | 39 | else if(temp_y < y - threshold) { |
avinashmehta | 0:1f04ce35dcc4 | 40 | y = temp_y; |
avinashmehta | 0:1f04ce35dcc4 | 41 | if(loc_x < 128) |
avinashmehta | 0:1f04ce35dcc4 | 42 | loc_x++; |
avinashmehta | 0:1f04ce35dcc4 | 43 | }*/ |
avinashmehta | 0:1f04ce35dcc4 | 44 | |
avinashmehta | 0:1f04ce35dcc4 | 45 | x = MMA.x(); |
avinashmehta | 0:1f04ce35dcc4 | 46 | y = MMA.y(); |
avinashmehta | 0:1f04ce35dcc4 | 47 | if(x > threshold) { |
avinashmehta | 0:1f04ce35dcc4 | 48 | loc_y--; |
avinashmehta | 0:1f04ce35dcc4 | 49 | } |
avinashmehta | 0:1f04ce35dcc4 | 50 | else if(x < -1 * threshold) { |
avinashmehta | 0:1f04ce35dcc4 | 51 | loc_y++; |
avinashmehta | 0:1f04ce35dcc4 | 52 | } |
avinashmehta | 0:1f04ce35dcc4 | 53 | if(y > threshold) { |
avinashmehta | 0:1f04ce35dcc4 | 54 | loc_x--; |
avinashmehta | 0:1f04ce35dcc4 | 55 | } |
avinashmehta | 0:1f04ce35dcc4 | 56 | else if(y < -1 * threshold) { |
avinashmehta | 0:1f04ce35dcc4 | 57 | loc_x++; |
avinashmehta | 0:1f04ce35dcc4 | 58 | } |
avinashmehta | 0:1f04ce35dcc4 | 59 | if(loc_y > 32) loc_y = 32; |
avinashmehta | 0:1f04ce35dcc4 | 60 | else if(loc_y < 0) loc_y = 0; |
avinashmehta | 0:1f04ce35dcc4 | 61 | if(loc_x > 128) loc_x = 128; |
avinashmehta | 0:1f04ce35dcc4 | 62 | else if(loc_x < 0) loc_x = 0; |
avinashmehta | 0:1f04ce35dcc4 | 63 | lcd.circle(loc_x, loc_y, 2, 1); |
avinashmehta | 0:1f04ce35dcc4 | 64 | wait(0.01); |
avinashmehta | 0:1f04ce35dcc4 | 65 | } |
avinashmehta | 0:1f04ce35dcc4 | 66 | } |
avinashmehta | 0:1f04ce35dcc4 | 67 |