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系列那要将所用到的按键专门裁剪成小图片,这是因为这时候的按键控件没有透明模式,设计成图片模式又没给它具体的图片的话,编译会报错。

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

相关推荐
实在太懒于是不想取名4 分钟前
STM32N6的开发日记(8):在N6中部署自训练的火焰检测模型
stm32·单片机·嵌入式硬件
木子单片机28 分钟前
基于51单片机温度上下限报警设计 数码管显示
stm32·单片机·嵌入式硬件·51单片机·keil
森利威尔电子-1 小时前
森利威尔SL3180 替换LTC3639 150V降压恒压芯片 3A峰值电流能力转换效率高 静态电流低
单片机·嵌入式硬件·集成电路·芯片·电源芯片
qq_401700412 小时前
合宙4G模块Air724UG
嵌入式硬件
yugi9878383 小时前
基于51单片机的篮球计分器设计
单片机·嵌入式硬件·51单片机
编程之升级打怪3 小时前
什么是PWM
嵌入式硬件
zmj3203243 小时前
单片机内存在C 语言编译后的 “逻辑分区”
c语言·单片机·内存分区
魈学习ing4 小时前
IO口无法外部上拉到3.3V以上,或被钳位到3.8V左右
stm32
小柯博客4 小时前
STM32MP2 Secure Boot实战
stm32·单片机·嵌入式硬件
Ww.xh5 小时前
STM32调用AI接口完整教程
stm32·单片机·嵌入式硬件