accelerometer trial
Dependencies: mbed C12832 MMA7660 USBDevice
main.cpp@12:b6a803a6450e, 2019-10-15 (annotated)
- Committer:
- wojt86
- Date:
- Tue Oct 15 21:06:39 2019 +0000
- Revision:
- 12:b6a803a6450e
- Parent:
- 11:73e8c1bb5467
- Child:
- 13:d29eb4570e27
Accelerometer with 4 led
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
samux | 1:291a88a2c151 | 1 | #include "mbed.h" |
samux | 1:291a88a2c151 | 2 | #include "USBKeyboard.h" |
knasp | 7:ffe2220d3880 | 3 | #include "MMA7660.h" |
knasp | 10:150f8d03f18d | 4 | #include "C12832.h" |
knasp | 9:66681432403a | 5 | |
knasp | 11:73e8c1bb5467 | 6 | MMA7660 Accelerometer (p28,p27); |
wojt86 | 12:b6a803a6450e | 7 | |
knasp | 11:73e8c1bb5467 | 8 | USBKeyboard Usbkeyboard; |
knasp | 11:73e8c1bb5467 | 9 | C12832 LCD (p5,p7,p6,p8,p11); |
wojt86 | 12:b6a803a6450e | 10 | BusOut red_led(p21); |
wojt86 | 12:b6a803a6450e | 11 | BusOut yellow_led(p22); |
wojt86 | 12:b6a803a6450e | 12 | BusOut blue_led(p23); |
wojt86 | 12:b6a803a6450e | 13 | BusOut green_led(p24); |
knasp | 9:66681432403a | 14 | |
knasp | 11:73e8c1bb5467 | 15 | int main (void) |
knasp | 11:73e8c1bb5467 | 16 | { |
knasp | 9:66681432403a | 17 | |
knasp | 11:73e8c1bb5467 | 18 | float Acc_X = 0; |
knasp | 11:73e8c1bb5467 | 19 | float Acc_Y = 0; |
knasp | 11:73e8c1bb5467 | 20 | float Acc_Z = 0; |
knasp | 10:150f8d03f18d | 21 | |
knasp | 11:73e8c1bb5467 | 22 | while (true) { |
knasp | 9:66681432403a | 23 | |
knasp | 11:73e8c1bb5467 | 24 | Acc_X = Accelerometer.x (); |
knasp | 11:73e8c1bb5467 | 25 | Acc_Y = Accelerometer.y (); |
knasp | 11:73e8c1bb5467 | 26 | Acc_Z = Accelerometer.z (); |
knasp | 9:66681432403a | 27 | |
knasp | 11:73e8c1bb5467 | 28 | LCD.cls (); //LCD display showing the coordinates (turn off when submitting the program as only per programing |
knasp | 11:73e8c1bb5467 | 29 | LCD.locate (0,0); |
knasp | 11:73e8c1bb5467 | 30 | LCD.printf("X Axis: %f",Acc_X); |
knasp | 11:73e8c1bb5467 | 31 | LCD.locate (0,10); |
knasp | 11:73e8c1bb5467 | 32 | LCD.printf("Y Axis: %f",Acc_Y); |
knasp | 11:73e8c1bb5467 | 33 | LCD.locate (0,20); |
knasp | 11:73e8c1bb5467 | 34 | LCD.printf("Z Axis: %f",Acc_Z); |
knasp | 9:66681432403a | 35 | |
knasp | 11:73e8c1bb5467 | 36 | wait (0.00000000001); |
knasp | 10:150f8d03f18d | 37 | |
knasp | 11:73e8c1bb5467 | 38 | if (Acc_Y>0.08) { //Y axis program |
wojt86 | 12:b6a803a6450e | 39 | |
knasp | 11:73e8c1bb5467 | 40 | Usbkeyboard.keyCode (UP_ARROW); |
wojt86 | 12:b6a803a6450e | 41 | red_led=1; |
wojt86 | 12:b6a803a6450e | 42 | yellow_led=0; |
wojt86 | 12:b6a803a6450e | 43 | |
knasp | 11:73e8c1bb5467 | 44 | } else if (Acc_Y<0.08) { |
knasp | 11:73e8c1bb5467 | 45 | // Usbkeyboard.printf("s\0"); |
knasp | 11:73e8c1bb5467 | 46 | Usbkeyboard.keyCode (DOWN_ARROW); |
wojt86 | 12:b6a803a6450e | 47 | red_led=0; |
wojt86 | 12:b6a803a6450e | 48 | yellow_led=1; |
wojt86 | 12:b6a803a6450e | 49 | |
wojt86 | 12:b6a803a6450e | 50 | } else if (Acc_Y<0.06) { |
wojt86 | 12:b6a803a6450e | 51 | //turn int (main); |
wojt86 | 12:b6a803a6450e | 52 | red_led=0; |
wojt86 | 12:b6a803a6450e | 53 | yellow_led=0; |
wojt86 | 12:b6a803a6450e | 54 | |
wojt86 | 12:b6a803a6450e | 55 | } else if (Acc_Y>0.00) { |
wojt86 | 12:b6a803a6450e | 56 | //turn int (main); |
wojt86 | 12:b6a803a6450e | 57 | red_led=0; |
wojt86 | 12:b6a803a6450e | 58 | yellow_led=0; |
wojt86 | 12:b6a803a6450e | 59 | } |
knasp | 11:73e8c1bb5467 | 60 | if (Acc_X>0.08) { //X axis program |
knasp | 11:73e8c1bb5467 | 61 | //Usbkeyboard.printf("w\0"); |
knasp | 11:73e8c1bb5467 | 62 | Usbkeyboard.keyCode (LEFT_ARROW); |
wojt86 | 12:b6a803a6450e | 63 | green_led=1; |
wojt86 | 12:b6a803a6450e | 64 | blue_led=0; |
wojt86 | 12:b6a803a6450e | 65 | } else if (Acc_X<0.08) { |
knasp | 11:73e8c1bb5467 | 66 | //Usbkeyboard.printf("s\0"); |
knasp | 11:73e8c1bb5467 | 67 | Usbkeyboard.keyCode (RIGHT_ARROW); |
wojt86 | 12:b6a803a6450e | 68 | green_led=0; |
wojt86 | 12:b6a803a6450e | 69 | blue_led=1; |
wojt86 | 12:b6a803a6450e | 70 | |
wojt86 | 12:b6a803a6450e | 71 | } else if (Acc_X<0.06) { |
wojt86 | 12:b6a803a6450e | 72 | green_led=0; |
wojt86 | 12:b6a803a6450e | 73 | blue_led=0; |
wojt86 | 12:b6a803a6450e | 74 | |
wojt86 | 12:b6a803a6450e | 75 | } else if (Acc_X>0.00) { |
wojt86 | 12:b6a803a6450e | 76 | green_led=0; |
wojt86 | 12:b6a803a6450e | 77 | blue_led=0; |
wojt86 | 12:b6a803a6450e | 78 | //turn int (main); |
wojt86 | 12:b6a803a6450e | 79 | } |
knasp | 11:73e8c1bb5467 | 80 | /* |
knasp | 11:73e8c1bb5467 | 81 | if (Acc_Z>1.5) { //Z axis program - work in progress |
knasp | 11:73e8c1bb5467 | 82 | Usbkeyboard.printf("w\0"); |
knasp | 11:73e8c1bb5467 | 83 | //Usbkeyboard.keyCode (LEFT_ARROW); |
knasp | 11:73e8c1bb5467 | 84 | } elses if (Acc_Z<1.5) { |
knasp | 11:73e8c1bb5467 | 85 | Usbskeyboard.printf("s\0"); |
knasp | 11:73e8c1bb5467 | 86 | //Ussbkeyboard.keyCode (RIGHT_ARROW); |
knasp | 11:73e8c1bb5467 | 87 | } |
knasp | 11:73e8c1bb5467 | 88 | */ |
wojt86 | 12:b6a803a6450e | 89 | |
wojt86 | 12:b6a803a6450e | 90 | |
samux | 1:291a88a2c151 | 91 | } |
wojt86 | 12:b6a803a6450e | 92 | } |
wojt86 | 12:b6a803a6450e | 93 | |
wojt86 | 12:b6a803a6450e | 94 | //UP |
wojt86 | 12:b6a803a6450e | 95 | /* if (Acc_X>Acc_Y) |
wojt86 | 12:b6a803a6450e | 96 | if (Acc_Z<0.8) |
wojt86 | 12:b6a803a6450e | 97 | if (Acc_X<0) |
wojt86 | 12:b6a803a6450e | 98 | Usbkeyboard.keyCode (UP_ARROW); |
wojt86 | 12:b6a803a6450e | 99 | red_led=1; |
wojt86 | 12:b6a803a6450e | 100 | yellow_led=0; |
wojt86 | 12:b6a803a6450e | 101 | |
wojt86 | 12:b6a803a6450e | 102 | |
wojt86 | 12:b6a803a6450e | 103 | if (Acc_Z<0.8) |
wojt86 | 12:b6a803a6450e | 104 | if (Acc_X>Acc_Y) |
wojt86 | 12:b6a803a6450e | 105 | if (Acc_X>0) |
wojt86 | 12:b6a803a6450e | 106 | Usbkeyboard.keyCode (DOWN_ARROW); |
wojt86 | 12:b6a803a6450e | 107 | red_led=0; |
wojt86 | 12:b6a803a6450e | 108 | yellow_led=1; |
wojt86 | 12:b6a803a6450e | 109 | |
wojt86 | 12:b6a803a6450e | 110 | if (Acc_Z<0.8) |
wojt86 | 12:b6a803a6450e | 111 | if (Acc_Y>Acc_X) |
wojt86 | 12:b6a803a6450e | 112 | if (Acc_Y>0) |
wojt86 | 12:b6a803a6450e | 113 | Usbkeyboard.keyCode (LEFT_ARROW); |
wojt86 | 12:b6a803a6450e | 114 | green_led=1; |
wojt86 | 12:b6a803a6450e | 115 | blue_led=0; |
wojt86 | 12:b6a803a6450e | 116 | |
wojt86 | 12:b6a803a6450e | 117 | if (Acc_Z<0.8) |
wojt86 | 12:b6a803a6450e | 118 | if (Acc_Y>Acc_X) |
wojt86 | 12:b6a803a6450e | 119 | if (Acc_Y<0) |
wojt86 | 12:b6a803a6450e | 120 | Usbkeyboard.keyCode (RIGHT_ARROW); |
wojt86 | 12:b6a803a6450e | 121 | green_led=0; |
wojt86 | 12:b6a803a6450e | 122 | blue_led=1; |
wojt86 | 12:b6a803a6450e | 123 | |
wojt86 | 12:b6a803a6450e | 124 | } |
knasp | 11:73e8c1bb5467 | 125 | } |
wojt86 | 12:b6a803a6450e | 126 | */ |
wojt86 | 12:b6a803a6450e | 127 | |
wojt86 | 12:b6a803a6450e | 128 |