accelerometer trial

Dependencies:   mbed C12832 MMA7660 USBDevice

Committer:
wojt86
Date:
Mon Oct 21 20:50:37 2019 +0000
Revision:
16:6b502d21abf4
Parent:
15:19bac11ed885
Child:
17:0b1c5f6dbb5c
updated

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