accelerometer trial

Dependencies:   mbed C12832 MMA7660 USBDevice

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?

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);
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