
Example code which shows how to get data from sensors on the Nucleo sensors board.
Dependencies: Nucleo_Sensor_Shield mbed
Fork of Nucleo_Sensors_Demo_Old by
main.cpp
00001 #include "mbed.h" 00002 #include "x_cube_mems.h" 00003 00004 DigitalOut myled(LED1); 00005 Serial pc(SERIAL_TX, SERIAL_RX); 00006 volatile float TEMPERATURE_Value_C; 00007 volatile float TEMPERATURE_Value_F; 00008 volatile float HUMIDITY_Value; 00009 volatile float PRESSURE_Value; 00010 volatile AxesRaw_TypeDef MAG_Value; 00011 volatile AxesRaw_TypeDef ACC_Value; 00012 volatile AxesRaw_TypeDef GYR_Value; 00013 00014 int main() { 00015 00016 /* Create sensor board object */ 00017 static X_CUBE_MEMS *mems_expansion_board = X_CUBE_MEMS::Instance(); 00018 00019 while(1) { 00020 myled = 1; // LED is ON 00021 wait(0.2); // 200 ms 00022 myled = 0; // LED is OFF 00023 wait(1.0); // 1 sec 00024 00025 /* Get instantaneous data from all sensors */ 00026 mems_expansion_board->hts221.GetTemperature((float *)&TEMPERATURE_Value_C); 00027 mems_expansion_board->hts221.GetHumidity((float *)&HUMIDITY_Value); 00028 mems_expansion_board->lps25h.GetPressure((float *)&PRESSURE_Value); 00029 mems_expansion_board->lis3mdl.GetAxes((AxesRaw_TypeDef *)&MAG_Value); 00030 mems_expansion_board->lsm6ds0.Acc_GetAxes((AxesRaw_TypeDef *)&ACC_Value); 00031 mems_expansion_board->lsm6ds0.Gyro_GetAxes((AxesRaw_TypeDef *)&GYR_Value); 00032 00033 TEMPERATURE_Value_F = (TEMPERATURE_Value_C * 1.8f) + 32.0f; 00034 pc.printf("Temperature:\t\t %f C / %f F\r\n", TEMPERATURE_Value_C, TEMPERATURE_Value_F); 00035 pc.printf("Humidity:\t\t %f%%\r\n", HUMIDITY_Value); 00036 pc.printf("Pressure:\t\t %f hPa\r\n", PRESSURE_Value); 00037 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); 00038 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); 00039 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); 00040 pc.printf("\r\n"); 00041 } 00042 }
Generated on Sun Jul 24 2022 07:04:23 by
