超声波模块HC-SR04简介以及编程

合集下载

hc-sr04原理

hc-sr04原理

hc-sr04原理HC-SR04是一种基于超声波原理的距离测量模块,可广泛应用于机器人、汽车、无人机和智能家居等领域。

在测量原理方面,HC-SR04模块主要基于声音的传播速度来计算距离。

HC-SR04模块主要由超声波传感器、发射器和接收器组成。

它工作的原理是通过发送超声波脉冲并测量脉冲的回程时间来确定距离。

其工作过程如下:1. 发送超声波脉冲:HC-SR04模块内部的发射器会发出一系列超声波脉冲,通常以40kHz的频率进行。

2. 接收超声波信号:超声波传感器接收到反射回来的超声波信号,这些信号是由发射的超声波脉冲在目标物体上反射后返回的。

3. 计算回程时间:接收器会检测到从发射到接收到超声波信号的时间间隔,也就是回程时间。

回程时间可以通过超声波的速度和回程距离之间的关系计算得到。

4. 计算距离:根据声音在空气中的传播速度,一般为343米/秒,可以使用以下公式来计算距离:距离 = (回程时间 * 速度) / 2。

需要注意的是,由于超声波的传播速度受到环境条件的影响,如温度、湿度、空气浓度等因素,因此在实际应用中可能需要进行一定的校准。

HC-SR04模块具有以下优点:1. 非接触式测量:超声波可以在没有物理接触的情况下进行测量,可以应用于敏感的环境和物体。

2. 精度较高:通常,HC-SR04模块的测量精度可以达到2-3mm,足以满足大多数应用的要求。

3. 反应速度快:超声波的传播速度非常快,通常比光速稍慢,因此可以实时测量目标物体与传感器之间的距离。

4. 灵活性:HC-SR04模块小巧轻便,易于集成到各种设备中。

同时,它的使用也非常简单,只需发送一个脉冲信号即可。

总结起来,HC-SR04模块是一种基于超声波原理的距离测量模块,通过发送和接收超声波信号来计算目标物体与传感器之间的距离。

它具有非接触式测量、精度较高、反应速度快和灵活性的优点,广泛应用于不同领域和场景中。

超声波测距模块_HC-SR04_ 用户手册-V2.0

超声波测距模块_HC-SR04_ 用户手册-V2.0

超声波测距模块(HC-SR04)用户手册版本号:V2.01.产品特色2.产品实物图3.接口定义4.最远探测距离调节5.模块工作原理6.应用注意事项7.模块线路图1 产品特色:1、典型工作用电压:5V2、超小静态工作电流:小于2mA3、感应角度(R3电阻越大,增益越高,探测角度越大): R3电阻为392/432,不大于15度R3电阻为472, 不大于30度4、探测距离(R3电阻可调节增益,即调节探测距离): R3电阻为392/432 2cm-450cmR3电阻为472 2cm-700cm5、高精度:可达0.3cm6、盲区(2cm)超近2产品实物图:顶部视图底部视图3 接口定义:Vcc、 Trig(控制端)、 Echo(接收端)、 Gnd本产品使用方法:控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了。

4 最远探测距离调节:上图标志电阻即R3,可以调节最大探测距离。

R3电阻为392或432,探测距离最大4.5M 左右,探测角度小于15度;R3电阻为472,探测距离最大7M左右,探测角度小于30度;出厂默认392或432,即最大探测距离4.5M左右。

R3电阻大,接收部分增益高,检测距离大,但检测角度会相应变大,容易检测到前方旁边的物体。

当然,客户在不要求很高的测试距离的条件下,可以改小R3来减小探测角度,这时最大测距会减小。

5 模块工作原理:(1)采用IO触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是(4)超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;6 应用注意事项:1:此模块不宜带电连接,如果要带电连接,则先让模块的Gnd端先连接。

HC-SR04超声波测距模块

HC-SR04超声波测距模块

HC-SR04超声波测距模块之迟辟智美创作
1、本模块性能稳定,测度距离精确.能和国外的
SRF05,SRF02等超声波测距模块相媲美.模块高精度,盲区(2cm)超近,稳定的测距是此产物胜利走向市场的有力根据!
2主要技术参数: 1:使用电压:DC5V 2:静态电流:小于2mA 3:电平输出:高5V 4:电平输出:底0V 5:感应角度:不年夜于15度 6:探测距离:2cm-450cm
接线方式,VCC、trig(控制端)、 echo(接收端)、GND
3模块工作原理:
(1)采纳IO触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO输出一高电平,高电平继续的时间就是
超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;
本模块可提供全套测距法式:C51,PIC18F877,超声波LCD1602显示,超声波LCD12864显示,数码管显示,串口显示等,测距参考法式.
供以下全套资料
超声波模块原理图:。

HC-SR04超声波测距模块说明书

HC-SR04超声波测距模块说明书

HC-SR04超声波测距模块◼产品概述HC-SR04是一款升级的超声波测距模块。

新增加UART,IIC及1-WIRE(单总线)功能,模式可以通过外围电阻设置。

2CM超小盲区,4M典型最远测距,2mA超低工作电流。

采用自研超声波测距解调芯片,使其外围更加简洁,工作电压更宽(2.8-5.5V)。

驱动采用扫频技术,减少探头本身一致性对灵敏度的影响。

内部40K驱动频率采用正温度补偿,切合探头中心频率的温度特性,减小温度影响。

外部晶振为外观兼容而放置的晶振,不起任何作用,不焊接晶振的模块价格更有优势。

◼实物图片◼主要特性⚫采用专业解调芯片⚫工作电压:2.8-5.5V⚫工作电流:2mA⚫支持GPIO,UART,IIC及1-WIRE多种接口模式,默认输出模式兼容HC-SR04⚫2CM盲区,4M典型最远测距⚫200mS周期⚫可配置各种颜色及加固型探头◼典型应用⚫玩具,机器人避障⚫液位,水位测量⚫坐姿检测⚫其它测距应用◼性能参数◼GPIO/UART/IIC/1-WIRE模式选择◼测量操作一:GPIO模式工作模式同HC-SR04。

外部MCU给模块Trig脚一个大于10uS的高电平脉冲;模块会给出一个与距离等比的高电平脉冲信号,可根据脉宽时间“T”算出:距离=T*C/2(C为声速)声速温度公式:c=(331.45+0.61t/℃)m•s-1(其中330.45是在0℃)0℃声速:330.45M/S20℃声速:342.62M/S40℃声速:354.85M/S0℃-40℃声速误差7左右。

实际应用,如果需要精确距离值,必需要考虑温度影响,做温度补偿。

如有需要,可关注我司带温补单芯片RCWL-9700。

二:UART模式UART模式波特率设置:9600N1命令返回值说明0XA0BYTE_HBYTE_MBYTE_L 输出距离为:((BYTE_H<<16)+(BYTE_M<<8)+BYTE_L)/1000单位mm0XF1公司及版本信息连接串口。

HC-SR04超声波测距模块

HC-SR04超声波测距模块

HC-SR04超声波测距模块之阳早格格创做
1、本模块本能宁静,测度距离透彻.能战海中的
SRF05,SRF02等超声波测距模块相媲好.模块下粗度,盲区(2cm)超近,宁静的测距是此产品乐成走背商场的有力根据!
2主要技能参数: 1:使用电压:DC5V 2:固态电流:小于2mA 3:电仄输出:下5V 4:电仄输出:底0V 5:感触角度:没有大于15度 6:探测距离:2cm-450cm
交线办法,VCC、trig(统造端)、 echo(交支端)、GND
3模块处事本理:
(1)采与IO触收测距,给起码10us的下电仄旗号;
(2)模块自动收支8个40khz的圆波,自动检测是可有旗号返回;
(3)有旗号返回,通过IO输出一下电仄,下电仄持绝的时间便是
超声波从收射到返回的时间.尝试距离=(下电通常间*声速(340M/S))/2;
本模块可提供齐套测距步调:C51,PIC18F877,超声波LCD1602隐现,超声波LCD12864隐现,数码管隐现,串心隐现等,测距参照步调.
供以下齐套资料
超声波模块本理图:。

传感器之超声波测距HC-SR04

传感器之超声波测距HC-SR04

传感器之超声波测距HC-SR04⼀.前⾔HC-SR04超声波测距模块可提供2cm-400cm的⾮接触式距离感测功能,测距精度可达⾼到3mm;模块包括超声波发射器、接收器与控制电路。

像智能⼩车的测距以及转向,或是⼀些项⽬中,常常会⽤到。

智能⼩车测距可以及时发现前⽅的障碍物,使智能⼩车可以及时转向,避开障碍物,所以,我们今天就来学习⼀下这个传感器。

⼆.⼯作原理1.给超声波模块接⼊电源和地。

2.给脉冲触发引脚(trig)输⼊⼀个长为20us的⾼电平⽅波3.输⼊⽅波后,模块会⾃动发射8个40KHz的声波,与此同时回波引脚(echo)端的电平会由0变为1;(此时应该启动定时器计时)4.当超声波返回被模块接收到时,回波引脚端的电平会由1变为0;(此时应该停⽌定时器计数),定时器记下的这个时间即为超声波由发射到返回的总时长。

5.根据声⾳在空⽓中的速度为344⽶/秒,即可计算出所测的距离。

要学习和应⽤传感器,学会看懂传感器的时序图是很关键的,所以我们来看⼀下HC-SR04的时序触发图。

我们来分析⼀下这个时序图,先由触发信号启动HC-RS04测距模块,也就是说,主机要先发送⾄少10us的⾼电平,触发HC-RS04,模块内部发出信号是传感器⾃动回应的,我们不⽤去管它。

输出回响信号是我们需要关注的。

信号输出的⾼电平就是超声波发出到重新返回接收所⽤的时间。

⽤定时器,可以把这段时间记录下来,算出距离,别忘了结果要除于2,因为总时间是发送和接收的时间总和。

三.程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit Echo=P3^2;sbit Trig=P1^5;bit flag=0;/*********************************** 函数:void Delay5us() ---------------------- 说明:5微秒延时函数参数:⽆返回值:⽆***********************************/void Delay5us(){ uchar i; i--; i--; i--; i--; i--; i--; }void DelayMs(uint ms){ uint x,y; for(x=ms;x>0;x--)for(y=110;y>0;y--); }void Init(){TMOD=0x21;SCON = 0x50;EA=1;ES=1;ET0=1;TH1=0Xfd;TL1=0xfd;TR1=1;}void Send(uint dat){SBUF=(dat/100)+ 48; // 发送百位while(!TI);TI=0;SBUF=(dat%100/10)+48; // 发送⼗位while(!TI); TI=0;SBUF=(dat%10)+48; // 发送个位while(!TI); TI=0;}uint Conut(void){uint time; // ⽤于记录测得的时间uint ss; // ⽤于记录测得的距离time = (TH0*256+TL0)*1.09; // 总时间TH0=0; TL0=0;if(flag==1) // 如果超出测量距离,则不传输数据 { flag=0; ss=0; }else{ss=time*1.7/100; // 空⽓中声⾳的速度是340m/s }return ss; }void main(void) {uint ss; Init();while(1){Trig=1;Delay5us();Delay5us();Trig=0;while(!Echo);TR0=1;while(Echo);ss=Conut(); // 计算Send(ss); // 将计算的值通过串⼝发送出去DelayMs(800);}四.总结上⾯这个程序的功能就是从测距传感器获得距离的数值,进⾏单位的转化后⽤串⼝进⾏输出,显⽰在串⼝助⼿中,转化后的单位为厘⽶,还有⼀点需要注意的是,触发输⼊和回响输出端在不同的板⼦上是不⼀样的,⼤家要根据⾃⼰的原理图及单⽚机⾃⼰修改,有什么问题可以互相交流0.0}void zd0() interrupt 1 { flag=1; }。

超声波模块HC-SR04简介以及编程

超声波模块HC-SR04简介以及编程

超声波模块HC-SR04简介以及编程1、本模块性能稳定,测度距离精确,模块高精度,盲区小。

产品应用领域:机器人避障物体测距液位检测公共安防停车场检测。

2、主要技术参数:1:使用电压:DC---5V2:静态电流:小于2mA3:电平输出:高5V4:电平输出:底0V5:感应角度:不大于15度6:探测距离:2cm-450cm7:高精度可达0.2cm实物图接线方式:VCC、trig(控制端)、 echo(接收端)、GND基本工作原理:(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。

测试距离=(高电平时间*声速(340M/S))/2; 本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值5、操作:初始化时将trig和echo端口都置低,首先向给trig 发送至少10 us的高电平脉冲(模块自动向外发送8个40K的方波),然后等待,捕捉echo端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照测试距离=(高电平时间*声速(340M/S))/2 就可以算出超声波到障碍物的距离。

6、下面是飞思卡尔XS128单片机测距的程序:while(1){PT1AD0_PT1AD00 = 1;//给超声波模块输入高脉冲PITINTE_PINTE1=1; //打开PIT1定时器while(!(counter0>=4)); //等待20usPITINTE_PINTE1=0;counter0 = 0;//关闭定时器,计数清零PT1AD0_PT1AD00 = 0; //trig管脚拉低PORTB_PB0 = 0; //指示灯0while(!(PT1AD0_PT1AD01 == 1)); //等待echo输出上升沿PORTB_PB1 = 0; //指示灯1PITINTE_PINTE0=1; //打开PIT0定时器while(!(PT1AD0_PT1AD01 == 0)); //等待下降沿distance = counter*17/20; //计算距离,单位CMPITINTE_PINTE0=0; //关闭定时器PORTB_PB2 = 0; //指示灯2PITINTE_PINTE0=1; //打开定时器定时500ms,数码管显示 while(!(counter>=10000)){Showing(distance); //显示距离,精确1cm}PITINTE_PINTE0=0;counter=0; //关闭定时器,清零 }。

ESP8266超声波测距模块HC-SR04

ESP8266超声波测距模块HC-SR04

delayMicroseconds(2);
//微秒级延时
digitalWrite(TrigPin, HIGH);
delayMicroseconds(10);
digitalWrite(TrigPin, LOW);
cm = pulseIn(EchoPin, HIGH) / 58.0; //读取脉冲宽度,换算成厘米
float cm;
//浮点型数据类型(加小数点,提高精准度)
void setup() { Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT);
}
void loop() {
digitalWrite(TrigPin, LOW); //用低高低电平发送脉冲给Trigpin引脚
fatyang这种接线方法是常开端接线方法no是normalopen的意思3q第一次搞激动的不行哈哈已修改
ESP8266超声波测距模块 HC-SR04
一,HC-SR04主要技术参数: 1、使用电压:DC5V 2、静态电流:小于2mA 3、电平输出:高5V 4、电平输出:底0V 5、感应角度:不大于15度 6、探测距离:2cm-450cm 7、高精度:可达0.3cm 8、盲区:2cm
Serial.print(cm);
//显示距离
Serial.print(cm);
//显示单位
Serial.println();
//回车
delay(1000);
}三,注意:ຫໍສະໝຸດ 经过测试 ESP8266对接HC-SR04只能使用D1、D2引脚
二,ESP8266接线方式:
VCC------------->3v trig(控制端)---->D2 echo(接收端)-->D1 GND------------->G

HCSR04超声波测距模块

HCSR04超声波测距模块

HC-SR04超声波测距模块
1、本模块性能稳定,测度距离精确。

能与国外得SRF05,SRF02等超声波测距模块相媲美。

模块高精度,盲区(2cm)超近,稳定得测距就是此产品成功走向市场得有力根据!
2主要技术参数:
1:使用电压:DC5V 2:静态电流:小于2mAﻫ
3:电平输出:高
5:感应角度:不大于15度 6:探测距5V 4:电平输出:底0Vﻫ
离:2cm—450cm 7:高精度可达0。

2cm
接线方式,VCC、trig(控制端)、 echo(接收端)、GND
3模块工作原理:
(1)采用IO触发测距,给至少10us得高电平信号;
(2)模块自动发送8个40khz得方波,自动检测就是否有信号返回;
(3)有信号返回,通过IO输出一高电平,高电平持续得时间就就是
超声波从发射到返回得时间。

测试距离=(高电平时间*声速(340M/S))/2;
本模块可提供全套测距程序:C51,PIC18F877,超声波LCD1602显示,超声波LCD12864显示,数码管显示,串口显示等,测距参考程序。

供以下全套资料
超声波模块原理图:。

hc-sr04原理

hc-sr04原理

hc-sr04原理HC-SR04是一种常用的超声波测距模块,它可以通过发送一束超声波并接收反射回来的信号来测量距离。

它常被应用在许多领域,例如无人机避障、机器人导航、车辆倒车雷达等。

下面将详细介绍HC-SR04的原理。

HC-SR04模块由超声波发射器和接收器以及相关电路组成。

当模块工作时,首先通过控制器发送一个短脉冲信号给超声波发射器。

发射器将脉冲信号转换成超声波信号并发射出去。

超声波在空气中传播的速度约为340米/秒。

当超声波遇到障碍物时,会被障碍物反射回来,并被超声波接收器接收。

接收器将接收到的超声波信号转换成电信号,并送回控制器进行处理。

控制器根据发送超声波和接收超声波之间的时间差来计算出距离。

当发射器发射超声波时,控制器开始计时。

当接收器接收到反射回来的超声波时,控制器停止计时。

通过计算时间差,控制器可以得知超声波在空气中的传播时间。

由于超声波在空气中的传播速度已知,因此可以通过时间和速度的关系计算出距离。

具体而言,距离可以通过以下公式来计算:距离 = 时间差 * 速度 / 2除了测量距离外,HC-SR04模块还可以测量超声波的宽度,因此可以用于检测物体的尺寸。

通过测量超声波的宽度,可以判断物体是否宽度足够大,并进行相应的控制。

此外,HC-SR04模块还可以测量物体的相对运动速度。

通过连续测量物体的位置变化,可以得知物体的运动速度。

这在某些项目中非常有用,例如实时检测车辆的速度、检测物体的振动频率等。

总之,HC-SR04模块通过发送和接收超声波信号来测量距离、宽度和速度。

利用超声波在空气中传播的速度,结合计时的方法,可以精确地测量各种物体的参数。

它的简单、便宜和高效使得它成为许多项目中不可或缺的组件。

单片机超声模块(HC-SR04)说明

单片机超声模块(HC-SR04)说明

单片机超声模块说明(HC-SR04)了解超声模块我们要分几步来理解,包括它的工作原理和在单片机上的运行情况,只有两者相互理解透才能更好的利用超声模块来开发一些东东!不同型号的超声模块其实大致是一样,也就没必要区分型号,除非你是特别要求,对于爱好者,初学者,则是没必要这么苛刻!第一步:超声模块的工作原理参数的设置时序图的说明第二步:单片机的连接上面我们知道怎么连接单片机的线了,对于TRIG发射端,ECHO 接受端,它们只需要四I/O端口就可以。

第三步:程序的编写和功能的开发这里我选择TRIG = P2^0 ECHO = P3^2设置一个报警器,当距离超过150cm是就报警,不超过是就不报警。

/******************************************板子:郭天祥老师的52单片机板?设计者:蒋时间:2012-4-29学校:南昌航空大学******************************************/#include <reg52.h>sbit dula=P2^6; //数码管段选,锁存器控制信号sbit wela=P2^7; //数码管位选,锁存器控制信号sbit a=P2^3;#define uchar unsigned char#define uint unsigned intint time;int succeed_flag;uchar timeL;uchar timeH;sbit Trig=P1^0;sbit Echo=P3^2;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f}; void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void delay_20us(){uchar a ;for(a=0;a<100;a++);}//显示数据转换程序void display(uint temp){uchar ge,shi,bai;bai=temp/100;shi=(temp%100)/10;ge=temp%10;dula=0;P0=table[ge]; //送数字8到段码端口dula=1;dula=0;wela=0;P0=0x7b; //数码管位选wela=1;wela=0;delay(5);dula=0;P0=table[shi]; //送数字8到段码端口dula=1;dula=0;wela=0;P0=0x7d; //数码管位选wela=1;wela=0;delay(5);dula=0;P0=table[bai]; //送数字8到段码端口dula=1;dula=0;wela=0;P0=0x7e; //数码管位选wela=1;wela=0;delay(5);if(temp>150)a=0;elsea=1;}void main(){uint distance;Trig=0; //首先拉低脉冲输入引脚EA=1; //打开总中断0TMOD=0x10; //定时器1,16位工作方式while(1){EA=0; //关总中断Trig=1; //超声波输入端delay_20us(); //延时20usTrig=0; //产生一个20us的脉冲while(Echo==0); //等待Echo回波引脚变高电平succeed_flag=0; //清测量成功标志EA=1;EX0=1; //打开外部中断0TH1=0; //定时器1清零TL1=0; //定时器1清零TF1=0; //计数溢出标志TR1=1; //启动定时器1delay(20); //等待测量的结果TR1=0; //关闭定时器1EX0=0; //关闭外部中断0if(succeed_flag==1){time=timeH*256+timeL;distance=time*0.0172; //厘米}if(succeed_flag==0){distance=0; //没有回波则清零}display(distance);}}//外部中断0,用做判断回波电平void exter() interrupt 0 // 外部中断0是0号{EX0=0; //关闭外部中断timeH =TH1; //取出定时器的值timeL =TL1; //取出定时器的值succeed_flag=1;//至成功测量的标志//定时器1中断,用做超声波测距计时void timer1() interrupt 3 //{TH1=0;TL1=0;}一遍可能看的有点糊涂!多看几遍就可以看懂!不明白问me+739141300技术付出的是金钱和汗水,收获的是一份自信!。

超声测距模块HC—SR04的超声波测距仪设计

超声测距模块HC—SR04的超声波测距仪设计

置 相 应 的环 境 变 量 。
( )QtE e d d和 Qtpa开 发环 境 的 建 立 2 / mb d e oi 建 立 QtE e d d和 Qtpa开 发 环 境 的具 体 步 骤 如 / mb d e oi
G I 扩 展 资 源 , 现 对 超 声 波 测 距 模 块 HC—S 0 PO 实 R 4的 数
引 言
随着 国 民 经 济 的 迅 速 发 展 , 声 波 在 机 械 制 造 、 油 超 石 化 工 、 空 航 天 等 领 域 发 挥 着 越 来 越 重 要 的作 用 。 航
为 t超 声 波 在 空气 中 的传 播 速 度 为 c 则 从 传 感 器 到 目标 , ,
物 体 的距 离 D可 用 下 式 求 出 :
数 g l—nt 于 初 始 化 GPI po ii用 ’ O 没备 。 函数 g i eu — d v创 建 并 p0 t p c e s
传 播 过 程 中 会 产 生 衰 减 且 发 射 功 率 有 限 , 致 远 距 离 回 波 导
很 难 检 测 到 ,所 以会 有 一个 最 远 测 量 距 离 。另 外 , 过 温 通
波 从 发 射 到返 回 的 时 间 。
碍 障 匝

S20 显D 处 4 L屏 3器 示 C1 C 理
3 软 件 设 计
在 软 件 开 发 之前 , 先 要 完 成 软 件 开 发 环 境 的搭 建 , 首 接 下 来 最 重 要 的工 作 就 是设 备 驱 动 程 序 的 开 发 。 当 软 件 系统 底 层 的程 序 完 成 之 后 , 可 以 着 手上 层 的 与 设 备 无 关 就 的应 用 程 序 。最 后 就 是 系统 的 图形 界 面 的设 计 , 并将 应 用 程 序 烧 写 到 ¥ C 4 0开 发 板 上 。 321

HC-SR04超声波测距模块

HC-SR04超声波测距模块

HC-SR04超声波测距模块1、本模块性能稳定,测度距离精确。

能和国外的SRF05,SRF02等超声波测距模块相媲美。

模块高精度,盲区(2cm超近,稳定的测距是此产品成功走向市场的有力根据!2主要技术参数:1使用电压:DC5V 2:静态电流:小于2mA3:电平输出:高5V 4:电平输出:底0V5:感应角度:不大于15度6:探测距离:2cm-450cm 7:高精度可达0.2cm接线方式,VCC trig (控制端)、echo (接收端)、GND3模块工作原理:(1) 采用10触发测距,给至少10us的高电平信号;(2) 模块自动发送8个40khz的方波,自动检测是否有信号返回;(3) 有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;本模块可提供全套测距程序:C51,PIC18F877,超声波LCD1602显示, 超声波LCD12864显示,数码管显示,串口显示等,测距参考程序。

供以下全套资料(V) XBCT)帮助(H)串口显示4、粗声波时序图:10uS 的 TTL磁信号循环发出8个40KHz 脉冲MA MB模块内部 发岀信号输岀回响 信号图二、超声波时序图以上时序图表明你只需要提供一个IOuS以上脉冲触发信号,该模块内部将 发出8个40kHz 周期电平并检测回波。

一旦检测到冇回波信号则输出回响信号。

回响信兮的脉冲宽度与所测的距离成正比。

由此通过发射信号到收到的回响信号 时间间隔可以计算得到距离。

公式:uS/58=厘米或者uS/148=英寸:或是:距离 =高电平时间拿声速(340M/S) /2;建议测量周期为60ms 以上.以防止发射信号 对回响信号的影响。

:)►►跨►搜案辭液卿▼ 共享▼ 刻录新建文件夹調▼ 03❷)1\ 如013目 LC1602显示 II瞬换目LCD12864如目 串口显示数码営显示超芦波PIC单片机C程瞬换目 51C 辭LC1602显示目LCD12864回响电平输出 与检测距离成比例超芦波PIC 单片机C 程 序HC-SR04瞬013目 51C 歸参考瞬013目 数码営显示93注:1.此模块不宜带电连接,若要带电连接’则先让模块的G^D 端先连接,否则会影响 模块的正常工作°氛测距时,被测物体的面积不少于0$平方米且平面尽量要求乎制,否则影响测量的 结果5鲁实物规格:超声波模块原理图iraj~Lia JHTmSTTTTE-1fhMr *rK.4 M ] MT P1 3 蒯 MlVOC i?C> QW FI R MCb H J 1ST TV JmTlJ^g?。

hcsr04超声波模块工作频率

hcsr04超声波模块工作频率

hcsr04超声波模块工作频率
摘要:
1.HCSR04超声波模块简介
2.HCSR04超声波模块的工作原理
3.HCSR04超声波模块的引脚功能
4.HCSR04超声波模块的使用注意事项
正文:
HCSR04超声波模块是一款常用的测距模块,具有高精度、盲区超近、稳定测距等特点。

它的工作电压为DC 5V,工作电流为15ma,工作频率为
40kHz。

最远射程可达4m,最近射程为2cm,测量角度为15度。

HCSR04超声波模块的工作原理如下:首先,给超声波模块接入电源和地,然后给脉冲触发引脚(trig)输入一个长为20us的高电平方波。

输入方波后,模块会自动发射8个40khz的声波,与此同时回波引脚echo端的电平会由0变为1。

当超声波返回被模块接收到时,回波引脚端的电平会由1变为0,此时应停止定时器计数。

定时器记录的时间就是超声波从发射到返回的时间,根据这个时间可以计算出距离。

HCSR04超声波模块的引脚功能如下:VCC接5V电源,GND接地线,TRIG接脉冲触发信号,ECHO接回响信号。

在使用HCSR04超声波模块时,有一些注意事项:
1.确保模块工作电压稳定,避免电压波动影响测量精度。

2.避免模块长时间连续工作,以免过热损坏。

3.确保触发引脚和回响引脚的连接稳定,避免信号干扰。

4.在测量过程中,保持探头清洁,避免灰尘或污垢影响测量结果。

5.探头应垂直于被测物体,避免因角度不准确导致测量误差。

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

HC-SR04超声波测距模块及程序(坤)
uint Measure(void) {
char Del20us=0;//延时变量,在超声波脉冲引脚中产生 20us 的方波 char RxBack=1;//超声波返回标志位
TMOD=0x01;//定时器工作方式 1:16 位,初值不能重装
Tx=0;//将超声波脉冲引脚电位拉低 Th0=0;//初始化变量值 Tl0=0;//初始化变量值 TimeUp=0;//初始化
程序:
#include<reg52.h>
#define uint unsigned int #define uchar unsigned char
sbit Tx=P3^2;//产生脉冲引脚,延时 20us sbit Rx=P3^3;//回波引脚,进入外部中断 1。这些引脚可随意改ቤተ መጻሕፍቲ ባይዱ。
bit TimeUp=0;//定时器溢出标志位 long Th0,Tl0; unsigned long time0=0; uint Measureresult=0;
函数中调用了单片机的定时器所以单片机的一个定时器资源已经被占用但是没有使用外部中断而是软件查询引脚电平的方式判断回波信号目的是方便于再接入几个超声波模块因为单片机的外部中断资源有限
超声波模块 HC-SR04 简介以及编程
说明:我编写了一个超声波测距模块(HC-SR04)的程序,主 要把测距的程序写成函数形式,函数的返回值为所测的距离(为十进 制数),单位为毫米(mm)。便于大家嵌入自己开发的主程序中,方 便随时调用。函数中调用了单片机的定时器,所以单片机的一个定时 器资源已经被占用,但是没有使用外部中断,而是软件查询引脚电平 的方式判断回波信号,目的是方便于再接入几个超声波模块,因为单 片机的外部中断资源有限。
效果:可在 3CM-90CM 范围内测量,但是远距离误差较大 (1cm-2cm),但近距离误差较小。可以根据不同的模块作简单的修 正。

超声波测距模块(HC-SR04) 用户手册

超声波测距模块(HC-SR04) 用户手册

超声波测距模块(H C-S R04)用户手册work Information Technology Company.2020YEAR超声波测距模块(HC-SR04)用户手册版本号:V1.0版本日期:2011-2-271.产品特色2.产品框图3.接口定义4.模块工作原理5.注意事项1 产品特色:1、典型工作用电压:5V。

2、超小静态工作电流:小于2mA。

3、感应角度:不大于15度。

4、探测距离:2cm-400cm5、高精度:可达0.3cm。

6、盲区(2cm)超近。

7、完全谦容GH-311防盗模块。

8、带金属USB外壳,坚固耐用。

2 产品框图:3 接口定义:Vcc、 Trig(控制端)、 Echo(接收端)、 Gnd本产品使用方法:控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了。

4 模块工作原理:(1)采用IO触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO输出一高电平,高电平持续的时间就是(4)超声波从发射到返回的时间.测试距离=(高电平时间*声速(340M/S))/2;5注意事项:1:此模块不宜带电连接,如果要带电连接,则先让模块的Gnd端先连接。

否则会影响模块工作。

2:测距时,被测物体的面积不少于0.5平方米且要尽量平整。

否则会影响测试结果。

hc-sr04原理

hc-sr04原理

hc-sr04原理
HCSR04是一种超声波测距传感器,其原理基于声波的传播和反射。

当发送器发送一个超声波脉冲时,它会在目标物体表面反射,并返回到接收器。

通过测量发送和接收之间的时间差,可以计算出距离。

HCSR04发送器通常使用频率为40kHz的声波信号,因为这种频率的声波可以被空气传播和反射,且在传输距离较短的情况下具有良好的精度。

接收器则会检测到反射的声波,并将其转换成电信号进行处理。

HCSR04使用的超声波测距原理与蝙蝠在黑暗中捕捉猎物的原理相似。

蝙蝠发送高频声波,然后通过接收反射信号来确定猎物的位置。

这种原理也被称为回声定位。

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

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

HC-SR04超声波测距模块程序/************************************************************** *********************************************///HC-SR04 超声波测距模块//晶振:12MHZ//接线://串口波特率2400//编写:by kai*************************************************************** ********************************************/#include#include#include#define uchar unsigned char#define uint unsigned intsbit RX = P3^3; // ECHOsbit TX = P1^4; // TRLGsbit BEEP = P1^6; // BEEPsbit K1 = P4^5; // 报警距离 +sbit K2 = P4^3; // 报警距离 -unsigned int time=0;unsigned int timer=0;float S=999;bit flag =0;unsigned int B1 = 150; //设置报警距离 2-400//延时void Delay10ms() //@12.000MHz {unsigned char i, j;_nop_();_nop_();i = 117;j = 183;do{while (--j);} while (--i);}void Delay800ms() //@12.000MHz {unsigned char i, j, k;i = 37;j = 123;k = 92;do{do{while (--k);} while (--j);} while (--i);}/********************************************************/void Conut(void){time=TH0*256+TL0;TH0=0;TL0=0;S=(time*1.87)/100; //算出来是CMif(flag==1) //超出测量{flag=0;printf("-----\n");}printf("S=%f\n",S);}/********************************************************/void zd0() interrupt 1 //T0中断用来计数器溢出,超过测距范围{flag=1; //中断溢出标志}/********************************************************/void StartModule() //T1中断用来扫描数码管和计800MS启动模块{TX=1; //800MS 启动一次模块Delay800ms();;TX=0;}void ceju(void){EA = 0; //关闭中断,防止影响测量数据StartModule();while(!RX); //当RX为零时等待TR0=1; //开启计数while(RX); //当RX为1计数并等待TR0=0; //关闭计数EA = 1;Conut(); //计算}void Timer0Init(void) //微秒@12.000MHz{AUXR &= 0x7F; //定时器时钟12T模式TMOD &= 0xF0; //设置定时器模式TMOD |= 0x01; //设置定时器模式TL0 = 0x00; //设置定时初值TH0 = 0x00; //设置定时初值TF0 = 0; //清除TF0标志ET0 = 1; //开启定时器1中断EA = 1; //开启定时器1中断}voidUartInit(void)//***************** {PCON &= 0x7F; //波特率不倍速SCON = 0x50; //8位数据,可变波特率AUXR &= 0xBF; //定时器1时钟为Fosc/12,即12TAUXR &= 0xFE; //串口1选择定时器1为波特率发生器TMOD &= 0x0F; //清除定时器1模式位TMOD |= 0x20; //设定定时器1为8位自动重装方式TL1 = 0xF3; //设定定时初值TH1 = 0xF3; //设定定时器重装值ET1 = 0; //禁止定时器1中断TR1 = 1; //启动定时器1TI=1;}void baojing(){EA = 0;while(K1==0||K2==0){if(K1 == 0) // 报警距离 +{BEEP = 1;Delay10ms(); //消抖BEEP = 0;B1 = B1+5;}if(K2 == 0) // 报警距离 -{BEEP = 1;Delay10ms();BEEP = 0;B1 = B1-5;}}if(S{BEEP = 1;Delay800ms();Delay800ms();BEEP = 0;Delay800ms();BEEP = 1;Delay800ms();Delay800ms();BEEP = 0;Delay800ms();BEEP = 1;Delay800ms();Delay800ms();BEEP = 0;}EA = 1;}/********************************************************/ void main(void){Timer0Init();UartInit();K1 = 1;K2 = 1;P1M1 = 0X00;P1M0 = 0X40;BEEP = 1;Delay800ms(); BEEP = 0; while(1){ceju();Delay800ms(); baojing();}}。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

超声波模块HC-SR04简介以及编程
1、本模块性能稳定,测度距离精确,模块高精度,盲区小。

产品应用领域:机器人避障物体测距液位检测公共安防停车场检测。

2、主要技术参数:
1:使用电压:DC---5V
2:静态电流:小于2mA
3:电平输出:高5V
4:电平输出:底0V
5:感应角度:不大于15度
6:探测距离:2cm-450cm
7:高精度可达0.2cm
实物图
接线方式:VCC、trig(控制端)、 echo(接收端)、GND
基本工作原理:(1)采用IO口TRIG触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射
到返回的时间。

测试距离=(高电平时间*声速(340M/S))/2; 本模块使用方法简单,一个控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一
有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,即可以达到你移动测量的值
5、操作:初始化时将trig和echo端口都置低,首先向给trig 发送至少10 us的高电平脉冲(模块自动向外发送8个40K的方波),然后等待,捕捉echo端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照测试距离=(高电平时间*声速(340M/S))/2 就可以算出超声波到障碍物的距离。

6、下面是飞思卡尔XS128单片机测距的程序:
while(1)
{
PT1AD0_PT1AD00 = 1;//给超声波模块输入高脉冲
PITINTE_PINTE1=1; //打开PIT1定时器
while(!(counter0>=4)); //等待20us
PITINTE_PINTE1=0;counter0 = 0;//关闭定时器,计数清零
PT1AD0_PT1AD00 = 0; //trig管脚拉低
PORTB_PB0 = 0; //指示灯0
while(!(PT1AD0_PT1AD01 == 1)); //等待echo输出上升沿
PORTB_PB1 = 0; //指示灯1
PITINTE_PINTE0=1; //打开PIT0定时器
while(!(PT1AD0_PT1AD01 == 0)); //等待下降沿
distance = counter*17/20; //计算距离,单位CM
PITINTE_PINTE0=0; //关闭定时器
PORTB_PB2 = 0; //指示灯2
PITINTE_PINTE0=1; //打开定时器定时500ms,数码管显示 while(!(counter>=10000))
{
Showing(distance); //显示距离,精确1cm
}
PITINTE_PINTE0=0;counter=0; //关闭定时器,清零 }。

相关文档
最新文档