Created
July 6, 2017 14:48
-
-
Save Happsson/b7d06a5f5f0a2284fdd183b7f9588c28 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Wire.h> | |
#include <Adafruit_Sensor.h> | |
#include <Adafruit_BNO055.h> | |
#include <utility/imumaths.h> | |
#include <EEPROM.h> | |
#include <SPI.h> | |
#define BNO055_SAMPLERATE_DELAY_MS (16) //16.6666 ms equals 60fps. | |
Adafruit_BNO055 bno = Adafruit_BNO055(55); | |
void setup(void){ | |
/* | |
WiFi.softAPdisconnect(true); | |
WiFi.disconnect(true); | |
ESP.eraseConfig(); | |
ESP.reset(); | |
*/ | |
Serial.begin(115200); | |
sensor_t sensor; | |
if (!bno.begin()) | |
{ | |
Serial.print("Ooops, no BNO055 detected ... Check your wiring or I2C ADDR!"); | |
while (1); | |
} | |
setHardcodedCalibrationData(); | |
bno.setExtCrystalUse(true); | |
Serial.println("bno initialized and calibration is set"); | |
} | |
void setHardcodedCalibrationData(){ | |
adafruit_bno055_offsets_t calibrationData; | |
calibrationData.accel_offset_x = 0; | |
calibrationData.accel_offset_y = 65500; | |
calibrationData.accel_offset_z = 16; | |
calibrationData.gyro_offset_x = 4; | |
calibrationData.gyro_offset_y = 65535; | |
calibrationData.gyro_offset_z = 1; | |
calibrationData.mag_offset_z = 16; | |
calibrationData.mag_offset_x = 4; | |
calibrationData.mag_offset_y = 65535; | |
calibrationData.accel_radius = 1000; | |
calibrationData.mag_radius = 749; | |
bno.setSensorOffsets(calibrationData); | |
} | |
void getAndSendSensorData(){ | |
sensors_event_t event; | |
bno.getEvent(&event); | |
imu::Vector<3> euler = bno.getVector(Adafruit_BNO055::VECTOR_EULER); | |
s = ""; | |
s+= "x"; | |
s += euler.x(); | |
s += " y"; | |
s += euler.y(); | |
s += " z"; | |
s += euler.z(); | |
s += "a"; | |
/* | |
s = ""; | |
s+= "x"; | |
s += event.orientation.x; | |
s += " y"; | |
s += event.orientation.y; | |
s += " z"; | |
s += event.orientation.z; | |
s += "a"; | |
*/ | |
Serial.print(s); | |
} | |
void loop(void){ | |
getAndSendSensorData(); | |
delay(BNO055_SAMPLERATE_DELAY_MS); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment