必备模块知识——超声波传感器

news2024/11/25 0:51:57

一、超声波传感器

1、什么是超声波

        人们能听到声音是由于物体振动产生的,它的频率在20HZ-20KHZ范围内,超过20KHZ称为超声波,低于20HZ的称为次声波。常用的超声波频率为几十KHZ-几十MHZ。

2、什么是超声波传感器(常用的HC-SR04超声波测距传感器)

        超声波测距原理是在超声波发射装置发出超声波,它的根据是接收器接到超声波时的时间差,与雷达测距原理相似。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。

简单来说:通过发送和接收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。

2.1、  HC-SR04 超声波测距模块特点

           可提供2cm-400cm 的非接触式距离感测功能,测距精度可达高3mm;


3、HC-SR04 超声波测距模块

 分析:

         怎么让它发送波
         Trig ,给Trig端口发送信号
         
怎么知道它开始发了
          Echo信号,由低电平跳转到高电平,表示开始发送波
         
怎么知道接收了返回波
          Echo,由高电平跳转回低电平,表示波回来了

 4、超声波的原理图(了解)

 二、超声波的时序图与使用(重点

1、超声波时序图

 2、分析

3、如何测距

1、使用定时器,当我们超声波模块的echo端口由低电平变为高电平时,开始计时。

2、当我们超声波模块echo端口变为低电平时,表示结束,即停止定时器

3、运用公式:距离 =(  速度(340m/s)   时间/  2

三、代码示例(以51单片机为例)

#include "reg52.h"

//定义端口引脚
sbit Trig = P1^5;
sbit Echo = P1^6;

//延迟10us程序,用来触发
void Delay10us() //@11.0592MHz
 {
   unsigned char i;
    i = 2;
   while (--i);

}

//选择定时器0、工作模式为1,初始值设定0开始数数,先不开始数数
void Time0Init()
{
  TMOD &= 0xF0; //设置定时器模式
  TMOD |= 0x01;
  TH0 = 0;
  TL0 = 0;
}

//触发超声波传感器
void startHC()
{
Trig = 0;
Trig = 1;
Delay10us();
Trig = 0;
}

//主程序
   void main()
{
   double time;    //定义变量double类型的时间
   double dis;      //定义变量double类型的距离
   Time0Init();   //初始化定时器
}
   while(1)
{
                     
   startHC();
                   
  //等待开始发送波,while(Echo == 0)表示等待,当发送波时Echo == 1,运行下一个代码,即开始计数
   while(Echo == 0);

   //开始启动定时器
   TR0 = 1;

   //等待波回来,即Echo==0时, 而while(Echo == 1)表示等待
   while(Echo == 1);

   //波回来的那一下,我们开始停止定时器
   TR0 = 0;

   //计算出中间经过多少时间
   time = (TH0 * 256 + TL0)*1.085;    //us为单位

   // 距离 = 速度 (340m/s)* 时间/2
   dis = time * 0.017;
    
    
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于PHP+MySQL教室预约管理系统的设计与实现

随着我国国民教育的提高,大学生的数量一直在不断的增加,根据网络资料的查询,发现2012年的大学生人数为600万,这是一个不小的数量,说明了我国教育的进步是巨大的。但是问题也随之产生,每年如此多的大学生就需要大学不断的扩建,可是还是不能满足如此多的学生对教室的使用,所以如何…

【学习笔记】深度学习入门:基于Python的理论与实现-与学习相关的技巧

CONTENTS六、与学习相关的技巧6.1 参数的更新6.2 权重的初始值6.3 Batch Normalization6.4 正则化6.5 超参数的验证六、与学习相关的技巧 6.1 参数的更新 神经网络的学习的目的是找到使损失函数的值尽可能小的参数。这是寻找最优参数的问题,解决这个问题的过程称为…

YOLOv7(目标检测)数据集、训练、推理过程

一、环境安装: pip install -r requirements.txt pip install torch1.8.2cu111 torchvision0.9.2cu111 torchaudio0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html -i https://pypi.tuna.tsinghua.edu.cn/simple二、修改配置环境 直接看下面…

[附源码]SSM计算机毕业设计血库管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

JavaScript -- 03. 运算符介绍

文章目录运算符1 算数运算符1.1 基础符号1.2 自动类型转换2 赋值运算符3 一元4 自增和自减4.1 自增运算符4.2 -- 自减运算符5 逻辑运算符5.1 逻辑非5.2 逻辑与5.3 逻辑或6 关系运算符7 相等运算符7.1 7.2 7.3 !7.4 !8 条件运算符(三元表达式)9 运算符的…

专栏 | 解析“全闪对象存储”(三)

在上一节“对象存储的使用场景”中,我们介绍了对象存储在大规模非结构化数据存储、云存储、大数据和数据湖等场景的使用。 那么,优秀对象存储产品是怎样的?如何设计、实现?本节,我们来分析、探讨这些问题。 通过前两…

推荐系统-召回-概述(四):热门推荐

无论个性化多么重要,热门推荐都是推荐系统里不可或缺的一部分。其一、根据“二八定律”,电商系统中的20%的头部内容被80%的流量消费,因此,在产品早期,仅仅推荐热门内容,实施成本不高,且效果也会…

【Android App】利用腾讯地图获取地点信息和规划导航线路讲解及实战(附源码和演示视频 超详细必看)

需要源码请点赞关注收藏后评论区留言~~~ 一、获取地点信息 至于如何集成腾讯地图和调用腾讯地图接口此处不再赘述,有需要请参见我之前的博客 腾讯地图用来搜索POI地点的工具是TencentSearch,通过它查询POI主要分为下列四个步骤: &#xff0…

MySQL---基于CentOS7

在Linux上安装MySQL 本章简单阐述一下,mysq基于centos7的安装步骤 在VM上模拟安装 MySQL版本为:8.0.30 文章目录在Linux上安装MySQL1. MySQL下载卸载MariaDB查看版本卸载2.安装解压mysql压缩包重命名创建用户和组修改权限编写配置文件配置PATH变量初始化…

基于PHP+MySQL集训队员管理系统的设计与实现

ACM是国际大学生程序设计竞赛,这是一个展示大学生风采的平台,但是在ACM报名的时候可能会有很多的队员,管理员对队员的管理是一个繁琐且复杂的过程,通常的管理模式是手工进行管理,这在很大程度上有一些弊端,为了改成这一现状需要一个对应的管理系统出现。 本设计尝试用PHP开发一…

机组运行约束对机组节点边际电价的影响研究(Matlab代码实现)

目录 1 概述 2 日前市场单时段节点电价出清优化模型 2.1 目标函数 2.2 约束条件 3 算例及运行结果 4 结论 5 参考文献 6 Matlab代码及详细文章讲解 1 概述 基于节点边际电价(locational marginal priLMP)的现货巾划lm易能量价值,节点电本确定节点电价&a…

高校部署房产管理系统可实现那些目标?

随着技术的不断进步和升级,以及高校房屋建筑物数量的不断扩充,建立房屋资产管理信息系统进行信息化、数字化、图形化房屋资产管理已经是势在必行。数图互通自主研发FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发…

易基因科技|单细胞甲基化测序低至2500元/样

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。12月活动来袭~ 限时特惠!单细胞甲基化测序低至2500元/样! 易基因高通量单细胞DNA甲基化测序:单细胞DNA甲基化组学研究很大程度上受制于建库…

P3 创建Tensor

前言: 这里面主要讲解一下创建一个Tensor 对象的不同方法 目录: numpy 创建 list 创建 empty 创建 set_default_type 随机数创建 torch.full arange&linespace ones|zeros|eye r…

Springboot毕业设计毕设作品,微信网上图书商城购物小程序设计与实现

功能清单 【后台管理员功能】 会员列表:查看所有注册会员信息,支持删除 录入资讯:录入资讯标题、内容等信息 管理资讯:查看已录入资讯列表,支持删除和修改 广告设置:上传图片和设置小程序首页轮播图广告地…

【Pandas数据处理100例】(八十九):Pandas使用date_range()生成date日期

前言 大家好,我是阿光。 本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPandas版本:1.3.5N…

Oracle 11g RAC 原地升级到 19c

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 Oracle 11g RAC 原地升级到 19c,欢迎点…

Android kotlin在实战过程问题总结与开发技巧详解

1、介绍 目前Android开发中,分为两派,Java派和Kotlin派,Java是宇宙开发第一语言,地位一直处于领先位置,但是Java会出现一个空指针的情况,所以kotlin的出现,填补了java的一些缺陷,但是…

擎创技术流 | ClickHouse实用工具—ckman教程(5)

哈喽~友友们,又到了一期一会的技术分享时刻了,本期继续以视频形式与大家分享,话不多说,我们直接上干货,建议收藏分享马住 戳↓↓↓链接,一键回看前期内容: 擎创技术流 | ClickHouse实用工具—c…

独立IP和共享IP的区别以及各自的优势有哪些

如果您在网上做生意,您可能对什么是IP地址有一个大概的了解。然而,您可能不知道的是,IP 地址分为两种类型。下面将介绍在选择独立服务器时最常遇到的两种IP的区别和联系: 简而言之,独立IP地址是标识您的网站的唯一数字…