class IMU nucleo
Dependents: Coupe-Robotique-FIP-Main
Fork of IMU_FIP by
main.cpp@4:7e75dae22ddb, 2015-05-21 (annotated)
- Committer:
- quentin9696
- Date:
- Thu May 21 10:54:31 2015 +0000
- Revision:
- 4:7e75dae22ddb
Ajout IMU
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
quentin9696 | 4:7e75dae22ddb | 1 | #include "mbed.h" |
quentin9696 | 4:7e75dae22ddb | 2 | #include "x_cube_mems.h" |
quentin9696 | 4:7e75dae22ddb | 3 | |
quentin9696 | 4:7e75dae22ddb | 4 | |
quentin9696 | 4:7e75dae22ddb | 5 | |
quentin9696 | 4:7e75dae22ddb | 6 | DigitalOut myled(LED1); |
quentin9696 | 4:7e75dae22ddb | 7 | Serial pc(SERIAL_TX, SERIAL_RX); |
quentin9696 | 4:7e75dae22ddb | 8 | volatile float TEMPERATURE_Value_C; |
quentin9696 | 4:7e75dae22ddb | 9 | volatile float TEMPERATURE_Value_F; |
quentin9696 | 4:7e75dae22ddb | 10 | volatile float HUMIDITY_Value; |
quentin9696 | 4:7e75dae22ddb | 11 | volatile float PRESSURE_Value; |
quentin9696 | 4:7e75dae22ddb | 12 | volatile AxesRaw_TypeDef MAG_Value; |
quentin9696 | 4:7e75dae22ddb | 13 | volatile AxesRaw_TypeDef ACC_Value; |
quentin9696 | 4:7e75dae22ddb | 14 | volatile AxesRaw_TypeDef GYR_Value; |
quentin9696 | 4:7e75dae22ddb | 15 | |
quentin9696 | 4:7e75dae22ddb | 16 | int main() { |
quentin9696 | 4:7e75dae22ddb | 17 | |
quentin9696 | 4:7e75dae22ddb | 18 | /* Create sensor board object */ |
quentin9696 | 4:7e75dae22ddb | 19 | static X_CUBE_MEMS *mems_expansion_board = X_CUBE_MEMS::Instance(); |
quentin9696 | 4:7e75dae22ddb | 20 | |
quentin9696 | 4:7e75dae22ddb | 21 | while(1) { |
quentin9696 | 4:7e75dae22ddb | 22 | myled = 1; // LED is ON |
quentin9696 | 4:7e75dae22ddb | 23 | wait(0.2); // 200 ms |
quentin9696 | 4:7e75dae22ddb | 24 | myled = 0; // LED is OFF |
quentin9696 | 4:7e75dae22ddb | 25 | wait(1.0); // 1 sec |
quentin9696 | 4:7e75dae22ddb | 26 | |
quentin9696 | 4:7e75dae22ddb | 27 | /* Get instantaneous data from all sensors */ |
quentin9696 | 4:7e75dae22ddb | 28 | |
quentin9696 | 4:7e75dae22ddb | 29 | |
quentin9696 | 4:7e75dae22ddb | 30 | mems_expansion_board->hts221.GetTemperature((float *)&TEMPERATURE_Value_C); |
quentin9696 | 4:7e75dae22ddb | 31 | mems_expansion_board->hts221.GetHumidity((float *)&HUMIDITY_Value); |
quentin9696 | 4:7e75dae22ddb | 32 | mems_expansion_board->lps25h.GetPressure((float *)&PRESSURE_Value); |
quentin9696 | 4:7e75dae22ddb | 33 | mems_expansion_board->lis3mdl.GetAxes((AxesRaw_TypeDef *)&MAG_Value); |
quentin9696 | 4:7e75dae22ddb | 34 | mems_expansion_board->lsm6ds0.Acc_GetAxes((AxesRaw_TypeDef *)&ACC_Value); |
quentin9696 | 4:7e75dae22ddb | 35 | mems_expansion_board->lsm6ds0.Gyro_GetAxes((AxesRaw_TypeDef *)&GYR_Value); |
quentin9696 | 4:7e75dae22ddb | 36 | |
quentin9696 | 4:7e75dae22ddb | 37 | TEMPERATURE_Value_F = (TEMPERATURE_Value_C * 1.8f) + 32.0f; |
quentin9696 | 4:7e75dae22ddb | 38 | pc.printf("Temperature:\t\t %f C / %f F\r\n", TEMPERATURE_Value_C, TEMPERATURE_Value_F); |
quentin9696 | 4:7e75dae22ddb | 39 | pc.printf("Humidity:\t\t %f%%\r\n", HUMIDITY_Value); |
quentin9696 | 4:7e75dae22ddb | 40 | pc.printf("Pressure:\t\t %f hPa\r\n", PRESSURE_Value); |
quentin9696 | 4:7e75dae22ddb | 41 | pc.printf("Magnetometer (mGauss):\t X: %d, Y: %d, Z: %d\r\n", MAG_Value.AXIS_X, MAG_Value.AXIS_Y, MAG_Value.AXIS_Z); |
quentin9696 | 4:7e75dae22ddb | 42 | pc.printf("Accelerometer (mg):\t X: %d, Y: %d, Z: %d\r\n", ACC_Value.AXIS_X, ACC_Value.AXIS_Y, ACC_Value.AXIS_Z); |
quentin9696 | 4:7e75dae22ddb | 43 | pc.printf("Gyroscope (mdps):\t X: %d, Y: %d, Z: %d\r\n", GYR_Value.AXIS_X, GYR_Value.AXIS_Y, GYR_Value.AXIS_Z); |
quentin9696 | 4:7e75dae22ddb | 44 | pc.printf("\r\n"); |
quentin9696 | 4:7e75dae22ddb | 45 | } |
quentin9696 | 4:7e75dae22ddb | 46 | } |