i2c_mpu6050.py K230 I2C接口外接六轴加速度计MPU6050功能演示。

MPU6050模块介绍

MPU6050 是全球首款整合 3轴MEMS陀螺仪 和 3轴MEMS加速度计 的6轴运动处理传感器。其核心亮点包括:
  • 高精度测量:陀螺仪量程可配置(±250°/s至±2000°/s),加速度计量程(±2g至±16g),16位ADC确保数据精度。
  • 内置DMP引擎:数字运动处理器(DMP)可直接输出融合后的姿态数据(四元数、欧拉角等),减轻主控计算负担。
  • 低功耗设计:支持多种省电模式,加速度计最低功耗仅40μA@10Hz。
  • 扩展性强:支持通过I2C接口外接磁力计,实现9轴数据融合。
模块化优势:MPU6050芯片封装极小(4×4×0.9mm),直接焊接难度高,因此通常使用模块化设计。模块集成了:
  • 电平转换电路(兼容3.3V/5V系统)
  • 滤波电容和稳压电路
  • 清晰的引脚标识(如SCL、SDA、INT等)
MPU6050模块引脚k230引脚功能说明
VCC3.3V/5V电源正极
GNDGND电源地
SCLIO11-FPIOA.IIC2_SCLI2C时钟线
SDAIO12-FPIOA.IIC2_SDAI2C数据线

源代码如下:
 

import machine
import time
import ustruct

def test_mpu6050():
    fpioa = machine.FPIOA()

    fpioa.set_function(11, machine.FPIOA.IIC2_SCL)
    fpioa.set_function(12, machine.FPIOA.IIC2_SDA)

    i2c = machine.I2C(2, freq=100000)
    print("I2C devices:", [hex(x) for x in i2c.scan()])

    # Initialize MPU6050
    i2c.writeto_mem(0x68, 0x6B, b'\x00')  # Wake up
    time.sleep_ms(200)

    # Verify registers
    whoami = i2c.readfrom_mem(0x68, 0x75, 1)
    print(f"WHO_AM_I: {hex(whoami[0])}")

    # Read loop
    while True:
        try:
            accel = i2c.readfrom_mem(0x68, 0x3B, 6)
            ax = ustruct.unpack('>h', accel[0:2])[0]
            ay = ustruct.unpack('>h', accel[2:4])[0]
            az = ustruct.unpack('>h', accel[4:6])[0]
            print(f"Accel: {ax} {ay} {az}")

            #time.sleep_ms(10)
        except Exception as e:
            print(f"Error: {e}")
            break

test_mpu6050()

关键程序说明:

i2c.writeto_mem(0x68, 0x6B, b'\x00')  #向MPU6050的电源管理寄存器(0x6B)写入0,唤醒设备
whoami = i2c.readfrom_mem(0x68, 0x75, 1)#读取WHO_AM_I寄存器(0x75)的值
print(f"WHO_AM_I: {hex(whoami[0])}")#正常应该返回0x68,用于确认设备连接正确
 accel = i2c.readfrom_mem(0x68, 0x3B, 6)#从加速度数据寄存器(0x3B)连续读取6个字节,这6个字节包含X、Y、Z三轴的加速度数据(每个轴2字节)
  • ustruct.unpack('>h', data):将2字节数据转换为有符号整数 ,分别解析X、Y、Z轴的数据

  • >:大端字节序(高位在前)

  • h:16位有符号整数

输出数据说明

  • 输出的ax、ay、az是原始数据

  • 需要根据传感器的量程设置进行转换才能得到实际的加速度值(g或m/s²)

  • 默认量程为±2g时,灵敏度为16384 LSB/g

程序完整展示了如何初始化MPU6050并连续读取加速度数据。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐