01 引言

在工程测量、建筑施工、室内装潢以及地理信息系统等领域,精确的距离测量是至关重要的。智能测距仪项目以其先进的技术,为这些领域带来了革命性的改变。它不仅提高了测量的准确性和效率,还通过智能化的功能,如数据记录、分析和共享,极大地简化了测量工作流程。因此人们开始发明出红外测距、雷达测距、激光测距及超声波测距等多种形式的非接触式测距仪器,而超声波测距相对而言是一种有着极高有效性且价格低廉的测距方式。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_鸿蒙

02 项目介绍

《智能测距仪》项目基于Hi3861开发板,采用了超声波测距技术和OLED显示技术,实现了实时监测并显示超声波传感器测得的距离数据。项目成果包括一个高精度的非接触式测距仪器,它能够将测量结果直观地展示在OLED显示屏上,有效解决了传统测距工具操作复杂、效率低下的问题,提供了一种便捷、准确的测距解决方案,适用于多种需要精确测量距离的场景。

本项目实现内容:

1) 实时监测超声波测距传感器返回的数据

2) 将检测到的数据显示在OLED 显示屏上

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_02

03 项目涉及技术点

①串口的使用

②OLED显示屏的使用

③Hi3861上位机与STM32下位机的通信

④超声波模块的使用

⑤JSON数据的解析

04 项目实现

项目框架

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_单片机_03

硬件部分

1 主控芯片部分

本项目使用的是 Hi-12F 模组作为主控,此模组是基于 Hi3861V100 芯片设计的,该芯片是一款高度集成的 2.4GHz 芯片,集成了 IEEE 802.11b/g/n 基带和 RF 电路,包括功率放大器 PA、低噪声放大器LNA、RF balun、天线开关以及电源管理模块等。

支持 20MHz 标准带宽和 5MHz/10MHz 窄带宽,提供最大 72.2Mbit/s 物理层速率。并且集成了高性能32 位微处理器,提供 SPI、UART、I2C、I2S、PWM、GPIO 以及多路 ADC 模拟输入等丰富的外设接口,同时支持 SDIO2.0 接口,时钟最高支持 50MHz。

主控部分原理图如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_鸿蒙_04

模组的外设引脚功能,如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_毕业设计_05

2 显示部分

采用 SSD1306 芯片进行驱动 0.96 寸OLED 显示屏,本显示屏使用黄+蓝屏幕进行显示,点阵数量为 128*64。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_鸿蒙_06

软件部分

1 修改文件

1)修改【src\vendor\hgyi\fs_hi3861\common\bsp\include\hal_bsp_ ssd1306_bmpsh】文件,将“#define smart Distance 0”改为“#define smartDistance 1”。如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_鸿蒙_07

2)修改【src\vendor\hqyj\fs_hi3861\demo\BUILD.gn】文件,添加下面一句:

"smartDistance:smartDistance_demo"

其余的注释掉,只保留这一句话。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_08

2 编译程序

1.在 Vscode的左侧按钮中,打开 DevEco Device Tool开发工具,在开发工具中首先点击“Clean”,再点击“build”进行编译源码。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_鸿蒙_09

2.编译完成之后,会在终端中提示“SUCCESS”字样,说明编译完成。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_10

3.编译完成之后,点击 upload 上传代码到开发板(需提前在工程配置中检査 upload _port 是否正确)。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_单片机_11

4.烧写程序,详细烧写步骤可扫下文二维码添加小雯老师领取完整文档。

测试部分

1 驱动端

  • 编译

注意:编译驱动端工程源码的时候,需要提前安装好 STM32 单片机的开发环境。

1.双击打开工程源码文件夹的 MDK-ARM文件夹下“smartCar_ups.uvprojx”keil5工程文件。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_12

2.点击左上角的编译组建按钮,进行编译程序,如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_鸿蒙_13

3.编译结果如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_物联网_14

4.需要配置烧写工具,点击工具栏中左上方红框内图标,进行配置 ST-Link Debug 模式:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_单片机_15

5.然后点击Settings”,再点击“Flash Download”,勾选“Reset and Run”,添加STM32G0系列Flash 烧写算法。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_毕业设计_16

  • 烧写

注意:驱动板出厂的时候已经烧录好了固件,如果您想自己去写驱动板的程序,是需要单独购买仿真器和转接板的。

1.这里需要使用 ST-Link仿真器和串口转接板,如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_鸿蒙_17

2.使用1根 USB 转 mini数据线的一端连接 ST-Link仿真器,如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_18

3.将 USB 转 mini 数据的另一端连接电脑的 USB端口,如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_19

4.将 RJ11黑色扁平线作为 ST-Link 仿真器与 UPS 驱动板之间进行连接,如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_单片机_20

5.然后点击Keil5 软件左上方的下载烧写按钮进行烧写程序。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_21

6.UPS 驱动板烧写完成之后,UPS 驱动板上的运行指示灯会闪烁,说明 UPS 驱动板上程序正常运行。

2 设备端

设备端烧写程序成功之后,按下“复位”按键之后,可以看到OLED 显示屏上显示检测到的距离,如下图所示:

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_22

除了指导如何在开发板上实现项目外,项目说明文档还涵盖了软件部分烧写程序详细步骤,完整的项目文档目录如下图。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_毕业设计_23

后台私信小雯老师(备注:智能测距仪),免费领取《智能测距仪》项目完整文档、项目源码

05 硬件平台

《智能测距仪》是一个物联网实战项目,硬件平台是华清远见Hi3861鸿蒙开发板。

开发板简介

FS-Hi3861鸿蒙开发板,是华清远见研发的一款用于鸿蒙设备开发及鸿蒙物联网开发学习的开发板。主控为华为海思Hi3861V100芯片,内置WiFi功能,支持OpenHarmony系统。

开发板板载资源丰富,包括传感器、执行器、NFC、显示屏等,还有丰富的拓展模块,还包括电机驱动板超声波测距模块、智能小车、指纹识别模块、语音控制模块、农业安防模块、雷达控制模块、移动定位模块等。

开发板还配套了丰富的开发教程、视频课程及综合项目案例,非常适合物联网相关教学、学生毕设、个人学习、项目练手,还可用于全国大学生嵌入式芯片与系统设计竞赛,及全国大学生物联网设计竟赛华为赛道。

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_毕业设计_24

基于Hi3861鸿蒙开发板,我们提供了12大物联网综合应用项目:智能照明灯、智能安防报警、智慧农业、智能温度计、智能测距仪、倒车雷达、智能小车、智能指纹锁、智能垃圾桶、语音控制智能小车、智慧农业与安防控制、车辆感知与定位,案例中涉及了单片机接口开发、传感器数据采集、鸿蒙系统开发、NFC配网、WiFi网络开发、MQTT协议、华为云接入、微信小程序开发等知识点,非常适合高校教学、学生毕设、创新竟赛及个人开发学习实战。

配套学习路线推荐

毕业设计竞赛选题推荐 | 鸿蒙物联网应用之智能测距仪项目实战(含文档及源码)_开发板_25

关于单片机相关入门及项目课程的说明:

1. 从用户个人能力角度上看,部分鸿蒙开发学习用户,单片机方面比较薄弱,我们提供电机驱动板和超声波模组的配套文档、源码视频课程,可以进行单片机入门、电机控制基础、总线通讯-协议学习,也可以做单片机项目练手,便于单片机方向的拓展学习;

2. 从项目协作式开发角度看,比如竞赛或高校教学,一个项目组可以更好的分工,有的负责单片机控制(传感器数据采集与电机控制等),有的负责鸿RTOS以及网络开发,有的负责微信小程序开发,项目综合性较强,可以锻炼团队协作及多技术方向学习。

对于初学者,在找工作前,也可以多做一些物联网项目案例练手,在实战中去理解并应用技术。有精力的话,最好可以基于我们的开发板去拓展一些功能更丰富的项目,做更多技术上的创新拓展,去参加一些竞赛(比如全国大学生嵌入式芯片与系统设计竞赛、全国大学生物联网设计竟赛华为赛道),DIY一些更接近实际产品的项目,这样的经历,也会为你的简历及面试加分不少。