“Motion模块姿态测试示例”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
第21行: 第21行:
 
[[File:motion-weather-bmp180.jpg|800px|thumb|center]]
 
[[File:motion-weather-bmp180.jpg|800px|thumb|center]]
 
<source lang="cpp">
 
<source lang="cpp">
#include <MPU6050.h>
 
  
// class default I2C address is 0x68
 
// specific I2C addresses may be passed as a parameter here
 
// AD0 low = 0x68 (default for InvenSense evaluation board)
 
// AD0 high = 0x69
 
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(115200);
 
 
    // 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
 
     // read raw accel/gyro measurements from device
 
     accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
 
     accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
第73行: 第38行:
 
     Serial.println(gz);
 
     Serial.println(gz);
  
    // blink LED to indicate activity
 
    blinkState = !blinkState;
 
    digitalWrite(LED_PIN, blinkState);
 
 
}
 
}
 
</source>
 
</source>

2017年12月18日 (一) 07:18的版本


本示例给出了Motion获取姿态的一些基本方法



硬件清单



将Battery、Core、Motion模块堆叠在一起,通过MicroUSB数据线接入电脑。


测试MPU6050姿态传感器

  • 打开文件->示例->_05_Microduino_10DOF->sensor_MPU6050的“MPU6050_raw”程序
    // 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);

}
  • 将程序下载到核心,打开串口监视器,可以看到数据,前面三个对应的是X,Y,Z的角度,后三个对应的是X,Y,Z的加速度。


测试BMP180气压传感器

  • 打开文件->示例->_05_Microduino_10DOF->sensor_BMP085的“BMP085_basic”程序
  • 将程序下载到核心,打开串口监视器,可以看到温度,气压,海拔数据。


返回MCookie-Motion界面

返回MCookie-Motion_Reference界面