Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: Q2PARTIE2.cpp
- Revision:
- 0:baf388d9e3b7
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Q2PARTIE2.cpp Sun Nov 18 14:16:29 2018 +0000
@@ -0,0 +1,58 @@
+// 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;
+//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)
+ {
+ for (i=0;i<=99;i=i++){
+
+ imu.readAccel();
+ imu.readGyro();
+ imu.readMag();
+ g = sqrt((imu.ax)*(imu.ax)+(imu.ay)*(imu.ay)+(imu.az)*(imu.az));
+ sina = (-1*imu.ay)/g;
+ angleroulis = asin(sina)*(180/3.1416);
+ sinb= imu.ax/g;
+ angletanguage = asin(sinb)*(180/3.1416);
+ pc.printf ("anglea= %f;angleb= %f\n\r",angleroulis,angletanguage);
+ myled = 1;
+ wait_ms(0.5);
+ }
+ myled = 0;
+
+ }
+}