基于单片机的超声波测距仪

收藏和点赞,您的关注是我创作的动力

文章目录

    • 概要
  • 一、本课题研究的主要内容
  • 二、超声波测距仪的整体方案
    • 2.2 超声波测距仪设计原理
  • 三、超声波测距仪系统硬件电路的设计
    • 3.1 超声波测距仪的基本结构
  • 四、 超声波测距仪系统的软件设计
    • 4.1 主程序软件设计
    • 仿真
  • 五、结论
  • 六、 文章目录

概要

  超声波测距仪以声波的形式传播,在传播的过程中受到的影响因素较少,其具有结构简单,成本低的特点并且方便的检测和计算。已被广泛应用于许多方面,例如机器人避开障碍物、车辆倒车和测量距离。
  本无线控超声波测距仪的控制核心是采取低成本的单片机,超声波测距仪系统采用软硬件相互配合,硬件部配备单片机最小系统,通过超声波模块发射与接受声波并产生信号传递给单片机主控,通过液晶显示当前的测量距离。放置按键进行人机交互,对超声波测距仪进行参数设置,具备蜂鸣器报警功能。软件部分由主程序、子程序和中断程序、显示报警子程序等几部分组成。通过软硬件相互配合实现测距仪的设计
  利用已知环境温度,与相对应声波在空气中传播的速度。通过发射与接收声波之间的时间差,采用单片机作为其主控将收集的数据进行算法处理,就可以设计出准确测量两点间距离的超声波检测系统。与其他非接触式测量传感器相比,超声波测距仪的处理速度和响应速度很快。并通过液晶屏对被测目标进行实时显示。因此本文介绍了超声波测距仪系统并对其结构和原理进行了分析。
关键词:单片机;非接触式;无线测距;液晶显示;超声波;

一、本课题研究的主要内容

此次设计的是超声波测距仪,它的主要功能是针对某段距离进行实时测量,其测量范围在5cm—300cm之间,将当前测量的距离通过液晶显示屏幕实时显示出来。
  测距时,测量的物体应该不小于0.5平方米,否则会影响实际的测量参数。本课题所用的超声波模块有一个发射端和一个接收端,通过超声波模块发射与接受声波将产生的电信号传递给单片机主控,通过液晶显示当前单片机计算出测量距离。放置按键进行人机交互,对超声波测距仪进行参数设置,并具备蜂鸣器报警功能。可以满足日常的需求。

二、超声波测距仪的整体方案

2.1方案比较
2.1.1 激光测距
  脉冲法与相位法都是激光测距的传统方法。脉冲法测距基本过程:测距仪将发射激光通过被测物体反射后,测距仪接收到反射光线,与此同时计算发射到接受的一个时间,通过计算光速与往返的时间乘积的一半,就是被测物体的距离。相位法测距的原理:相位激光测距仪利用射频波段的频率来调制激光束的振幅,测量对比调制光来回传播引起的相位延迟。然后依照调制光的波长转换由相位延迟表示的间隔。也就是说,间接的手段被用来确定光穿过一条线需要多长时间[2] 。
2.1.2 超声波测距
  超声波测距仪的原理是根据发射超声波和接收超声波的时间差,利用已知环境温度对应的超声波的传输速度,计算出发射电到障碍物的实际距离。这种方案与激光测距的相位法原理相似。由于超声波的指向性强,传播的过程中声波的能量消耗缓慢,在介质中的传播距离较远,因而超声波经常用于距离的测量。其特点是测量方便。综上所述两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

2.2 超声波测距仪设计原理

超声波检测距离的方式有多种,最常见的一种就是回波探测法。回波检测法就是根据已知介质的温度和声波发射速度,通过超声波模块从物体中发射出一段声波,接触到另一段物体后声波再从反弹了回来,再通过接受和吸收一段反弹后的声波,测量这段从物体中发射出一段声波直至接受和吸收一段反弹后的声波之间的时间,就可以计算得出这段声波之间的距离值。其工作原理框图如下面的图2-1所示。
  超声波测距的原理:利用超声波向空气中发射出去,碰到被测物发生反射被接收,我们计算从发出到返回的时间t,一般来说测量距离S是远大于发射头与接收头的距离,近似可以认为发射与接收是在一条直线上,这样发射到接收经过的距离为2S,根据公式2-1即可算得障碍物距离发射点的距离S(在15℃的条件下声波的速度c约为340m6/s)。
在这里插入图片描述

在这里插入图片描述

图2-1 超声波反射原理

三、超声波测距仪系统硬件电路的设计

3.1 超声波测距仪的基本结构

超声波测距系统基本的结构组成有以下部分,STC89C52单片机,HC-SR04超声波模块,A/D转换模块,LCD显示模块,温度检测模块,蜂鸣器电路,电源按键以及按键电路,电源电路等部分组成。如图3-1所示,当单片机处理出现故障的时候可以利用复位电路按键将单片机的恢复为默认出厂设置,提高了系统的稳定性与可靠性。另外,时钟电路可以使得单片机以特殊的周期执行处理任务并且能保持单片机稳定的工作进程。在LCD显示模块可以设定预警距离的最大值和最小值,从而形成一个测量区间。如果测量值在区间内的时候系统一切正常,当测量值超过了设定的区间后控制蜂鸣器发出警报。

四、 超声波测距仪系统的软件设计

4.1 主程序软件设计

主程序的主要功能是负责LCD1602的显示、读取并处理超声波模块HC-RS04的测量距离值,按键设置有效距离,当测量的值超过预警值时,蜂鸣器发声报警。主程序流程图如图4-1所示。
在这里插入图片描述

仿真

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

五、结论

本次设计的超声波测距仪系统中,通过实际的测量数据可知,此次设计的测量范围是在5cm—300cm,对这个范围内的误差在2%,并且其灵敏度、可靠性、稳定性比较好
  此次设计采用的是回波探测法,由于受制于元器件的功率较小的原因,开始的设想是制作个5m内的测距仪,但是由于超声波模块功率低的原因导致无法实现原来的设想。故成品的测距范围只是5cm—300cm。此次所设计的超声波测距有一定的缺陷,声波的传输也受制于环境的湿度的影响,若在潮湿的环境中,会对声波的传输有着较大的干扰,而此次设计的超声波测距仪,缺少相应的湿度传感器从而会使在湿度大的环境中测量的距离误差变大。其次,此次设计的一大缺陷是,在测量的物体必须处于一个较空旷的环境,如果处于一个狭隘的环境进行测量,这样超声波在发射后会马上反弹回来,从而测不了距离,因此必须处于一个较空旷的环境测量,这个缺陷受制于超声波模块的设计,很难消除,所以这种测量较为麻烦。因此,在以后的设计中应该多关注可能使用到环境中尽可能的在更多的环境中使用。

六、 文章目录

目 录
摘 要I
AbstractII
目 录III
1、绪论1
1.1 选题的依据及意义1
1.2 国内研究现状1
1.3 国外研究现状1
1.4 本课题研究的主要内容2
1.5本章小结2
2、超声波测距仪的整体方案3
2.1 方案比较3
2.1.1 激光测距3
2.1.2 超声波测距3
2.2 超声波测距仪设计原理3
2.3 电子元器件的选择4
2.3.1 单片机的选择4
2.3.2 超声波测距模块选择4
2.4 本章小结4
3、超声波测距仪系统硬件电路的设计5
3.1 超声波测距仪的基本结构5
3.2 单片机最小系统概述及其作用5
3.3 电源供电模块6
3.4 超声波模块7
3.5 LCD 显示电路模块设8
3.6 按键电路9
3.7 蜂鸣器电路设计9
3.8 温度检测电路10
3.9 本章小结10
4、超声波测距仪系统的软件设计11
4.1 主程序软件设计11
4.2 超声波模块软件设计11
4.3 显示数据子程序12
4.4 报警子程序12
4.5 按键子程序13
4.6 本章小结13
5、系统调试14
5.1 系统调试14
5.1.1 硬件调试14
5.1.2 软件调试14
5.2 测距仪测试及结果15
5.2.1 超声波测距仪实物图15
5.2.2 实物试验16
结 论18
参考文献19
附 录20
1、超声波测距仪电路原理图20
2、元件清单21

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/118632.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

钉钉企业微应用开发C#+VUE

钉钉相信很多人都用过或听过,企业OA审批,考勤,沟通方方面面都支持。但是有的需求自定义表单的无法满足,例如带有业务特性的数据来源,可能是内部其他系统,以及数据筛选分析没有那么方便,钉钉官方…

网络渗透课2

题目 1、Kali虚拟机采用桥接模式;物理机连接Guet-WiFi,Kali中查看网络配置并截图,能获得IP地址吗? 2、Kali虚拟机采用桥接模式;物理机连接手机热点,Kali中查看网络配置并截图,能获得IP地址吗&a…

公会发展计划(GAP):经过实战考验的 Web3 任务模式

2020 年 12 月,Yield Guild Games 踏上了一段征程,以表彰兢兢业业的 Web3 游戏玩家所付出的时间和努力,同时为他们提供利用自己的技能促进个人成长的机会。这一旅程的第一步是于 2022 年 7 月推出的公会发展计划(GAP)。…

VMware安装CentOS最小化开发环境导引

目录 一、概要 二、介绍 三、下载 四、安装 4.1 创建虚拟机 4.2 安装CentOS 五、配置网卡 六、配置本地安装源 七、安装软件 7.1 gcc/g 7.2 C的atomic库 7.3 java 7.4 Cmake 7.5 MariaDB客户端(兼容mysql) 八、用户配置文件.bash_profile…

Stable Diffusion 的提示词使用技巧

推荐Stable Diffusion自动纹理工具: DreamTexture.js自动纹理化开发包 什么是提示语? 提示语是人工智能中的一个重要组成部分,尤其是自然语言处理 (NLP)。在AI自人工智能中,想要获得好的效果,简…

Linux中for循环

for do done 复习知识点:cut命令,id命令,finger命令,for循环 程序如上,-d 接分隔符,-f后的数字表示分隔后的列 从结果可以看出,系统上没有finger这个命令,后面会学到yum安装命令&a…

Leetcode Daily Challenge 1845. Seat Reservation Manager

1845. Seat Reservation Manager 题目要求:初始化一个SeatManager类包括默认构造函数和类函数,所有的seat初始化为true。reverse函数返回最小的true,然后把这个编号的椅子赋值为false。unreverse(seatNumber)函数把编号为seatNumber的椅子恢…

二十、泛型(2)

本章概要 泛型接口泛型方法 变长参数和泛型方法一个泛型的 Supplier简化元组的使用一个 Set 工具 泛型接口 泛型也可以应用于接口。例如 生成器,这是一种专门负责创建对象的类。实际上,这是 工厂方法 设计模式的一种应用。不过,当使用生成…

计算机毕设 基于大数据的社交平台数据爬虫舆情分析可视化系统

文章目录 0 前言1 课题背景2 实现效果**实现功能****可视化统计****web模块界面展示**3 LDA模型 4 情感分析方法**预处理**特征提取特征选择分类器选择实验 5 部分核心代码6 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕…

Springboot自动配置那些事

Spring Boot中默认会扫描的启动类对应的子包下面的类,但是项目引入的其他包下面的类要加入到IOC中必须要有所说明,以下说到的自动配置就是干这个活的,springboot就会把配置中的类加载到ioc容器中。 (1)自动配置注册文…

链表(1)

目录 单链表 主函数test.c test1 test2 test3 test4 头文件&函数声明SList.h 函数实现SList.c 打印SLPrint 创建节点CreateNode 尾插SLPushBack 头插SLPushFront 头删SLPopBck 尾删SLPopFront 易错点 本篇开始链表学习。今天主要是单链表&OJ题目。 单链…

Gitlab服务器配置LDAP指导

ssh登录gitlab服务器:192.168.1.203修改配置文件 sudo su vim /etc/gitlab/gitlab.rb找到ldap_enabled和ldap_servers关键字并修改参数 保存配置文件并重新载入配置 gitlab-ctl reconfigure检查ldap相关配置是否成功(列出前100个用户,若没…

Redis 的几种集群对比

文章目录 一、对比分析二、优缺点对比三、总结 如果您对Redis的了解不够深入请关注本栏目,本栏目包括Redis安装,Redis配置文件说明,Redis命令和数据类型说明,Redis持久化配置,Redis主从复制和哨兵机制,Redi…

[动态规划] (三) LeetCode 746. 使用最小花费爬楼梯

[动态规划] (三)LeetCode 746. 使用最小花费爬楼梯(两种解法) 文章目录 [动态规划] (三)LeetCode 746. 使用最小花费爬楼梯(两种解法)题目解析解题思路状态表示状态转移方程初始化和填表顺序返回值状态表示状态转移方程初始化和填表顺序返回值 代码实现总结 746. 使用最小花费爬…

RK3568平台 内存的基本概念

一.Linux的Page Cache page cache,又称pcache,其中文名称为页高速缓冲存储器,简称页高缓。page cache的大小为一页,通常为4K。在linux读写文件时,它用于缓存文件的逻辑内容,从而加快对磁盘上映像和数据的访…

致:CSGO游戏搬砖人的一封信

最近大家还在坚持操作CSGO游戏搬砖项目不? 这个项目虽是稳赚项目,但也有行情好和行情不好的时候,平台的大中小各种活动的举办,都会对我们的项目造成一定影响。行情的上下波动势必然会影响卡价的波动,影响选品的快慢&a…

树专题 —— 二叉搜索树和中序遍历

大家好,我是 方圆。我准备把树写成一个专题,包括二叉搜索树、前序、中序、后序遍历以及红黑树,我也想试试能不能将红黑树写好。 本篇是关于二叉搜索树,也是所有后续学习的基础,其中会涉及前序、中序、后序遍历&#x…

自动驾驶学习笔记(六)——Apollo安装

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 Apollo安装 硬件配置 安装Ubuntu…

代码随想录第四十四天 | 动态规划 完全背包:纯完全背包理论基础(卡码网第52题);应用(注意遍历顺序):组合(518),排列(377)

1、动态规划:完全背包理论基础 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大…

Mysql数据库 9.SQL语言 查询语句 连接查询、子查询

连接查询 通过查询多张表,用连接查询进行多表联合查询 关键字:inner join 内连接 left join 左连接 right join 右连接 数据准备 创建新的数据库:create database 数据库名; create database db_test2; 使用数据库:use 数据…