David Rodriguez Douglas Gonzalez

Dependencies:   MMA8451Q TSI USBDevice WakeUp mbed

Fork of labusb by Douglas Gonzalez

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "USBMouse.h"
00003 #include "MMA8451Q.h"
00004 #include "TSISensor.h"
00005 #include "WakeUp.h"
00006 
00007 #define MMA8451_I2C_ADDRESS (0x1d<<1)
00008 
00009 USBMouse raton;
00010 DigitalOut myled(LED2);
00011 InterruptIn boton(PTD4);
00012 
00013 bool dormido = false;
00014 
00015 void dormir() {
00016     dormido = !dormido;
00017     myled = !myled;
00018 }
00019 
00020 int main()
00021 {
00022     //TSISensor tsi;
00023     MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
00024     AnalogIn   potx(A0);
00025     AnalogIn   poty(A1);
00026     boton.rise(&dormir);
00027     
00028     float velx = 0;
00029     float vely = 0;
00030     
00031     float x = 0;
00032     
00033     while (1) {
00034         if(dormido) {
00035             sleep();
00036         } else {
00037             x = -10*acc.getAccY();
00038             
00039             velx = potx*20 - 16;
00040             vely = poty*20 - 15;
00041             
00042             raton.move(velx, vely);
00043             
00044             if (x>5)
00045                 raton.press(MOUSE_LEFT);
00046             else
00047                 raton.release(MOUSE_LEFT);
00048             if(x<-5)
00049                 raton.press(MOUSE_RIGHT);
00050             else
00051                 raton.release(MOUSE_RIGHT);
00052         }  
00053     }
00054 }