2 buttons and 2 switches, compiles, not tested
Dependencies: mbed C12832 MMA7660 USBDevice
main.cpp@13:d29eb4570e27, 2019-10-16 (annotated)
- Committer:
- wojt86
- Date:
- Wed Oct 16 14:23:08 2019 +0000
- Revision:
- 13:d29eb4570e27
- Parent:
- 12:b6a803a6450e
pins update
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" |
wojt86 | 13:d29eb4570e27 | 5 | |
knasp | 11:73e8c1bb5467 | 6 | MMA7660 Accelerometer (p28,p27); |
wojt86 | 13:d29eb4570e27 | 7 | |
knasp | 11:73e8c1bb5467 | 8 | USBKeyboard Usbkeyboard; |
knasp | 11:73e8c1bb5467 | 9 | C12832 LCD (p5,p7,p6,p8,p11); |
wojt86 | 13:d29eb4570e27 | 10 | BusOut red_led(p12); |
wojt86 | 13:d29eb4570e27 | 11 | BusOut yellow_led(p13); |
wojt86 | 13:d29eb4570e27 | 12 | BusOut blue_led(p14); |
wojt86 | 13:d29eb4570e27 | 13 | BusOut green_led(p15); |
wojt86 | 13:d29eb4570e27 | 14 | |
knasp | 11:73e8c1bb5467 | 15 | int main (void) |
knasp | 11:73e8c1bb5467 | 16 | { |
wojt86 | 13:d29eb4570e27 | 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; |
wojt86 | 13:d29eb4570e27 | 21 | |
knasp | 11:73e8c1bb5467 | 22 | while (true) { |
wojt86 | 13:d29eb4570e27 | 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 (); |
wojt86 | 13:d29eb4570e27 | 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); |
wojt86 | 13:d29eb4570e27 | 35 | |
knasp | 11:73e8c1bb5467 | 36 | wait (0.00000000001); |
wojt86 | 13:d29eb4570e27 | 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 | 13:d29eb4570e27 | 50 | } else if (Acc_Y<0.25) { |
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 | 13:d29eb4570e27 | 55 | } else if (Acc_Y<-0.25) { |
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 | 13:d29eb4570e27 | 71 | } else if (Acc_X<0.9) { |
wojt86 | 12:b6a803a6450e | 72 | green_led=0; |
wojt86 | 12:b6a803a6450e | 73 | blue_led=0; |
wojt86 | 12:b6a803a6450e | 74 | |
wojt86 | 13:d29eb4570e27 | 75 | } else if (Acc_X<-0.9) { |
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 | 13:d29eb4570e27 | 89 | } |
wojt86 | 13:d29eb4570e27 | 90 | } |