Thursday, April 14, 2016

Test the Gyro of Arduino/Genuino 101


To try the Gyro function of Arduino/Genuino 101 board, open the CurieIMU Gyro example:
File > Examples > CurieIMU > Gyro


Gyro.ino
/*
 Copyright (c) 2015 Intel Corporation. All rights reserved.
 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.
 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 Lesser General Public License for more details.
 You should have received a copy of the GNU Lesser General Public
 License along with this library; if not, write to the Free Software
 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
 This sketch example demonstrates how the BMI160 on the
 Intel(R) Curie(TM) module can be used to read gyroscope data
*/
#include "CurieIMU.h"
void setup() {
 Serial.begin(9600); // initialize Serial communication
 while (!Serial); // wait for the serial port to open
 // initialize device
 Serial.println("Initializing IMU device...");
 CurieIMU.begin();
 // Set the accelerometer range to 250 degrees/second
 CurieIMU.setGyroRange(250);
}
void loop() {
 int gxRaw, gyRaw, gzRaw; // raw gyro values
 float gx, gy, gz;
 // read raw gyro measurements from device
 CurieIMU.readGyro(gxRaw, gyRaw, gzRaw);
 // convert the raw gyro data to degrees/second
 gx = convertRawGyro(gxRaw);
 gy = convertRawGyro(gyRaw);
 gz = convertRawGyro(gzRaw);
 // display tab-separated gyro x/y/z values
 Serial.print("g:\t");
 Serial.print(gx);
 Serial.print("\t");
 Serial.print(gy);
 Serial.print("\t");
 Serial.print(gz);
 Serial.println();
 // wait 5 seconds
 delay(5000);
}
float convertRawGyro(int gRaw) {
 // since we are using 250 degrees/seconds range
 // -250 maps to a raw value of -32768
 // +250 maps to a raw value of 32767
 
 float g = (gRaw * 250.0) / 32768.0;
 return g;
}

Arduino/Genuino 101 CurieIMU Gyro
With this tutorial you learn to read the gyroscope raw values and convert them into an angular velocity around each of the three axes. This information is useful to measure rotational movement around the three axes, something that acceleration can't measure if the movement is continuous.
~ reference: https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUGyro



No comments:

Post a Comment

[フレーム]

Subscribe to: Post Comments (Atom)

AltStyle によって変換されたページ (->オリジナル) /