test

Dependencies:   mbed MMA8452Q

Fork of HelloWorld by Simon Ford

main.cpp

Committer:
vincentlabbe
Date:
2017-08-31
Revision:
16:0b58c14b639d
Parent:
15:b4b2e73faefb
Child:
17:c463c5a434ec

File content as of revision 16:0b58c14b639d:

#include "mbed.h"    
#include "MMA8452Q.h"

Serial pc(USBTX, USBRX); // tx, rx
SPI accel(p11,p12,p13);
DigitalOut cs(p14);
// Communication I2C
//I2C comI2C(p9,p10); // sda, scl

int main() {
    
     //float x, y, z ;
 
     MMA8452Q acc(p9,p10,0x1d);     // acceleration object
 
     //while (true) {       
        // x = acc.getAccX() ;
        // y = acc.getAccY() ;
        // z = acc.getAccZ() ;
        // printf("X[%.2f] Y[%.2f] Z[%.2f]\n",x, y, z) ;
         wait(0.1);

       // float angle = ((2*x*x+2*y*y)/(x*x+y*y+z*z))+1;
        
        float resultat = (3.14/2.0) -( z + (z *z * z)/6.0 + (3*z*z*z*z*z)/40.0);
        pc.printf("valeur rad = %f", resultat);
        float degree = resultat * 18000.0/314.0;
        pc.printf("valeur deg = %f", degree);
        degree = degree * 10;
        int degreInt = (int)degree;
        pc.printf("valeur deg = %d", degreInt);
         
        int rep;
         // extracting digits
        int digits[4] = {0,0,0,0};
        int i = 0;
        while(degreInt > 0) {
        rep = degreInt % 10; //to get the right most digit
        digits[i]=rep;
        pc.printf("digit %d = %d, degree int: %d", i, digits[i], degreInt);
        degreInt /= 10;              //reduce the number by one digit
        ++i;
        }
        //digits[i]='\0'    //terminate the string
         
         
         
         
         cs = 0;
         accel.write(digits[3]);
         cs = 1;
         wait(2);
         cs = 0;
         accel.write(digits[2]);
         cs = 1;
         wait(2);
         cs = 0;
         accel.write(digits[1]);
         cs = 1;
         wait(2);
         cs = 0;
         accel.write(digits[0]);
         cs = 1;
         wait(2);
         wait(1); 
        
}


/* communication SPI 
Serial pc(USBTX, USBRX); // tx, rx
SPI acc(p11,p12,p13);
DigitalOut cs(p14);
int main() {
    while(1){
    int nombre = 0;
    pc.printf("Entrez un nombre de 4 chiffres : ");
    pc.scanf("%d", &nombre);
    pc.printf("Votre numero entrez est le : %d", nombre);
  
    cs = 0;
    acc.write(nombre);
    cs = 1;
    wait(0.2);
    cs = 0;
    wait(1);
    }
}*/
 /*
Serial pc(USBTX, USBRX); // tx, rx
Serial mc(p13,p14);
int main() {
    
    int nombre = 0;
    pc.printf("Entrez un nombre de 4 chiffres : ");
    pc.scanf("%d", &nombre);
    pc.printf("Votre numero entrez est le : %d", nombre);
    mc.printf(nombre);
}
 */


/*
DigitalOut myled(LED2);

int main() {
    while(1) {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}
*/