收藏官网首页
查看: 8983|回复: 1

[分享] MPU6050数据采集与初步处理

31

主题

121

帖子

1426

积分

金牌会员

Rank: 6Rank: 6

积分
1426
跳转到指定楼层
楼主
发表于 2017-5-10 09:32:36 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
本帖最后由 李~ 于 2017-5-10 09:32 编辑

分享一下之前做过的一个加速度数据采集的小应用,还有使用匿名四轴上位机显示部分
MPU6050加速度数据读取频率200HZ,读取的数据通过串口发送到匿名四轴上位机软件,进行波形显示
1)接线,一共四根线,VCC->5V,GND->GND,SCL->PA3,SDA->PC0

2)下面就是移植MPU6050驱动了,这里参考的是正点原子的,主要文件就两个,mpu6050.c,和myiic.c,这两个文件我会附在下面,
关于匿名四轴上位机数据只需要写一个函数就可以了,因为我没有用到其他的功能,
函数贴在这里:
void Accel_Report(short Accelx,short Accely,short Accelz)
{
        uint8_t        len=6,i=0;
        uint8_t send_buf[32];
        if(len>28)return;        
        send_buf[len+3]=0;        //УÑéÊýÖÃÁã
        send_buf[0]=0X88;        //Ö¡Í·
        send_buf[1]=0XA1;        //¹¦ÄÜ×Ö
        send_buf[2]=len;        //Êý¾Ý³¤¶È
        
        send_buf[3+0]=(Accelx>>8)&0XFF;
        send_buf[3+1]=Accelx&0XFF;
        send_buf[3+2]=(Accely>>8)&0XFF;
        send_buf[3+3]=Accely&0XFF;
        send_buf[3+4]=(Accelz>>8)&0XFF;
        send_buf[3+5]=Accelz&0XFF;

        for(i=0;i<len+3;i++)send_buf[len+3]+=send_buf
;        //¼ÆËãУÑéºÍ        
        HAL_UART_Transmit(&huart3,send_buf,len+4,100);
}        
注意:我用的版本是2.6的,其他版本数据格式可能会有所不同,上面函数是我改写的,匿名四轴上位机还是很强大的,我只用到了这一点,就这一个函数就够了
3)定时器中断函数:



4)最后上两张用匿名上位机显示的波形图:



附件:
MPU6050驱动和main.c

Src.zip (17.59 KB, 下载次数: 2)


321

主题

1054

帖子

4502

积分

论坛元老

Rank: 8Rank: 8

积分
4502
QQ
沙发
发表于 2017-5-10 15:57:14 | 只看该作者
感谢您的分享~很赞
1、机智云QQ群:G1群:104975951 G2群:491509598 G3群:287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits、 机智云智能宠物屋go-iot
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表