用 Arduino 和 MPU6050 制作标准陀螺仪

发布于: 27 January, 2014
分享:

#include "Wire.h" #include "I2Cdev.h" #include "MPU6050.h"

MPU6050 accelgyro;

int16_t ax, ay, az; int16_t gx, gy, gz;

#define LED_PIN 13 bool blinkState = false;

void setup() {    // join I2C bus (I2Cdev library doesn't do this automatically)    Wire.begin();

   // initialize serial communication    // (38400 chosen because it works as well at 8MHz as it does at 16MHz, but    // it's really up to you depending on your project)    Serial.begin(38400);

   // initialize device    Serial.println("Initializing I2C devices...");    accelgyro.initialize();

   // verify connection    Serial.println("Testing device connections...");    Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");

   // configure Arduino LED for    pinMode(LED_PIN, OUTPUT); }

void loop() {    // read raw accel/gyro measurements from device    accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

   // these methods (and a few others) are also available    //accelgyro.getAcceleration(&ax, &ay, &az);    //accelgyro.getRotation(&gx, &gy, &gz);

   // display tab-separated accel/gyro x/y/z values    Serial.print("a/g:\t");    Serial.print(ax); Serial.print("\t");    Serial.print(ay); Serial.print("\t");    Serial.print(az); Serial.print("\t");    Serial.print(gx); Serial.print("\t");    Serial.print(gy); Serial.print("\t");    Serial.println(gz);

   // blink LED to indicate activity    blinkState = !blinkState;    digitalWrite(LED_PIN, blinkState);    delay(100); }  

分享:

0 留言

留言

您的留言将被人工审核,请勿发表色情、反动言论。