上海羊羽卓进出口贸易有限公司

超声波传感器程序 超声波传感器HC-SR04使用方法以及程序说明

发布时间:2024-11-24 08:11:00

超声波传感器HC-SR04使用方法以及程序说明

本文是有关流行的超声波传感器HC – SR04的应用指南。我们将解释其工作原理,向您展示其某些功能,并分享一个您可以实际应用的Arduino项目示例,以便将其集成到您的项目中。我们提供了有关如何连接超声波传感器的示意图,以及与Arduino一起使用的示例程序。

描述

HC-SR04超声波传感器像蝙蝠一样使用超声波来确定到物体的距离。它以易于使用的功能提供出色的非接触范围检测,具有高精度和稳定的读数。它带有超声波发射器和接收器模块。

特征

以下是HC-SR04超声波传感器的一些功能和规格列表:

电源:+ 5V DC静态电流:<2mA工作电流:15mA有效角度:<15°测距距离:2cm – 400 cm / 1“ – 13ft分辨率:0.3厘米测量角度:30度触发输入脉冲宽度:10uS尺寸:45mm x 20mm x 15mm

它是如何工作的?

超声波传感器使用超声波来确定到物体的距离。这中间发生了什么:

1. 发射器(触发针)发送信号:高频声音。

2. 当信号找到一个物体时,它会被反射。

3. 发射器(回波引脚)接收它。

信号发送和接收之间的时间使我们能够计算到物体的距离。这是肯定的,因为我们知道声音在空气中的速度。

HC-SR04超声波传感器引脚

针脚

VCC:+ 5VDC触发:触发(输入)回声:回声(输出)地:地

使用Arduino的HC – SR04传感器

该传感器在Arduino应用中非常受欢迎。因此,在这里,我们提供了有关如何在Arduino上使用HC-SR04超声波传感器的示例。在该项目中,超声波传感器在串行监视器中读取并写入到对象的距离。

该项目的目的是帮助您了解该传感器的工作原理。然后,您应该可以在自己的项目中使用此示例。

注意: 有一个名为NewPing的Arduino库,可以使您在使用此传感器时更加轻松,容易。

所需零件

这是遵循下一个教程所需的部分的列表:

Arduino UNO超声波传感器(HC-SR04)面包板跳线

原理图

按照下一个示意图将HC-SR04超声波传感器连接到Arduino。

下表显示了您需要建立的连接:

超声波传感器HC-SR04 Arduino的IO

VCC 5伏

触发 针脚11

回声 针脚12

地线 地线

代码

将以下代码上传到您的Arduino IDE。

int trigPin = 11; // Trigger

int echoPin = 12; // Echo

long duration, cm, inches;

void setup() {

//Serial Port begin

Serial.begin (9600);

//Define inputs and outputs

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop() {

digitalWrite(trigPin, LOW);

delayMicroseconds(5);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

pinMode(echoPin, INPUT);

duration = pulseIn(echoPin, HIGH);

// Convert the time into a distance

cm = (duration/2) / 29.1; // Divide by 29.1 or multiply by 0.0343

inches = (duration/2) / 74; // Divide by 74 or multiply by 0.0135

Serial.print(inches);

Serial.print("in, ");

Serial.print(cm);

Serial.print("cm");

Serial.println();

delay(250);

}

代码如何工作

首先,为触发器和回波引脚分别创建变量,分别称为 trigPin和 echoPin。触发引脚连接到数字引脚11,回波引脚连接到数字引脚12:

int trigPin = 11;

int echoPin = 12;

您还将创建三个类型为long的变量: duration, cm和 inch。duration的持续时间可变保存信号的发射和接收之间的时间。cm 厘米变量将保存的是距离厘米,而 inch 英寸变量将保存英寸的距离。

long duration, cm, inches;

在 setup()中,以9600的波特率初始化串行端口,并将触发引脚设置为输出,并将回显引脚设置为输入。

//Serial Port begin

Serial.begin (9600);

//Define inputs and outputs

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

在loop()中,通过发送10微秒的HIGH脉冲来触发传感器。但是,在此之前,请提供一个短的LOW脉冲,以确保获得干净的HIGH脉冲:

digitalWrite(trigPin, LOW);

delayMicroseconds(5);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

然后,您可以从传感器读取信号-一个HIGH脉冲,其持续时间是从信号发送到接收到对象的回波之间的时间(以微秒为单位)。

duration = pulseIn(echoPin, HIGH);

最后,您只需要将持续时间转换为距离即可。我们可以使用以下公式计算距离:

距离=(旅行时间/ 2)x声速

声音速度为:343m / s = 0.0343 cm / uS = 1 / 29.1 cm / uS

或以英寸为单位:13503.9in / s = 0.0135in / uS = 1 / 74in / uS

我们需要分割时间一分为二,因为我们必须考虑到超声波被送到输出,碰到对象物体,然后返回到传感器。

cm = (duration/2) / 29.1;

inches = (duration/2) / 74;

最后,我们在串行监视器中打印结果:

Serial.print(inches);

Serial.print("in, ");

Serial.print(cm);

Serial.print("cm");

Serial.println();

NewPing的源代码

您也可以使用NewPing库。

安装NewPin库后,您可以上传下面提供的代码。

#include <NewPing.h>

#define TRIGGER_PIN 11

#define ECHO_PIN 12

#define MAX_DISTANCE 200

// NewPing setup of pins and maximum distance

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {

Serial.begin(9600);

}

void loop() {

delay(50);

unsigned int distance = sonar.ping_cm();

Serial.print(distance);

Serial.println("cm");

}

代码如何工作

使用NewPing库获取到对象的距离要简单得多。

首先包括NewPing库:

#include <NewPing.h>

然后,定义触发和回波引脚。触发引脚连接到Arduino数字引脚11,回波连接到引脚12。您还需要定义MAX_DISTANCE变量才能使用该库。

#define TRIGGER_PIN 11

#define ECHO_PIN 12

#define MAX_DISTANCE 200

然后,创建一个名为sonar的NewPing实例:

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

在setup()中,以9600的波特率初始化串行通信。

Serial.begin(9600);

最后,在loop()中,要获取距离,您只需要对超声波对象使用ping_cm()方法。这将为您提供以厘米为单位的距离。

unsigned int distance = sonar.ping_cm();

如果要以英寸为单位获取距离,则可以使用sonar.ping_in()代替。

故障排除

注意:" 如果HC-SR04没有收到回声,则输出永远不会变低。Devantec和Parallax传感器分别在36ms和28ms之后超时。如果您按上述方式使用Pulsin,则没有返回回显,程序将挂起1秒钟,这是Pulsin的默认超时时间。您需要使用timeout参数。

HC-SR04几乎无法工作到10英尺,因此总路径长度为20英尺,路径时间约为20ms,因此请将超时设置为25或30ms以上。

如果您在E和T之间放置一个电阻,比如说2k2,则仅连接到T,您可以仅从一个Arduino引脚使用HC-SR04。查找超声波传感器的单针操作。

另外,如果您将HC-SR04与PicAxe配合使用,则需要将时钟速度提高到至少8MHz,否则它们将看不到回波脉冲的开始,因此脉冲输入将永远不会开始。HC-SR04与BS2配合良好。

写到最后

在本文中,我们向您展示了HC-SR04超声波传感器如何工作,以及如何与Arduino一起使用。对于一个项目示例,您可以构建一个自己喜欢的项目。如一个带有LED和蜂鸣器的停车传感器。

自动化设备:超声波传感器图纸详解及使用设置

总述:超声波传感器是自动化的外围设备,下面介绍的是P+H的开关量的,模拟量另外介绍。

一、超声波传感器技术参数

1.检测范围 :200-4000MM

2.调节范围 :240-4000MM

3.盲区范围 :0-200MM

4.工作电压 :10-30VDC

超声波传感器

二、超声波指示和工作方式

1.LED 绿 常亮:接通电源

闪烁:TEIACH-IN 功能下检测到目标物

2.LED 黄 常亮:开关状态下的开关输出

闪烁:TEIACH-IN 功能

3.LED 红 工作状态下:“出错”

TEIACH-IN 功能下:未检测到目标物

超声波窗口状态

三、超声波接线方式/连接

接线及详解

四、设置方式

超声波传感器有一个开关量输出,对应的两个开关点可设置。设置方法是将TEACH-IN输入端分别连接电源-UB或者+UB来实现,连接时间至少为1秒钟。在设置过程中,LED灯指示传感器是否检测到了目标物。TEACH-IN输入端连接-UB时设置A1点,连接+UB时设置A2点。

五、设置模式

关点常开模式

--将目标物放在近开关点

--把TEACH-IN输入端连接+UB设置A2点

--把手遮住传感器或者移开传感器检测范围内的所有物体

--把TEACH-IN输入端连接-UB设置A1点

六、范围

范围详解

总结:以上是自己在工作中积累的总结的,如果能对大家有帮助的地方,谢谢大家支持。

相关问答

超声波传感器 的工作原理

[最佳回答]超声波传感器的工作原理如下:超声波传感器的主要材料是压电晶体和镍铁铝合金。由压电晶体构成的超声波传感器是一种可逆传感器,它可以将电能转化为...

超声波传感器 的工作原理是什么?

[最佳回答]超声波传感器的工作原理是利用声波介质对被检测物进行非接触式无磨损的检测。以下是扩展介绍:1、超声波传感器是将超声波信号转换成其他能量信号(通...

写出 超声波传感器 的工作原理并举例说明其应用?_作业帮

[最佳回答]超声波传感器工作原理:超声波传感器是利用超声波的特性研制而成的传感器.超声波是一种振动频率高于声波的机械波,由换能晶片在电压的激励下发生振动...

apm飞控怎样加装 超声波传感器 ?

回答如下:以下是一些一般的步骤:1.购买一个兼容的超声波传感器模块,例如HC-SR04。2.找到你的APM飞控板上的接口,通常是I2C或ADC端口。3.将超声波传感器...

距离 传感器 发出的 超声波 遇到物体后反射回传感器,传感器收到...

[最佳回答](1)由v=st可得,超声波通过的路程s=vt=340m/s×0.01s=3.4m,物体到传感器的距离d=12s=12×3.4m=1.7m;(2)由s-t图象可知,在0~5s内,s-t图象是一条平行于...

德国西克 超声波传感器 怎么设置?

首先接上插头给超声波传感器通电,然后长按住传感器上的黄色学习按钮,这时红色和绿色led灯都会亮。继续按住直到只有红灯闪烁,然后松开学习按钮。这时候就设置...

sick 超声波传感器 如何使用?

1、为确保可靠性及长使用寿命,请勿在户外或高于额定温度的地方使用传感器。2、由于sick超声波传感器以空气作为传输介质,因此局部温度不同时,分界处的反...1...

超声波传感器 怎么接线?

超声波传感器的接线通常包括VCC、GND、Trig和Echo四个引脚。VCC引脚连接到电源的正极,GND引脚连接到电源的负极,Trig引脚连接到单片机的输出引脚,Echo引脚连接...

超声波传感器 是如何测距的?

举几个常用的例子:40KHz直径16mm开放式超声波探头:5-8米40KHz直径16mm防水式超声波探头:2-5米40KHz直径>50mm防水式超声波探头:8-10米25KHz直径>...

超声波 距离 传感器 在手机上有啥用?

距离感应器主要广泛应用于手机上:当接通电话时,如果挡住距离感应器(在辅助摄像头和光线感应器之间的不明显的小长方形)的话,屏幕会变黑。也就是在你接电话时,...

展开全部内容