0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用超声波模块+HC-SR04模块的超声波测距

王子变青蛙_35400519 来源:王子变青蛙_35400519 作者:王子变青蛙_35400 2022-06-12 09:05 次阅读

目录

一、前言

二、超声波模块介绍

1、超声波模块

2、HC-SR04模块

三、硬件连接

四、软件代码

五、效果展示

六、代码链接

一、前言

超声波模块是通过声音的传播进行测距,声音传播的速度与所用时间通过运算得出距离,精度相对较高,可用于近距离的测量与感应。

二、超声波模块介绍

1、超声波模块

超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。 超声波测距模块有好多种类型,比较常用的有URM37超声波传感器默认是232接口,可以调为TTL接口,URM05大功率超声波传感器测试距离能到10米,算是测试距离比较远的一款了,另外还有比较常用的国外的几款SRF系列的超声波模块,超声波模块精度能到1cm 。

2、HC-SR04模块

本模块性能稳定,测度距离精确,模块高精度,盲区小。 产品应用领域: 机器人避障 物体测距 液位检测 公共安防 停车场检测 。 测试距离大概在5M。

基本工作原理

(1)采用IO口TRIG触发测距,给至少10us的高电平信号;

(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;

(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

三、硬件连接

超声波硬件连接

VCC:接5V

GND:接地

Trig:控制端(我接的P1^0)

Echo:接收端(我接的p1^1)

OLED连接方式与上一节相同。

四、软件代码

main主函数

void main()
{	
	float S;       //距离变量
    TIM0init();    //初始化定时器0
	OLED_Init();	//初始化		
	OLED_ColorTurn(0);	//0正常显示,1反色显示	
	OLED_DisplayTurn(0);//0正常显示,1屏幕反转显示
	
	while(1) 
	  {
		TRIG=1;       //触发信号是高电平脉冲,宽度大于10us
        DelayUs2x(10);
        TRIG=0;
        while(!ECHO); //等待高电平
        TR0=1;
        while(ECHO);  //等待低电平
        TR0=0;
        S=TH0*256+TL0;//取出定时器值高8位和低8位合并
        S=S/58;       //为什么除以58等于厘米,  Y米=(X秒*344)/2
			     // X秒=( 2*Y米)/344 -> X秒=0.0058*Y米 -> 厘米=微秒/58 
        TH0=0;
        TL0=0;        //清除定时器0寄存器中的值			 	
		//delay_ms(50);	
		S=S*10;					    
		OLED_DrawBMP(0,1,48,48,BMP1);	//生成图像
		OLED_ShowChinese(48,0,0,16);	//文字 距离		 
		OLED_ShowChinese(64,0,1,16);		  	  
		OLED_ShowString(80,0,":",16);   //显示字符串
		OLED_ShowString(110,2,"mm",16);
		OLED_ShowNum(80,2,S,3,16);		//显示数字
		DelayMs(250);		  					  		  
	 }
}

OLED控制函数可以观看上一节内容。

五、效果展示

实物演示 https://live.csdn.net/v/211270

六、代码链接

关注公众号“小小创客者”回复“超声波测距OLED显示”获得代码。若有错误欢迎指正。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED
    +关注

    关注

    118

    文章

    5986

    浏览量

    221444
  • 超声波
    +关注

    关注

    63

    文章

    2808

    浏览量

    136710
收藏 人收藏

    评论

    相关推荐

    HC-SR04超声波模块

    求大神门讲解,HC-SR04超声波模块为什么要发8个脉冲出去,还有就是根据计算公式:(高电平时间*声速)/2,那么发出超声波后的时间是被忽略了的吗?
    发表于 11-15 16:24

    HC-SR04超声波模块的工作原理是什么

    超声波模块心得一、模块简介二、超声波测距原理三、模块工作原理:四、接线方式:五、时序图六、程序源码一、
    发表于 07-19 09:36

    关于HC-SR04超声波测距模块

    参考:某宝HC-SR04 超声波测距模块商品详情页1.关于HC-SR04 超声波
    发表于 08-10 06:24

    怎样去编写HC-SR04超声波模块的控制程序呢

    超声波测距的原理是什么?HC-SR04超声波模块是怎样工作的?怎样去编写HC-SR04超声波模块
    发表于 11-08 06:35

    HC-SR04超声波测距模块的相关资料分享

    。————————————————一、HC-SR04超声波模块简介HC-SR04 超声波测距模块
    发表于 11-23 07:47

    基于stm32的HC-SR04超声波测距模块怎么使用?

    基于stm32的HC-SR04超声波测距模块怎么使用?
    发表于 11-25 09:15

    HC-SR04超声波测距模块相关资料下载

    使用数码管显示(淘宝提供)1、超声波模块介绍超声波模块一般使用的都是HC-SR04来进行测距1)产品特点HC-SR04
    发表于 12-01 07:20

    HC-SR04超声波测距模块原理

    HC-SR04超声波测距模块原理1.模块简介HC-SR04
    发表于 12-06 07:14

    如何通过HC-SR04超声波模块去实现测距功能呢

    HC-SR04超声波模块是什么?如何通过HC-SR04超声波模块去实现测距功能呢?
    发表于 12-13 06:00

    HC-SR04超声波测距模块简介

    1 简介HC-SR04超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测 距精度可达高到 3mm ;模块包括
    发表于 01-06 06:05

    HC-SR04超声波模块的原理与时序详解

    HC-SR04超声波模块的原理是什么?HC-SR04超声波模块的时序是怎样的?
    发表于 01-20 07:10

    HC-SR04超声波测距模块及程序

    HC-SR04超声波测距模块及程序HC-SR04超声波测距
    发表于 12-08 16:50 82次下载

    简单的超声波测距模块制作_HC-SR04超声波测距模块及制作图详解

    本文主要介绍的是HC-SR04超声波测距模块及制作图详解,首先介绍了超声波测距原理及特点,其次阐
    发表于 05-18 09:40 5.3w次阅读
    简单的<b class='flag-5'>超声波</b><b class='flag-5'>测距</b><b class='flag-5'>模块</b>制作_<b class='flag-5'>HC-SR04</b><b class='flag-5'>超声波</b><b class='flag-5'>测距</b><b class='flag-5'>模块</b>及制作图详解

    51单片机学习路之HC-SR04超声波模块避障

    指正,不胜感激。————————————————一、HC-SR04超声波模块简介 HC-SR04 超声波测距
    发表于 11-14 14:36 5次下载
    51单片机学习路之<b class='flag-5'>HC-SR04</b><b class='flag-5'>超声波模块</b>避障

    超声波测距资料(HC-SR04)_TB

    超声波测距资料(HC-SR04)_TB 超声波PIC单片机C程序超声波测距51C程序
    发表于 03-14 15:13 175次下载