这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 体验MPU6500六轴传感器模块

共1条 1/1 1 跳转至

体验MPU6500六轴传感器模块

专家
2025-11-04 15:06:54     打赏

该模块使用MPU9250芯片。

图片1.png

参数如下:

供电电源:3-5v(内部低压差稳压)

通信方式:标准IIC通信协议

芯片内置16bit AD转换器,16位数据输出

陀螺仪范围:±250 500 1000 2000  °/s

加速度范围:±2±4±8±16g   

磁场范围: ±4800uT 

引脚间距2.54mm

原理图:

5.png

这个模块可以测试三轴陀螺仪和三轴加速度,原厂的MPU9250还可以测试三轴的磁场。

模组提供的引脚很多,但作为测试,实际上只需要4根线就可以。与ESP8266的连接方式:

ESP8266             MPU6500

============================

3.3V                VCC

GND                GND

D1                  SCL

D2                  SDA

============================


依旧使用Arduino测试,需要第三方库支持(MPU9250_WE),代码如下:


#include <MPU6050_WE.h>
#include <Wire.h>
#define MPU6050_ADDR 0x68
MPU6050_WE myMPU6050 = MPU6050_WE(MPU6050_ADDR);
void setup() {
  Serial.begin(115200);
  Wire.begin();
  if(!myMPU6050.init()){
    Serial.println("MPU6050 does not respond");
  }
  else{
    Serial.println("MPU6050 is connected");
  }
  
  Serial.println("Position you MPU6050 flat and don't move it - calibrating...");
  delay(1000);
  myMPU6050.autoOffsets();
  Serial.println("Done!");
  
  /*  MPU6050_GYRO_RANGE_250       250 degrees per second (default)
   *  MPU6050_GYRO_RANGE_500       500 degrees per second
   *  MPU6050_GYRO_RANGE_1000     1000 degrees per second
   *  MPU6050_GYRO_RANGE_2000     2000 degrees per second
   */
  myMPU6050.setGyrRange(MPU6050_GYRO_RANGE_250);
  /*  MPU6050_ACC_RANGE_2G      2 g   (default)
   *  MPU6050_ACC_RANGE_4G      4 g
   *  MPU6050_ACC_RANGE_8G      8 g   
   *  MPU6050_ACC_RANGE_16G    16 g
   */
  myMPU6050.setAccRange(MPU6050_ACC_RANGE_2G);
  
  delay(200);
}
void loop() {
  xyzFloat gValue = myMPU6050.getGValues();
  xyzFloat gyr = myMPU6050.getGyrValues();
  float temp = myMPU6050.getTemperature();
  float resultantG = myMPU6050.getResultantG(gValue);
  Serial.println("Acceleration in g (x,y,z):");
  Serial.print(gValue.x);
  Serial.print("   ");
  Serial.print(gValue.y);
  Serial.print("   ");
  Serial.println(gValue.z);
  Serial.print("Resultant g: ");
  Serial.println(resultantG);
  Serial.println("Gyroscope data in degrees/s: ");
  Serial.print(gyr.x);
  Serial.print("   ");
  Serial.print(gyr.y);
  Serial.print("   ");
  Serial.println(gyr.z);
  Serial.print("Temperature in °C: ");
  Serial.println(temp);
  Serial.println("********************************************");
  delay(1000);
}


伴随着模块的移动,输出参数有变化。

图片2.png





关键词: 大懒猫的试用笔记          MPU6500    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]