Browse Source

add basic example

lanselambor 7 years ago
parent
commit
ca7a67c8ac
2 changed files with 51 additions and 0 deletions
  1. 51 0
      examples/compass/compass.ino
  2. 0 0
      examples/figure8_calibration/figure8_calibration.ino

+ 51 - 0
examples/compass/compass.ino

@@ -0,0 +1,51 @@
+/**
+ * This example 
+*/
+
+#include <Arduino.h>
+#include <Wire.h>
+// libraries
+#include "bmm150.h"
+#include "bmm150_defs.h"
+
+BMM150 bmm = BMM150();
+
+void setup()
+{
+  Serial.begin(9600);
+
+  if(bmm.initialize() == BMM150_E_ID_NOT_CONFORM) {
+    Serial.println("Chip ID can not read!");
+    while(1);
+  } else {
+    Serial.println("Initialize done!");
+  }
+
+}
+
+void loop()
+{
+  bmm150_mag_data value;
+  bmm.read_mag_data();
+
+  value.x = bmm.raw_mag_data.raw_datax;
+  value.y = bmm.raw_mag_data.raw_datay;
+  value.z = bmm.raw_mag_data.raw_dataz;
+
+  float xyHeading = atan2(value.x, value.y);
+  float zxHeading = atan2(value.z, value.x);
+  float heading = xyHeading;
+
+  if(heading < 0)
+    heading += 2*PI;
+  if(heading > 2*PI)
+    heading -= 2*PI;
+  float headingDegrees = heading * 180/M_PI; 
+  float xyHeadingDegrees = xyHeading * 180 / M_PI;
+  float zxHeadingDegrees = zxHeading * 180 / M_PI;
+
+  Serial.print("Heading: ");
+  Serial.println(headingDegrees);
+  
+  delay(100);
+}

+ 0 - 0
examples/BMM150_Example/BMM150_Example.ino → examples/figure8_calibration/figure8_calibration.ino