STM32CUBEMX+PLS_D1000激光测距模块+MT6701角度传感器,获取三角形第三边角度

一、完成激光测距需要什么

功能
激光测距模块 激光测量距离
测量角度模块 通过角度芯片测量角度
显示模块 显示测量出来的距离和角度

二、介绍每个模块

功能 备注
激光测距模块 使用激光测距头:PLS_D1000。这个激光测距模块使用串口与单片机的串口三通信,3.3v供电。
角度测量模块 使用MT6701芯片测量角度。这个芯片可以用SPI也可以用IIC,我用的是软件模拟 IIC [PA6、PA7],3.3供电。角度芯片要和径向磁铁搭配使用才能测量出随磁铁变化的角度的,不用磁铁的话,读出来是一个固定的值。

串口屏显示|使用的是陶晶驰串口屏,串口屏是串口通信,与单片机的串口2通信,5V供电。

三、查看手册后通信

1、 激光模块:

激光模块有单次测量和无限次测量,两种测量模式。单片机通过串口三给激光模块发送:

激光模块检测到测量命令后,会返回给单片机一串数据,将这个数据寄存到数组里面。再取这个数组的第6、7位,就是距离信息:

测量回来的数据是分米,可以转化成米来显示到串口屏上。

2、测量角度模块:

查数据手册的IIC通信:

代码需要写以下部分:

序号 函数名 备注
1 触发函数 IIC通信的开始信号,后面跟地址,有可能是器件地址,也有可能是寄存器地址
2 "发送一个字节"函数 这个函数可以让单片机发送器件地址、寄存器地址给MT6701
3 "接受一个字节"函数 这个函数可以接收到MT6701返回给单片机的数据
4 "发送应答信号"函数 但单片机发送完器件地址、寄存器地址后,会受到MT6701发送给单片机的1bit的低电平应答信号
5 "接收应答信号"函数 当单片机接收到MT6701返回来的角度数据后,会给MT6701发送一个bit的高电平应答信号
6 停止函数 IIC通信结束

3、屏幕显示模块:

显示 部分
角度 屏幕需要显示测量的距离和角度。将串口三传来的距离显示在屏幕上、将IIC传来的角度显示在屏幕上。传来的角度是浮点数,要显示在串口屏幕上要先将浮点数转化成整数传给串口屏;同时在串口屏的上位机使用浮点数控件来显示角度数据。这样两个配合就可以显示浮点数了;
距离 传来的距离是分米,要将分米转化成米的话,转化后的米可能就是浮点数,因此处理方法也同上面一样。
界面设计 可以用画图软件将按键、界面切换的图片设计好。如果使用的是X某系列,那么在设计界面的时候,不需要给案件专门裁剪案件图片,直接在上位机上添加一个按键控件------将按键控件设置成透明;而如果使用的是陶晶驰的T1系列那要将所用到的按键专门裁剪成小图片,这是因为这时候的按键控件没有透明模式,设计成图片模式又没给它具体的图片的话,编译会报错。

四、等我记起其他的知识来继续补充!

相关推荐
编程墨客8 小时前
STM32F103C8T6单片机内部执行原理及启动流程详解
stm32·单片机·嵌入式硬件
Wangshanjie_989 小时前
【STM32】-SPI通讯
stm32
qq_4112624210 小时前
整体无需占用任何硬件 UART,即可新增一条全双工软串口
单片机·嵌入式硬件
XINVRY-FPGA12 小时前
XCZU47DR-2FFVG1517I Xilinx FPGA AMD ZynqUltraScale+ RFSoC
人工智能·嵌入式硬件·fpga开发·信息与通信·信号处理·射频工程·fpga
Cyrus_柯12 小时前
单片机基础(STM32-DAY2(GPIO))
单片机·嵌入式硬件
吃货界的硬件攻城狮12 小时前
【STM32 学习笔记】SPI通信协议
笔记·stm32·学习
努力的小帅13 小时前
STM32单片机_3
stm32·单片机·嵌入式硬件·学习·stm32c8t6
逼子格13 小时前
开关电源和线性电源Multisim电路仿真实验汇总——硬件工程师笔记
嵌入式硬件·硬件工程·硬件工程师·开关电源·multisim电路仿真·稳压电源·线性电源
SKYDROID云卓小助手13 小时前
无人设备遥控器之无线电频率篇
服务器·网络·单片机·嵌入式硬件·算法
逼子格15 小时前
振荡电路Multisim电路仿真实验汇总——硬件工程师笔记
笔记·嵌入式硬件·硬件工程·硬件工程师·硬件工程师真题·multisim电路仿真·震荡电流