(资料图片)
因为MPU6050可以测陀螺仪和加速度,想要得到俯角要对其进行积分和卡尔曼滤波,当然也有针对此的DMP库。这部分较为复杂,后续待更新文章或更新到github。
在这里就是对MPU6050进行简单的原始数据的读取,目的是为了加强I2C的应用。
I2C读取单字节的MPU6050数据和写寄存器:
读很多字节:
读角加速度传感器的值,因为MPU6050是八位的,所以每次写入一个寄存器只能读出一个高八位或低八位的值,因此若读陀螺仪,相当于要写入六次寄存器,读六次,并且针对其进行左移操作,组合成一个十六位的值。
初始化;
用上一节的OLED验证读取的数据并且刷新,我把这几位数分离成字符形式显示:
app_main代码:
好啦,先到这里,后面的DMP和卡尔曼滤波待深入学习后继续更新。