código da seta v1

Dependencies:   MMA8451Q_ext mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "MMA8451Q.h"
00003 
00004 #define MMA8451_I2C_ADDRESS (0x1d<<1)
00005 
00006 Serial pc(USBTX, USBRX);
00007 MMA8451Q acelerometro(PTE25, PTE24, MMA8451_I2C_ADDRESS);
00008 
00009 DigitalOut Led_Vermelho(LED_RED);
00010 DigitalOut Led_Verde(LED_GREEN);
00011 DigitalOut Led_Azul(LED_BLUE);
00012 
00013 float max_sens_acc; // constante de ajuste de sensibilidade do acelerometro
00014 float min_sens_acc;
00015 
00016 int main(){
00017     float d_x;
00018     float d_y;
00019     float d_z;
00020     float old_x = 0;
00021     float old_y = 0;
00022     float old_z = 0;
00023     
00024     pc.printf("Definir sensibilidade maxima:");
00025     pc.scanf("%f", &max_sens_acc);
00026     pc.printf("Definir sensibilidade minima:");
00027     pc.scanf("%f", &min_sens_acc);
00028     pc.printf("\nmax_sens_acc: %f\n", max_sens_acc);
00029     pc.printf("min_sens_acc: %f\n", min_sens_acc);
00030     wait(1);
00031     
00032     while(1){
00033         d_x = abs(acelerometro.getAccX() - old_x);
00034         d_y = abs(acelerometro.getAccY() - old_y);
00035         d_z = abs(acelerometro.getAccZ() - old_z);
00036         
00037         
00038         if(d_x >= max_sens_acc) Led_Vermelho = 0;
00039         else if (d_x <= min_sens_acc) Led_Vermelho = 1;
00040         
00041         if(d_y >= max_sens_acc) Led_Verde = 0;
00042         else if(d_y <= min_sens_acc)Led_Verde = 1;
00043         
00044         if(d_z >= max_sens_acc) Led_Azul = 0;
00045         else if(d_z <= min_sens_acc) Led_Azul = 1;
00046         
00047         
00048         old_x = acelerometro.getAccX();
00049         old_y = acelerometro.getAccY();
00050         old_z = acelerometro.getAccZ();
00051         
00052         pc.printf("%f | %f | %f  || %f | %f | %f\n", d_x, d_y, d_z, old_x, old_y, old_z);
00053         //pc.printf("%f | %f || %f | %f\n", d_x, d_y, old_x, old_y);
00054         
00055        // wait(0.3);
00056     }
00057 }