Program for FRDM-64k for read five accelerometers
Dependencies: FXOS8700CQ LSM303D MMA8451Q MPU6050 mbed
Fork of fxos8700cq_example by
Diff: main.cpp
- Revision:
- 2:237bd73c27e9
- Parent:
- 1:a7e3df03721c
- Child:
- 4:c6b4d8c152cd
--- a/main.cpp Thu Dec 01 08:28:52 2016 +0000 +++ b/main.cpp Mon Dec 05 09:16:43 2016 +0000 @@ -18,12 +18,11 @@ //objetos de los acelerometros -FXOS8700CQ fxos(SDA, SCL, FXOS8700CQ_SLAVE_ADDR1); // SDA, SCL, (addr << 1) MMA8451Q mma(SDA, SCL, MMA8451_I2C_ADDRESS); LSM303D lsm(SDA, SCL); ADXL335 adx(PTB2,PTB3,PTB10); MPU6050 mpu(SDA, SCL); - +FXOS8700CQ fxos(SDA, SCL, FXOS8700CQ_SLAVE_ADDR1); // SDA, SCL, (addr << 1) DigitalOut green(LED_GREEN); // waiting light DigitalOut blue(LED_BLUE); // collection-in-progress light @@ -60,7 +59,7 @@ void print_cabecera(){ pc.printf("T\t"); - for(int i=0;i<5;i++){ + for(int i=0;i<1;i++){ pc.printf("X%d\tY%d\tZ%d\t",i,i,i); } pc.printf("\r\n"); @@ -68,13 +67,14 @@ void print_data(){ - us_ellapsed= t.read_us()-beforePrint; - pc.printf("%d\t",us_ellapsed); - for(int i=0;i<5;i++){ - pc.printf("%+.4f\t%+.4f\t%+.4f\t", acc[i].x, acc[i].y, acc[i].z); + //us_ellapsed= t.read_us()-beforePrint; + pc.printf("%d\t",t.read_us()); + for(int i=0;i<1;i++){ + pc.printf("%+.5f\t\t", acc[i].z); + // pc.printf("%+.4f\t%+.4f\t%+.4f\t", acc[i].x, acc[i].y, acc[i].z); } pc.printf("\r\n"); - beforePrint=t.read_us(); + //beforePrint=t.read_us(); } @@ -97,10 +97,11 @@ { //acelerometro 0 + while(!fxos_int2_triggered && fxos_int2.read()==1){} fxos_int2_triggered = false; // un-trigger fxos.get_dataAcc(&acc[0]); // clear interrupt from device - + /* //acelerometro 1 acc[1].x=mma.getAccX(); acc[1].y=mma.getAccY(); @@ -118,6 +119,7 @@ //acclerometro 4 adx.getAcc(acc[4]); + */ } @@ -180,12 +182,14 @@ //inicializacion basico t.reset(); - pc.baud(115200); //probar con 460800 // Print quickly! 200Hz x line of output data! + pc.baud(230400); //probar con 460800 // Print quickly! 200Hz x line of output data! fxos_int2.fall(&trigger_fxos_int2); int_sw3.mode(PullUp); int_sw3.fall(&interruptSW3); + int_sw2.mode(PullUp); + // Lights off (FRDM-K64F has active-low LEDs) green.write(1); @@ -201,6 +205,11 @@ readAcc(); print_reading(); + green.write(0); + red.write(1); + blue.write(1); + + //esperar a pulsador while(!sw3_push){ wait_ms(50); @@ -208,13 +217,26 @@ pc.printf("Iniciando lectura de acelerometros\r\n"); + green.write(1); + red.write(1); + blue.write(0); + //lectura de todos los accelerometros t.start(); print_cabecera(); while(1){ readAcc(); print_data(); + if(int_sw2.read()==0) break; } + + green.write(1); + red.write(0); + blue.write(1); + + while(1){} + + }