dad

Dependencies:   mbed-os FXAS21000 LED_Bar FXOS8700Q

Committer:
mukundy8
Date:
Mon Mar 07 00:30:36 2022 +0000
Revision:
1:7a49fd0692fd
Parent:
0:838685d68d89
Child:
2:d08625231a9f
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
priyank12p 0:838685d68d89 1 #include "mbed.h"
priyank12p 0:838685d68d89 2 #include "FXOS8700Q.h"
priyank12p 0:838685d68d89 3 #include "FXAS21000.h"
priyank12p 0:838685d68d89 4 I2C i2c(PTE25, PTE24);
priyank12p 0:838685d68d89 5 Serial pc(USBTX,USBRX);
priyank12p 0:838685d68d89 6 FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR1); // Configured for the FRDM-K64F with onboard sensors
priyank12p 0:838685d68d89 7 FXOS8700QMagnetometer mag(i2c, FXOS8700CQ_SLAVE_ADDR1);
priyank12p 0:838685d68d89 8 FXAS21000 gyro(D14,D15);
priyank12p 0:838685d68d89 9 int main(void)
priyank12p 0:838685d68d89 10 {
priyank12p 0:838685d68d89 11 float gyro_data[3];
priyank12p 0:838685d68d89 12 motion_data_units_t acc_data, mag_data;
priyank12p 0:838685d68d89 13 motion_data_counts_t acc_raw, mag_raw;
priyank12p 0:838685d68d89 14 float faX, faY, faZ, fmX, fmY, fmZ, tmp_float;
priyank12p 0:838685d68d89 15 int16_t raX, raY, raZ, rmX, rmY, rmZ, tmp_int;
priyank12p 0:838685d68d89 16 acc.enable();
priyank12p 0:838685d68d89 17 mag.enable();
mukundy8 1:7a49fd0692fd 18 DigitalOut Red(LED1);
mukundy8 1:7a49fd0692fd 19 Red=1;
mukundy8 1:7a49fd0692fd 20 DigitalOut Blue(LED3);
mukundy8 1:7a49fd0692fd 21 DigitalOut Green(LED2);
mukundy8 1:7a49fd0692fd 22 Blue=1;
mukundy8 1:7a49fd0692fd 23 Green=1;
mukundy8 1:7a49fd0692fd 24
priyank12p 0:838685d68d89 25 while (true) {
priyank12p 0:838685d68d89 26 // counts based results
priyank12p 0:838685d68d89 27 acc.getAxis(acc_raw);
priyank12p 0:838685d68d89 28 mag.getAxis(mag_raw);
priyank12p 0:838685d68d89 29 acc.getX(raX);
priyank12p 0:838685d68d89 30 acc.getY(raY);
priyank12p 0:838685d68d89 31 acc.getZ(raZ);
priyank12p 0:838685d68d89 32 mag.getX(rmX);
priyank12p 0:838685d68d89 33 mag.getY(rmY);
priyank12p 0:838685d68d89 34 mag.getZ(rmZ);
priyank12p 0:838685d68d89 35 // unit based results
priyank12p 0:838685d68d89 36 acc.getAxis(acc_data);
priyank12p 0:838685d68d89 37 mag.getAxis(mag_data);
priyank12p 0:838685d68d89 38 acc.getX(faX);
priyank12p 0:838685d68d89 39 acc.getY(faY);
priyank12p 0:838685d68d89 40 acc.getZ(faZ);
priyank12p 0:838685d68d89 41 mag.getX(fmX);
priyank12p 0:838685d68d89 42 mag.getY(fmY);
priyank12p 0:838685d68d89 43 mag.getZ(fmZ);
mukundy8 1:7a49fd0692fd 44 pc.printf("FXOSQ8700Q ACC: X=%1.4f Y=%1.4f Z=%1.4f", acc.getX(faX),acc.getY(faY),acc.getZ(faZ));
mukundy8 1:7a49fd0692fd 45 pc.printf(" MAG: X=%4.1f Y=%4.1f Z=%4.1f\r\n", mag.getX(fmX),mag.getY(fmY), mag.getZ(fmZ));
priyank12p 0:838685d68d89 46 gyro.ReadXYZ(gyro_data);
mukundy8 1:7a49fd0692fd 47 pc.printf("FXAS21000 Gyro: X=%6.2f Y=%6.2f Z=%6.2f\r\n", gyro_data[0],gyro_data[1], gyro_data[2]);
mukundy8 1:7a49fd0692fd 48
mukundy8 1:7a49fd0692fd 49
mukundy8 1:7a49fd0692fd 50 if(abs(acc.getX(faX)) > 1.5 || abs(acc.getZ(faZ)) > 1.3 || abs(acc.getY(faY)) > 0.1)
mukundy8 1:7a49fd0692fd 51 {
mukundy8 1:7a49fd0692fd 52
mukundy8 1:7a49fd0692fd 53 Red = 0;
mukundy8 1:7a49fd0692fd 54 Blue = 1;
mukundy8 1:7a49fd0692fd 55 Green = 1;
mukundy8 1:7a49fd0692fd 56
mukundy8 1:7a49fd0692fd 57 }
mukundy8 1:7a49fd0692fd 58
mukundy8 1:7a49fd0692fd 59
mukundy8 1:7a49fd0692fd 60 else{
mukundy8 1:7a49fd0692fd 61
mukundy8 1:7a49fd0692fd 62 Red = 1;
mukundy8 1:7a49fd0692fd 63 Green = 0;
mukundy8 1:7a49fd0692fd 64 Blue = 1;
mukundy8 1:7a49fd0692fd 65 };
priyank12p 0:838685d68d89 66 wait(1.0f);
priyank12p 0:838685d68d89 67 }
priyank12p 0:838685d68d89 68 }