超声波测距模块的使用
超声波测距模块的使用
超声波测距模块:
超声波测距模块有好多种类型,目前比较常用的有URM37超声波传感器默认是232接口,可以调为TTL接口,URM05大功率超声波传感器测试距离能到10米,算是目前来说测试距离比较远的一款了,另外还有比较常用的国外的几款SRF系列的超声波模块,目前的超声波模块精度能到1cm
工作原理:
超声波测距模块是用来测量距离的一种产品,通过发送和就接收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。
具体使用及代码
1、定义引脚
#include<reg52.h>
#include<stdio.h>
sbit Trig = P1^0;
sbit Echo = P1^1;
2、设定串口波特率
void init_115200()
{SCON = 0x50;T2CON |= 0X30;TH1 = 0xFF;TL1 = 0xFD;RCAP2H = 0XFF;RCAP2L = 0XFD;TR2 = 1;ES = 1;EA = 1;ET0=1;
}
3、设定发送时间
void Delay10us()
{TMOD |= 0x1;TH0 = 0xFF;TL0 = 0xF6;TR0 = 1;while(!TF0);TF0 = 0;
}void CSB_Rstart() //启动超声波模块,初始化
{Trig=0;Trig=1;Delay10us();Trig=0;
}
4、获取时间和距离
int gettime()//获取时间
{unsigned int time = 0;time = TH0<<8 | TL0; //TH0*256+TL0return time;
}float CSB_Getdis(unsigned int time) //获取距离
{float distance;distance = (float)time * 0.0017;TH0=0;TL0=0;//清空计时器·return distance;
}void star()
{TH0 = 0;TL0 = 0;TR0 = 1;
}void end()
{TR0 = 0;
}void CSB_GetOnce() //获取一次超声波测距模块的距离
{CSB_Rstart();while(!Echo);//当Echo为零时等待star();while(Echo);//当Echo为1计数并等待end();
}
5、将所测距离打印出来
int main()
{unsigned int time = 0;float dis;char buf[24]={'\0'};init_115200();while(1){ CSB_GetOnce();time = gettime();dis = CSB_Getdis(time);sprintf(buf,"dis=%fcm\r\n",dis);delay();upt(buf);}return 0;
}
打印函数
void shuchu(char c){SBUF = c;while(TI==0);TI = 0;
}void upt(char *p){while(*p != '\0'){shuchu(*p);p++;}}
延时函数
void delay()
{int i;int j;for(i=0;i<100;i++)for(j = 0;j<2000;j++);
}
超声波测距模块的使用相关推荐
- 通过串口打印--超声波测距模块测得距离
通过串口打印--超声波测距模块测得距离 原理 超声波测距模块 串口传输 实战代码 原理 超声波测距模块 在这里首先需要了解超声波测距模块的原理.在我的这篇博客有很多介绍.超声波模块介绍 串口传输 串口 ...
- 51单片机 普中V2 超声波测距 报警 显示 基于MCS51单片机的超声波测距模块的开发
基于MCS51单片机的超声波测距模块的开发 采用C51程序设计语言,完成下列功能要求. l 必选功能: (1) 超声波模块和单片机的接口设计,画出完整的电路原理图.(15分) (2) 开发板上电时,显 ...
- arduino超声波测距接线图详细_Arduino系列之超声波测距模块代码(一)
这里我将简单介绍超声波测距模块 SR04超声波传感器: 是利用超声波特性检测距离的传感器,其带有两个超声波探头,分别用作于发射和接收超声波.范围在3-450cm. 工作原理: 超声波发射器向某一方向发 ...
- 学习HC-SR04超声波测距模块,代码附带卡尔曼滤波
硬件引脚 VCC-供5V的电压(一定要是5v) GND-接地 Trig-HC-SR04超声波测距模块上的触发引脚,用于向模块发送一个10微秒的高电平触发信号,触发模块开始进行距离测量 Echo-用于接 ...
- 超声波测距模块HC-SR04详解(基于51单片机)
本篇文章是个人整理的包含超声波测距模块HC-SR04的基本介绍与基本工作原理以及分别通过LCD1602.数码管和串口显示距离的实例讲解与代码的笔记,部分内容来自<HC-SR04超声波测距模块说明 ...
- US-016超声波测距模块
1. 概述 US-016超声波测距模块可实现2cm~3m的非接触测距功能,供电电压为5V,工作电流为3.8mA,支持模拟电压输出,工作稳定可靠.本模块根据不同应用场景可设置成不同的量程(大测量距离分 ...
- 利用51单片机+HC-SR04+51单片机制造超声波测距模块
利用HC-SR04和51单片机制造超声波测距模块 完整的项目链接: https://github.com/linxinloningg/51_chip_core.git 硬件电路分析: 1.HC-SR0 ...
- 使用超声波测距模块控制LED灯
本文章为你介绍如何使用Arduino开发板和超声波测距模块来控制LED灯的明灭. 所需硬件 -Arduino开发板 -LED -超声波测距模块 下面主要为大家说明一下超声波模块. 超声波传感器通过采用 ...
- Micropython——HC-SR04超声波测距模块
文章目录 HC-SR04超声波测距模块 超声波测距原理 接线 代码 HC-SR04超声波测距模块 超声波测距模块HC-SR04是市面上常见的超声波测距模块,价格便宜,精度高,可提供2cm-400cm的 ...
- 超声波测距模块(HC-SR04模块)特点及使用介绍
超声波测距模块(HC-SR04模块)特点及使用介绍 前言 一.超声波测距模块(HC-SR04模块)外观 二.原理图 三.相关参数讲解 1.参数 2.测量范围 3.计算公式 4.优点 5.产品特性(根据 ...
最新文章
- 微服务并不能解决你的烂代码问题
- C#开发学习——内联表达式
- PPT 下载 | 数据治理中的一些挑战与应用
- 分布式网站架构后续:zookeeper技术浅析
- ADAS视觉方案盘点下篇:11家创业公司完全解读
- 三心二意,助你好运?
- matlab绘制球面模型_MATLAB采用surf/surfc/surfl/surfnorm绘制球体
- 3D游戏建模就是那么简单
- 什么是OOM?常见有哪些OOM?
- mac搭建svn服务器文件被锁定,MAC搭建SVN服务器并配置Cornerstone
- [转]Java8 Lambda表达式教程
- yield用法详解——最简单,最清晰的解释
- Anniversary party 员工的活跃度问题 (树形dp)
- 陀螺仪指向的是什么方向
- 基于Matlab使用激光雷达从点云到跟踪列表跟踪车辆仿真(附源码)
- 使用HTML制作静态网站(圣诞节案例)
- android 弹窗banner,弹窗交互规范分析|UI|观点|DesigneR_D - 原创文章 - 站酷 (ZCOOL)
- linux centos 环境下Device eth0 does not seem to be present,delaying initialization. 问题处理
- HbuilderX 快捷键修改
- 由于找不到libgcc_s_dw2-1.dll,无法继续执行代码。重新安装程序可能会解决此问题
热门文章
- 详解 itoa 函数并模拟实现
- 来自csdn第一博主:成功的背后(给所有IT人)
- 10大玄机为你揭开炒土豆丝爽脆的秘密——尖椒土豆丝
- 南昌理工学院计算机应用怎么样,南昌理工学院计算机系哪个专业最好
- 斐讯w3固件下载_《极速定位,自由奔跑----斐讯W3运动手环测评》by 唐国栋 - 爱燃烧...
- C语言实现的一个交互小程序(一)
- 获取字符长度并控制字数和行数(超出显示..., 悬浮显示所有内容)
- Linux Shell 脚本编程 入门
- 您的推特营销选对群控了吗
- 2188万:2022年度5G+多网融合应急调度平台项目