一、有啥用
这里用的是LIS3DH三轴加速计,输出为X、Y、Z轴的加速度,通过串口连接电脑,电脑里运行matlab脚本通过串口实时获取数据并做可视化显示。
这里虽然是针对LIS3DH的,其实稍作修改即可适用其他型号的运动传感器,如:MPU6050,甚至是其他格式的串口数据。
二、具体分析
首先通过串口传来的数据格式为:6位X轴加速计整数+空格+6位Y轴+空格+6位Z轴+换行
printf("%6d %6d %6d\r\n", data.AXIS_X/16, data.AXIS_Y/16, data.AXIS_Z/16);
那么matlab如何读取串口并对其数据进行可视化展示的呢?
serial.m
1 %http://blog.csdn.net/qwertyuj/article/details/12108155%
2 clc;3
4 globalt;5 globalx;6 global ii;%数组下标7
8 global m_x;%3轴加速度9 globalm_y;10 globalm_z;11
12 global d_a;%差分13
14 t = [0];15 ii = 0;16 x = -100;17
18 m_x = [0];19 m_y = [0];20 m_z = [0];21 d_a = [0];22
23 subplot(1,2,1);%将x,y,z轴加速度图像绘制在整个1X2界面中的第1格
24 p = plot(t,m_x,t,m_y,t,m_z,'Era