2016 - 2024

感恩一路有你

如何用arduino制作超声波测距模块

浏览量:4153 时间:2024-08-01 07:15:50 作者:采采

超声波测距是一种常见的测量方法,它通过发射超声波,并依据回波时间计算出物体到探头的距离。在arduino中,可以通过加一个超声波测距模块来实现测距,这样可以知道一个东西移动了多少距离等。本文将为大家介绍如何用arduino制作超声波测距模块。

一、超声波测距模块的选择

超声波测距模块有很多种,本文选用的是US-100。US-100是一款小型的超声波测距芯片,具有高精度、低功耗、高可靠性等优点。其引脚为左右两端为正极与地,中间为信号引脚,因此有两种出发方式:电平触发和串口触发。

二、连线步骤

将超声波测距模块的trig(触发信号)和echo(输出信号)接到arduino开发板的2、3口上,并将正极和地接到相应的位置上。下图是实物连线3D图:

三、程序编写

1. 电平触发方式

首先,需要将触发端口设置为输出OUTPUT,反馈端口设置为输入INPUT,然后给电平即可。以下是电平触发的完整代码:

```

define EchoPin 3 // 设置输出端口

define TrigPin 2 // 设置输入端口

void setup()

{

(9600); // 设置串口速率为9600

pinMode(EchoPin, INPUT); // 将输出端口设置为输入模式

pinMode(TrigPin, OUTPUT); // 将输入端口设置为输出模式

}

void loop()

{

digitalWrite(TrigPin, LOW); // 向trig口发送低电平信号

delayMicroseconds(2); // 延时2us

digitalWrite(TrigPin, HIGH); // 向trig口发送高电平信号

delayMicroseconds(10); // 延时10us

digitalWrite(TrigPin, LOW); // 恢复低电平

float distance pulseIn(EchoPin, HIGH) / 58.00; // 计算距离

(distance); // 输出距离值

(" cm"); // 输出单位

delay(100); // 延时100ms

}

```

2. 串口触发方式

使用串口触发也可以实现超声波测距。以下是部分代码,可以自行编写完整代码:

```

const int trigPin 2;

const int echoPin 3;

void setup() {

(9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop() {

long duration, inches, cm;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration pulseIn(echoPin, HIGH);

inches microsecondsToInches(duration);

cm microsecondsToCentimeters(duration);

(inches);

("in, ");

(cm);

("cm");

();

delay(100);

}

long microsecondsToInches(long microseconds) {

return microseconds / 74 / 2;

}

long microsecondsToCentimeters(long microseconds) {

return microseconds / 29 / 2;

}

```

四、测试结果

将程序编译上传到板子上后,打开软件右上端的串口工具,就可以在串口工具的输出框中看到距离超声波测距模块之间的距离。可以用尺寸检测是否正确。通过这种方法,我们可以轻松制作出一个简单的超声波测距模块,用于测量各种距离。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。