80 lines
1.4 KiB
C++
80 lines
1.4 KiB
C++
//
|
|
// FILE: GY521_angle.ino
|
|
// AUTHOR: Rob Tillaart
|
|
// PURPOSE: read angleX, angleY, angleZ
|
|
// URL: https://github.com/RobTillaart/GY521
|
|
|
|
|
|
#include "GY521.h"
|
|
|
|
GY521 sensor(0x68);
|
|
|
|
uint32_t counter = 0;
|
|
|
|
|
|
void setup()
|
|
{
|
|
Serial.begin(115200);
|
|
Serial.println();
|
|
Serial.println(__FILE__);
|
|
Serial.print("GY521_LIB_VERSION: ");
|
|
Serial.println(GY521_LIB_VERSION);
|
|
|
|
Wire.begin();
|
|
|
|
delay(100);
|
|
while (sensor.wakeup() == false)
|
|
{
|
|
Serial.print(millis());
|
|
Serial.println("\tCould not connect to GY521: please check the GY521 address (0x68/0x69)");
|
|
delay(1000);
|
|
}
|
|
sensor.setAccelSensitivity(2); // 8g
|
|
sensor.setGyroSensitivity(1); // 500 degrees/s
|
|
|
|
sensor.setThrottle();
|
|
Serial.println("start...");
|
|
|
|
// set calibration values from calibration sketch.
|
|
sensor.axe = 0;
|
|
sensor.aye = 0;
|
|
sensor.aze = 0;
|
|
sensor.gxe = 0;
|
|
sensor.gye = 0;
|
|
sensor.gze = 0;
|
|
|
|
}
|
|
|
|
|
|
void loop()
|
|
{
|
|
sensor.read();
|
|
float x = sensor.getAngleX();
|
|
float y = sensor.getAngleY();
|
|
float z = sensor.getAngleZ();
|
|
|
|
float gx = sensor.getGyroX();
|
|
float gy = sensor.getGyroY();
|
|
float gz = sensor.getGyroZ();
|
|
|
|
if (counter % 10 == 0)
|
|
{
|
|
// Serial.println("\nCNT\tX\tY\tZ");
|
|
}
|
|
|
|
// Serial.print(counter);
|
|
// Serial.print('\t');
|
|
Serial.print(gx, 1);
|
|
Serial.print('\t');
|
|
Serial.print(gy, 1);
|
|
Serial.print('\t');
|
|
Serial.print(gz, 1);
|
|
Serial.println();
|
|
delay (25);
|
|
counter++;
|
|
}
|
|
|
|
|
|
// -- END OF FILE --
|
|
|