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

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

相关推荐
莎士比亚的文学花园1 天前
stm32——平衡小车
stm32·单片机·嵌入式硬件
Hello_Embed1 天前
STM32CubeIDE 创建第1个工程
stm32·单片机·嵌入式·ai编程
小麦嵌入式1 天前
FPGA入门(一):手把手教你用 Vivado 创建工程并仿真
stm32·单片机·嵌入式硬件·mcu·fpga开发·硬件架构·硬件工程
czwxkn1 天前
PCB设计-器件:2.电感
嵌入式硬件
佳木逢钺1 天前
从零开始:基于STM32H750的硬件设计与软件开发完整流程详解
stm32·单片机·嵌入式硬件
Deitymoon1 天前
ESP8266——透传
单片机·网络协议·tcp/ip
zhangrelay1 天前
云课实践速通系列-基础篇汇总-必修-通识基础和专业基础-2026--工科--自动化、电气、机器人、测控等
linux·笔记·单片机·学习·ubuntu·机器人·自动化
Deitymoon1 天前
ESP8266——UDP传输
单片机·网络协议·udp
踏着七彩祥云的小丑1 天前
嵌入式——认识电子元器件——光电器件系列
单片机·嵌入式硬件
羽获飞1 天前
从零开始学嵌入式之STM32——31.高级定时器
stm32·单片机·嵌入式硬件