2 buttons and 2 switches, compiles, not tested

Dependencies:   mbed C12832 MMA7660 USBDevice

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?

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"
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 }