louis VERZELLESI
/
TP1
1
Diff: Q1PARTIE3.cpp
- Revision:
- 0:baf388d9e3b7
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Q1PARTIE3.cpp Sun Nov 18 14:16:29 2018 +0000 @@ -0,0 +1,53 @@ +// LSM9DS91 Demo + +#include "mbed.h" +#include "LSM9DS1.h" + +// refresh time. set to 500 for part 2 and 50 for part 4 +#define REFRESH_TIME_MS 1000 + +// Verify that the pin assignments below match your breadboard +LSM9DS1 imu(p9, p10); +Serial pc(USBTX, USBRX); +LocalFileSystem local("local"); +DigitalOut myled(LED1); +int i; +float j; +float g; +float sina; +float angleroulis; +float angletanguage; +float sinb; +float theta; +//Init Serial port and LSM9DS1 chip +void setup() +{ + // Use the begin() function to initialize the LSM9DS0 library. + // You can either call it with no parameters (the easy way): + uint16_t status = imu.begin(); + + //Make sure communication is working + pc.printf("LSM9DS1 WHO_AM_I's returned: 0x%X\r\n", status); + pc.printf("Should be 0x683D\r\n"); +} + +int main() +{ + + setup(); //Setup sensor and Serial + pc.printf("------ LSM9DS1 Demo -----------\r\n"); + + while (true) + { + myled = 1; + for (i=0;i<=99;i=i++){ + imu.readAccel(); + imu.readGyro(); + imu.readMag(); + theta = atan(imu.my/imu.mx)*(180/3.1416); + pc.printf ("theta= %f\n\r",theta); + myled = 1; + wait_ms(0.8); + } + } +}