文章目录[隐藏]
各种传感器的demo
最近有假期有空整理了一些传感器的使用方式
激光测距
激光测距是我在完成电磁炮项目用的模块,大家也可以去借鉴我以前的文章,使用起来也是方便,当时涂方便,利用的是串口接收。相应的文件链接,我会放在文章的最后面。
uint16_t GetData(unsigned char *ucCMD)
{
unsigned int uiData;
USART2_Send(ucCMD,8);
Time=0;
while((Time<100)&&(ucRxFinish==0))
{ Delay_rx();}
if(ucRxFinish==1)
{
uiData=ucRxData[3]<<8|ucRxData[4];
printf("Sensor %d Data:%d\r\n",ucRxData[0],uiData);
}
ucRxFinish=0;
return uiData;
}
我选用的是tof激光测距,根据开发文档,CMD传入参数是
unsigned char CMD_1[8]={0x01,0x03,0x00,0x10,0x00,0x01,0x85,0xcf};
unsigned char CMD_2[8]={0x02,0x03,0x00,0x10,0x00,0x01,0x85,0xfc};//02 03 00 10 00 01 85 FC
unsigned char CMD_3[8]={0x03,0x03,0x00,0x10,0x00,0x01,0x84,0x2d};//03 03 00 10 00 01 84 2D
陀螺仪
陀螺仪在使用也是挺平凡的,mpu6050陀螺仪也是比较实惠的一款陀螺仪,在是用过程中,也有许多的问题,比如dmp初始化的问题,相信很多人都碰到初始化不通过的问题,我总结一下,有可能是电压不够或者电压不稳,但是更多的情况是应该陀螺仪放置不稳,导致摇晃,摇晃很有可能初始化不过,还有注意线的长度,最好不要超过50cm,超过1m的话,建立更改上拉电阻,模块给的是4.7K的电阻,要增加通讯长度,需要降低上拉电阻,上拉电阻建议不要太小,最好在1K以上,电阻越小功耗越大,而且容易烧IIC接口。
将dmp文件夹添加到工程当中,keil记得添加路径
使用时注意,要初始化dmp和mpu6050.
MPU6050_initialize(); //=====MPU6050初始化
DMP_Init();
读取数据有两种
Read_DMP();
Pitch;
Roll;
Yaw;
全局变量可以直接用;
和通过结构体接收
mpu_dmp_get_data((mpu6050_data_t*)&med_data.mpu6050_data);
有两种接收数据的方式,为了方便,写了一些用结构体去接收。
太多了改天再写其他的
有任何的疑问都可以QQ联系我
QQ488628560
版权声明:本文为CSDN博主「TT的嵌入式开发路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/worthes/article/details/122763162
暂无评论