HC-SR04(超声波模块)

工具

1.Proteus 8 仿真器

2.keil 5 编辑器

原理图

讲解

简介

HC-SR04超声波模块是一种常用的测距模块,通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差,并据此求出距离。它主要由两个压电陶瓷超声传感器和一个外围信号处理电路构成,其中一个传感器用于发出超声波信号,另一个用于接收反射回来的超声波信号。

在工作时,该模块通过IO口触发测距,发送一个40kHz的脉冲信号,此信号通过传输介质(通常为空气)传播出去。当超声波信号遇到障碍物时,会被反射回来,并被接收传感器捕获。通过计算超声波发出后到达障碍物再反射回传感器的时间差,并结合已知的超声波传播速度(通常为340m/s,但易受温度、湿度、压强等因素影响),就可以得出障碍物与传感器的距离。

HC-SR04超声波模块测距范围在2cm到400cm之间,测距精度可达3mm,工作电压为DC 5V,工作电流为15mA。因其成本低、精度高、使用简便等特点,被广泛应用于各种场景,如避障机器人、智能家居等。在避障机器人中,HC-SR04超声波模块可以用于检测障碍物与机器人的距离,实现避障控制;在智能家居中,它可以用于人体检测和距离测量,如检测人的接近并触发开门动作或用于室内的距离测量和触发自动照明等。

参数

工作电压DC 5V
工作电流15mA
工作频率40kHz
最远射程4m
最近射程2cm
测量角度15度
输入触发信号10us的TTl脉冲
输出回响信号输出TTl电平信号,与射程成正比
规格尺寸45*20*15mm

引脚

VCC5V
Trig发射信号
Echo接收信号
GND

时序

计算

测试距离=(高电平时间*声速(340M/S))/2

注意 

建议测量周期>60ms,以防止发射信号对回响信号的影响。

代码

#include <reg52.h>
#include "Delay.H"
#include "LCD1602.H"

sbit button =P1^7; //按钮
sbit TRIG=P2^6; //发射信号
sbit ECHO=P2^7; //接收信号
unsigned int INT_num=0; //中断次数
unsigned int distance_A=0; //距离 整数部分
unsigned int distance_B=0; //距离 小数部分
void timer0Init() //定时器0初始化
{
    TMOD=0x01;			 //设置T0的工作方式为方式1、定时
    TH0=(65536-50000)/256;	//设置定时器初值
    TL0=(65536-50000)%256;
    ET0=1;          //开中断
    EA=1;           //开总中断
    TR0=0;			  	//关闭定时器
}
void timer0() interrupt 1
{
	//中断程序
	TR0=0;
    //重新赋值
	INT_num++;
	TH0=(65536-50000)/256;	//设置定时器初值
    TL0=(65536-50000)%256;
	TR0=1;
}


main(void) 
{ 
	timer0Init() ;
	LCD_Init(); //初始化液晶
	LCD_ShowString(1,1,"Old_man");
	LCD_ShowString(2,1,"000.00CM");
	while(1)
	{
		//按钮按下
		if(!button)
		{
			delay_ms(20);
			while(!button);
			TH0=(65536-50000)/256;	//设置定时器初值
            TL0=(65536-50000)%256;
			TRIG=0;
			TRIG=1;
			delay_10us(1);
			TRIG=0;
			TRIG=1;
	     	while(!ECHO);
			TR0=1;
			while(ECHO);
			TR0=0;
			//获取定时器计数值
			  //整数部分
			distance_A = ((50000*INT_num+((TH0<<8|TL0)-(65536-50000))) * 34000) / 2 / 1000000; // 除以2是因为声波需要往返,除以1000000是将微秒转换为秒  
				//小数部分
			distance_B = ((50000*INT_num+((TH0<<8|TL0)-(65536-50000))) * 34000) % (2*1000000)/10000; //保留两位
			LCD_ShowNum(2, 1, distance_A, 3);
			LCD_ShowString(2,4,".");
			LCD_ShowNum(2, 5, distance_B, 2);
			LCD_ShowString(2,7,"CM");
		}
	}
} 




 

实现

🚀本欧也处于学习阶段,所学所识将以笔记发布。

笔记会根据相关知识的接触而随时更新! 

 如果文章对你有帮助,请留下你宝贵的点赞吧👍

V:Werluo  本欧也很喜欢交朋友的哦! 

 

### 回答1: Proteus超声波模块是一款基于超声波探测技术的电子元器件,其主要功能是通过发射超声波信号,接收回波信号,进而测量目标物体的距离。该模块的工作原理是利用超声波在空气中传播的特性,通过控制电路发射一定频率的超声波信号,当信号波遇到物体表面时会产生回波信号,再通过回波信号的时间延迟计算出目标物体到模块的距离。 Proteus超声波模块在实际应用中具有广泛的用途,例如在机器人自动避障、车辆倒车雷达等系统中,都需要使用超声波模块来进行距离测量和探测。该模块自带控制电路板和传感器,可以直接连接到Arduino开发板等主控板上,实现对超声波模块的控制和读取测量数据等功能。 此外,Proteus超声波模块还具有高精度、稳定性和反应速度快等优点,可以满足各种场合下的应用需求。因此,该模块在电子制作、物联网等领域中得到了广泛的应用和推广。 ### 回答2: Proteus超声波模块是一种基于超声波技术的模块,主要用于测量距离、检测物体障碍以及实现避障导航等功能。该模块可以直接与单片机、Arduino等嵌入式系统进行连接,通过串口通信实现数据的传输和控制信号的发送,具有使用方便、精度高、反应速度快等特点。 Proteus超声波模块采用了高频率的声波进行测距,通过发送一段短时脉冲,经过物体反射回来的声波信号被接收器接收并转化为电信号,通过对脉冲时间的测量可以计算出物体与模块之间的距离。同时,该模块还具有波特率可调、检测角度可调、超声波探头可旋转等特点,可以根据实际需求进行调整。 Proteus超声波模块在智能家居、机器人、自动化控制等领域中有着广泛的应用,例如可以在自动驾驶中实现距离测量和避障操作,同时也可以在智能家居中实现远程控制和环境监测等功能。此外,Proteus超声波模块的性能也受到不同厂商的不同设计和制造工艺的影响,因此在选择和使用时需要根据实际需求进行评估和选择。 总之,Proteus超声波模块是一种常用的电子模块,具有精度高、反应速度快等特点,广泛应用于智能家居、机器人、自动化控制等领域。 ### 回答3: Proteus超声波模块是一款基于超声波原理的测距模块,它使用超声波发射器发出超声波,当超声波遇到障碍物反射回来,接收器会捕获这个信号,并通过计算时间和速度的乘积,得出物体到模块的距离。这个距离的计算可以非常精确,甚至可以达到毫米级别的精度。 Proteus超声波模块是非常常见的一种测距模块,广泛应用于机器人、智能家居、智能车辆等场景中。由于其简单易用、成本低廉且测量距离远,因此在许多应用中被广泛使用。 除了测距之外,Proteus超声波模块还有一些其他的功能。例如,它可以用于障碍物检测,在机器人等智能设备上可以实现避障;它还可以用于水位检测,检测水箱、水池等的水位高度;还可以用于缺陷检测,如检测铜管中的质量问题等。 总的来说,Proteus超声波模块是一款非常实用、可靠的测距模块,具有广泛的应用前景。与其他传感器相比,Proteus超声波模块的成本更低,使用起来更加方便快捷。无论是初学者还是专业人士,都可以通过学习和使用Proteus超声波模块,轻松完成自己的项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧的曼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值