eagler8 发表于 2019-9-9 16:30:59



串口提示的翻译(未接D2时)
正在初始化I2C设备…
正在测试设备连接…
MPU6050连接成功

发送任意字符开始DMP编程和演示:
正在初始化DMP…
正在启用DMP…
启用中断检测(Arduino外部中断0…)
DMP准备好了!正在等待第一个中断…

eagler8 发表于 2019-9-9 16:35:02

eagler8 发表于 2019-9-9 17:07:51

/*
【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)
实验一百一十二: MPU-6050模块 三轴加速度 电子陀螺仪6DOF GY-521传感器
项目:显示六轴曲线
Arduino------MPU 6050
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCLIIC 时钟线
D2-----------INT 中断脚
*/

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

#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
    #include "Wire.h"
#endif

MPU6050 accelgyro;

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

#define OUTPUT_READABLE_ACCELGYRO

#define LED_PIN 13
bool blinkState = false;

void setup() {
   
    #if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
      Wire.begin();
    #elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
      Fastwire::setup(400, true);
    #endif

    Serial.begin(38400);

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

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

   
    pinMode(LED_PIN, OUTPUT);
}

void loop() {

    accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

    #ifdef OUTPUT_READABLE_ACCELGYRO

      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);
    #endif

    #ifdef OUTPUT_BINARY_ACCELGYRO
      Serial.write((uint8_t)(ax >> 8)); Serial.write((uint8_t)(ax & 0xFF));
      Serial.write((uint8_t)(ay >> 8)); Serial.write((uint8_t)(ay & 0xFF));
      Serial.write((uint8_t)(az >> 8)); Serial.write((uint8_t)(az & 0xFF));
      Serial.write((uint8_t)(gx >> 8)); Serial.write((uint8_t)(gx & 0xFF));
      Serial.write((uint8_t)(gy >> 8)); Serial.write((uint8_t)(gy & 0xFF));
      Serial.write((uint8_t)(gz >> 8)); Serial.write((uint8_t)(gz & 0xFF));
    #endif

    blinkState = !blinkState;
    digitalWrite(LED_PIN, blinkState);
    delay(50);
}

eagler8 发表于 2019-9-9 17:09:58

eagler8 发表于 2019-9-9 17:13:57

eagler8 发表于 2019-9-9 17:14:59

eagler8 发表于 2019-9-9 17:15:54

eagler8 发表于 2019-9-9 17:18:30

eagler8 发表于 2019-9-9 17:39:45

eagler8 发表于 2019-9-9 17:50:43

eagler8 发表于 2019-9-9 17:52:26

eagler8 发表于 2019-9-9 18:41:43

eagler8 发表于 2019-9-9 18:43:29

eagler8 发表于 2019-9-9 18:44:56

eagler8 发表于 2019-9-9 19:15:36

页: 136 137 138 139 140 141 142 143 144 145 [146] 147 148 149 150 151 152
查看完整版本: 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)