STM32使用各种传感器的demo

各种传感器的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

生成海报
点赞 0

TT的嵌入式开发路

我还没有学会写个人说明!

暂无评论

相关推荐

做一辆超mini平衡自行车,全开源!

大家好,我是张巧龙,今天给大家带来一个平衡自行车,我实验室一个19级的本科生做的,他今年也获得了全国电赛二等奖(F题)的成绩。人嘛,非常帅的一个小

4路红外循迹模块使用教程

4路红外循迹模块使用教程 个人原创博客:点击浏览模块详细信息: 工作电压:DC 3.3V~5V 工作电流:尽量选择1A以上电源供电 工作温度:-10℃~50℃ 安装孔