2 buttons and 2 switches, compiles, not tested

Dependencies:   mbed C12832 MMA7660 USBDevice

Committer:
knasp
Date:
Thu Oct 17 19:10:26 2019 +0000
Revision:
14:116f94a428c9
Parent:
11:73e8c1bb5467
Child:
15:19bac11ed885
NEW VERSION

Who changed what in which revision?

UserRevisionLine numberNew 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);
knasp 11:73e8c1bb5467 7 USBKeyboard Usbkeyboard;
knasp 11:73e8c1bb5467 8 C12832 LCD (p5,p7,p6,p8,p11);
knasp 14:116f94a428c9 9 DigitalOut led(p23);
knasp 14:116f94a428c9 10
knasp 14:116f94a428c9 11
knasp 9:66681432403a 12
knasp 11:73e8c1bb5467 13 int main (void)
knasp 11:73e8c1bb5467 14 {
knasp 14:116f94a428c9 15 //enum Orientation {Up, Down,Right, Left,Back, Front,Unknown};
knasp 14:116f94a428c9 16 MMA7660::Orientation myOrientation;
knasp 14:116f94a428c9 17
knasp 14:116f94a428c9 18 while (true) {
knasp 14:116f94a428c9 19
knasp 14:116f94a428c9 20 myOrientation = Accelerometer.getOrientation ();
knasp 14:116f94a428c9 21
knasp 14:116f94a428c9 22 if (myOrientation == MMA7660::Up){
knasp 14:116f94a428c9 23
knasp 14:116f94a428c9 24 LCD.printf("Up");
knasp 14:116f94a428c9 25 Usbkeyboard.keyCode (UP_ARROW);
knasp 14:116f94a428c9 26 }
knasp 14:116f94a428c9 27 else if (myOrientation == MMA7660::Down){
knasp 14:116f94a428c9 28
knasp 14:116f94a428c9 29 LCD.printf("Down");
knasp 14:116f94a428c9 30 Usbkeyboard.keyCode (DOWN_ARROW);
knasp 14:116f94a428c9 31 }
knasp 14:116f94a428c9 32 else if (myOrientation == MMA7660::Left){
knasp 14:116f94a428c9 33
knasp 14:116f94a428c9 34 LCD.printf("Left");
knasp 14:116f94a428c9 35 Usbkeyboard.keyCode (LEFT_ARROW);
knasp 14:116f94a428c9 36 }
knasp 14:116f94a428c9 37 else if (myOrientation == MMA7660::Right){
knasp 14:116f94a428c9 38
knasp 14:116f94a428c9 39 LCD.printf("Right");
knasp 14:116f94a428c9 40 Usbkeyboard.keyCode (RIGHT_ARROW);
knasp 14:116f94a428c9 41 }
knasp 14:116f94a428c9 42 else if (myOrientation == MMA7660::Front){
knasp 14:116f94a428c9 43
knasp 14:116f94a428c9 44 LCD.printf("Front");
knasp 14:116f94a428c9 45 }
knasp 14:116f94a428c9 46 else if (myOrientation == MMA7660::Unknown){
knasp 14:116f94a428c9 47
knasp 14:116f94a428c9 48 LCD.printf("Don't Know");
knasp 14:116f94a428c9 49 }
knasp 14:116f94a428c9 50
knasp 14:116f94a428c9 51 /*
knasp 11:73e8c1bb5467 52 float Acc_X = 0;
knasp 11:73e8c1bb5467 53 float Acc_Y = 0;
knasp 11:73e8c1bb5467 54 float Acc_Z = 0;
knasp 10:150f8d03f18d 55
knasp 11:73e8c1bb5467 56 while (true) {
knasp 9:66681432403a 57
knasp 11:73e8c1bb5467 58 Acc_X = Accelerometer.x ();
knasp 11:73e8c1bb5467 59 Acc_Y = Accelerometer.y ();
knasp 11:73e8c1bb5467 60 Acc_Z = Accelerometer.z ();
knasp 9:66681432403a 61
knasp 11:73e8c1bb5467 62 LCD.cls (); //LCD display showing the coordinates (turn off when submitting the program as only per programing
knasp 11:73e8c1bb5467 63 LCD.locate (0,0);
knasp 11:73e8c1bb5467 64 LCD.printf("X Axis: %f",Acc_X);
knasp 11:73e8c1bb5467 65 LCD.locate (0,10);
knasp 11:73e8c1bb5467 66 LCD.printf("Y Axis: %f",Acc_Y);
knasp 11:73e8c1bb5467 67 LCD.locate (0,20);
knasp 11:73e8c1bb5467 68 LCD.printf("Z Axis: %f",Acc_Z);
knasp 9:66681432403a 69
knasp 11:73e8c1bb5467 70 wait (0.00000000001);
knasp 10:150f8d03f18d 71
knasp 14:116f94a428c9 72 if (led=1);
knasp 14:116f94a428c9 73
knasp 11:73e8c1bb5467 74 if (Acc_Y>0.08) { //Y axis program
knasp 11:73e8c1bb5467 75 // Usbkeyboard.printf("w\0");
knasp 11:73e8c1bb5467 76 Usbkeyboard.keyCode (UP_ARROW);
knasp 11:73e8c1bb5467 77 } else if (Acc_Y<0.08) {
knasp 11:73e8c1bb5467 78 // Usbkeyboard.printf("s\0");
knasp 11:73e8c1bb5467 79 Usbkeyboard.keyCode (DOWN_ARROW);
knasp 11:73e8c1bb5467 80 }
knasp 11:73e8c1bb5467 81 if (Acc_X>0.08) { //X axis program
knasp 11:73e8c1bb5467 82 //Usbkeyboard.printf("w\0");
knasp 11:73e8c1bb5467 83 Usbkeyboard.keyCode (LEFT_ARROW);
knasp 11:73e8c1bb5467 84 } else if (Acc_X<0.0) {
knasp 11:73e8c1bb5467 85 //Usbkeyboard.printf("s\0");
knasp 11:73e8c1bb5467 86 Usbkeyboard.keyCode (RIGHT_ARROW);
knasp 11:73e8c1bb5467 87 }
knasp 11:73e8c1bb5467 88 /*
knasp 11:73e8c1bb5467 89 if (Acc_Z>1.5) { //Z axis program - work in progress
knasp 11:73e8c1bb5467 90 Usbkeyboard.printf("w\0");
knasp 11:73e8c1bb5467 91 //Usbkeyboard.keyCode (LEFT_ARROW);
knasp 11:73e8c1bb5467 92 } elses if (Acc_Z<1.5) {
knasp 11:73e8c1bb5467 93 Usbskeyboard.printf("s\0");
knasp 11:73e8c1bb5467 94 //Ussbkeyboard.keyCode (RIGHT_ARROW);
knasp 11:73e8c1bb5467 95 }
knasp 11:73e8c1bb5467 96 */
knasp 14:116f94a428c9 97 }
knasp 11:73e8c1bb5467 98 return false;
knasp 11:73e8c1bb5467 99 }