Shape shifter - controller

Dependencies:   DebounceIn MMA8451Q USBDevice mbed

Committer:
Maskax
Date:
Wed Sep 16 23:40:54 2015 +0000
Revision:
0:a80df48a0372
HW3_ShapeShifter_ED

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Maskax 0:a80df48a0372 1 #include "mbed.h"
Maskax 0:a80df48a0372 2 //#include "PinDetect.h"
Maskax 0:a80df48a0372 3 #include "MMA8451Q.h"
Maskax 0:a80df48a0372 4 #include "USBKeyboard.h"
Maskax 0:a80df48a0372 5
Maskax 0:a80df48a0372 6 USBKeyboard key;
Maskax 0:a80df48a0372 7
Maskax 0:a80df48a0372 8 // define I2C Pins and address for KL25Z. Taken from default sample code.
Maskax 0:a80df48a0372 9 PinName const SDA = PTE25;
Maskax 0:a80df48a0372 10 PinName const SCL = PTE24;
Maskax 0:a80df48a0372 11 //PinDetect P0(D2);
Maskax 0:a80df48a0372 12
Maskax 0:a80df48a0372 13 #define MMA8451_I2C_ADDRESS (0x1d<<1)
Maskax 0:a80df48a0372 14
Maskax 0:a80df48a0372 15 //serial connection to PC via USB
Maskax 0:a80df48a0372 16 //Serial pc(USBTX, USBRX);
Maskax 0:a80df48a0372 17
Maskax 0:a80df48a0372 18 int main(void)
Maskax 0:a80df48a0372 19 {
Maskax 0:a80df48a0372 20 //configure on-board I2C accelerometer on KL25Z
Maskax 0:a80df48a0372 21 MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
Maskax 0:a80df48a0372 22 //map read acceleration to PWM output on red status LED
Maskax 0:a80df48a0372 23
Maskax 0:a80df48a0372 24 while (true) {
Maskax 0:a80df48a0372 25 float x, y, z;
Maskax 0:a80df48a0372 26 x = acc.getAccX();
Maskax 0:a80df48a0372 27 y = acc.getAccY();
Maskax 0:a80df48a0372 28 wait(0.05f);
Maskax 0:a80df48a0372 29
Maskax 0:a80df48a0372 30 while (y<-0.2){
Maskax 0:a80df48a0372 31 key.keyCode(LEFT_ARROW);
Maskax 0:a80df48a0372 32 x = acc.getAccX();
Maskax 0:a80df48a0372 33 y = acc.getAccY();
Maskax 0:a80df48a0372 34 //key.printf("left arrow\n");
Maskax 0:a80df48a0372 35 if (x<-1.9)
Maskax 0:a80df48a0372 36 {
Maskax 0:a80df48a0372 37 // key.printf("Salto\n");
Maskax 0:a80df48a0372 38 key.keyCode(UP_ARROW);
Maskax 0:a80df48a0372 39 wait(0.3f);
Maskax 0:a80df48a0372 40 }
Maskax 0:a80df48a0372 41 }
Maskax 0:a80df48a0372 42 while (y>0.2){
Maskax 0:a80df48a0372 43 key.keyCode(RIGHT_ARROW);
Maskax 0:a80df48a0372 44 x = acc.getAccX();
Maskax 0:a80df48a0372 45 y = acc.getAccY();
Maskax 0:a80df48a0372 46 //key.printf("right arrow\n");
Maskax 0:a80df48a0372 47 if (x<-1.9)
Maskax 0:a80df48a0372 48 {
Maskax 0:a80df48a0372 49 // key.printf("Salto\n");
Maskax 0:a80df48a0372 50 key.keyCode(UP_ARROW);
Maskax 0:a80df48a0372 51 wait(0.3f);
Maskax 0:a80df48a0372 52 }
Maskax 0:a80df48a0372 53 }
Maskax 0:a80df48a0372 54 if (x<-1.9)
Maskax 0:a80df48a0372 55 {
Maskax 0:a80df48a0372 56 // key.printf("Salto\n");
Maskax 0:a80df48a0372 57 key.keyCode(UP_ARROW);
Maskax 0:a80df48a0372 58 x = acc.getAccX();
Maskax 0:a80df48a0372 59 wait(0.3f);
Maskax 0:a80df48a0372 60 }
Maskax 0:a80df48a0372 61 //wait(0.5);*/
Maskax 0:a80df48a0372 62 }
Maskax 0:a80df48a0372 63 }