快捷搜索:  汽车  科技

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)需要准备以下相关材料:超声波测距原理简单介绍下超声波测距的原理:超声波顾名思义,它是一种超过人耳听力范围的一种声波,所以我们人耳是无法听到的,是一种频率高于20000赫兹的声波,它的特性是方向性好,穿透能力强,如今已经超声波已经广泛应用于测距、测速等方面。超声波也是属于声音,所以它在空气中传播的速度为340m/s,可以利用时间差测距法进行距离测算,所以超声波传感器可以根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s=340m/s× t / 2 。

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)(1)

大家好,我是机器侠!旨在用最简单的语言,让大家学习更多的知识!

前两天要去测量一套毛胚房的相关数据,发现卷尺使用起来很是不方便。

便找了一块arduino和超声波传感器设计了超声波测距仪,用于测量距离,考虑到将arduino连接电脑显示数据显然很不可就靠。

为了不用电脑就可显示测量出来的数据,所以此次设计的测距仪通过LCD1602显示器对测量数据进行实时显示,以便使用者直接从显示屏上观察数据。

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)(2)

超声波传感器

简单介绍下超声波测距的原理:

超声波顾名思义,它是一种超过人耳听力范围的一种声波,所以我们人耳是无法听到的,是一种频率高于20000赫兹的声波,它的特性是方向性好,穿透能力强,如今已经超声波已经广泛应用于测距、测速等方面。

超声波也是属于声音,所以它在空气中传播的速度为340m/s,可以利用时间差测距法进行距离测算,所以超声波传感器可以根据计时器记录的时间t,就可以计算出发射点距障碍物的距离s,即:s=340m/s× t / 2 。

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)(3)

超声波测距原理

需要准备以下相关材料:

  1. arduino一块(此次实验我用的arduino uno,也可以使用其它型号的arduino,当然体 积越小越好,推荐用arduino por mini,价格便宜体积小,自带的端口也基本够用)
  2. USB 2.0数据线(用于arduino与电脑连接,进行程序下载和调试)
  3. 超声波传感器一个(此次实验我用的型号是HC-SR04)
  4. 显示屏一块(此次实验我用的型号是lcd1602)
  5. 杜邦线若干
  6. 9V的电池一块(包含与arduino连接的DC端口)

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)(4)

arduino uno

如下图所示,首先将arduino uno与超声波传感器相连接。

连接方法:

传感器电源正极VCC——5v正极

传感器触发控制端Trig——D7数字口

传感器接收端Echo——D6数字口

传感器电源地GND——5v负极

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)(5)

arduino与超声波传感器连接图

对于电子爱好者来说,基本上对液晶显示模块都不陌生。常见的液晶显示屏幕有LCD1602和LCD12864等,它们都是由若干个字符点阵位组成的,一个点阵位可以显示一个字母、数字或文字。

接下来就是将LCD1602连接到arduino uno上,LCD1602上有16个引脚,其中在于arduino uno链接时,是不需要全部接入的,如下图为LCD1602的引脚说明图。

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)(6)

lcd1602引脚说明

连接方法:

LCD1602 RS端口——D12数字口

LCD1602 E端口——D11数字口

LCD1602 D4端口——D5数字口

LCD1602 D5端口——D4数字口

LCD1602 D6端口——D3数字口

LCD1602 D7端口——D2数字口

LCD1602 BLA(背光电源正极)端口和VDD电源正极——5V正极

LCD1602 BLA(背光电源正极)端口和GND电源负极——5V负极

其它引脚滞空

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)(7)

连接图

最后就是程序的设计,打开arduino IDE,将代码下载到arduino中,就可以实现相应的测距功能了。其中本程序加载了<LiquidCrystal.h>库函数,附上全部代码:

#include <LiquidCrystal.h> //库函数

LiquidCrystal lcd(12 11 5 4 3 2);

const int TrigPin = 7;

const int EchoPin = 6;

float cm;

void setup() {

lcd. begin(16 2);

pinMode(TrigPin OUTPUT);

pinMode(EchoPin INPUT) ;

}

void loop()

{

digitalWrite(TrigPin LOW); //低高低电平发一个短时间脉冲去TrigPin

delayMicroseconds(2);

digitalWrite(TrigPin HIGH);

delayMicroseconds(10);

digitalWrite (TrigPin LOW);

int timer=-500;

cm=pulseIn(EchoPin HIGH)/58.0; //将回波时间换算成cm

cm=(int (cm*100.0))/100.0; //保留两位小数

delay(500);

if(millis()>timer 500)

{

lcd. print ("Dist:");

lcd. setCursor(6 1);

lcd. print (cm);

lcd. print ("cm ");

lcd. home();

timer=millis() 500;

}

}

附上实物图:

怎么自制一个超声波测距仪(还在用卷尺测量距离吗)(8)

测距实物图

到此为止,一个超声波测试仪就大功告成啦,其中部分内容只是简单说明,有些新手朋友看着肯定有点吃力,不过没关系。后面会对相应的一些模块进行分开详细解释和说明。

猜您喜欢: