9轴传感器初探9轴有3轴陀螺、3轴加速度计和3轴磁强计,输出均为16位数字量; 随处可见的小飞机都装有这样的传感器
通过集成电路总线(IIC )接口与单片机进行数据交换,自行检测四元素,输入片上DMP )数字运动处理器)计算欧拉角
请看其他甜蜜的网络文章
将九州传感器的IIC和ph4、5进行硬件连接并连接
安装有对MPU9250读写操作传感器的IIC使用8位的数据,全部带有响应信号,主机生成时钟源
进行写入操作
和IIC一样,很难读。 找中文作为参考就可以了
u8MPU_write_byte(u8addr、u8 reg、u8 data ) { IIC_Start ); IIC_send_byte((addr1)|0 ); if(IIC_wait_ack () ) { IIC_Stop ); 返回1; }IIC_send_byte(reg ); IIC_Wait_Ack (; IIC _ send _ byte (数据; if(IIC_wait_ack () ) { IIC_Stop ); 返回1; (} IIC_Stop ); 返回0; }读取操作也一样,使用之前写的IIC代码
调用MPU9250初始化重置MPU9250并唤醒的u8 res=0; IIC_Init (; MPU_write_byte(MPU9250_addr,MPU_PWR_MGMT1_REG,0X80 ); dlay_ms(100; MPU_write_byte(MPU9250_addr,MPU_PWR_MGMT1_REG,0X00 );
将初始化陀螺仪和加速器的此寄存器设置为0b0001 1011
陀螺仪根据DLPF_CFG and FCHOICE_B进行过滤,这意味着量程为2000db
初始化油门的简单点是将量程设定为2g
按照以上指示设定波特率
波特率在上面的提示下=1000/1的寄存器
加速度/磁强计有高频噪声(需要低通滤波) ) ) )。
接着,设置低通道滤波器
关闭所有中断,连续读取,IIC进入从机模式
读取数据从6个寄存器中连续读取,成为当前的加速度和陀螺仪的值