电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 基础入门 >> Arduino开发学习 >> 正文

【Arduino实验13 超声波测距】_arduino超声波测距程序

作者:佚名    文章来源:网络整理    点击数:    更新时间:2024/11/2

目录

一、实验目的

二、实验设备与环境

三、实验重点

四、实验难点

五、实验内容

5.1实验任务

5.2实验原理

5.3实验内容

5.4实验结果

5.5思考题


一、实验目的

1熟悉超声波传感器基本性能;

2掌握超声波传感器测距原理;

3 掌握超声波测距的编程方法

4 编程实现一个数显超声波测距仪

二、实验设备与环境

Arduino UNO套件、Arduino IDE、计算机、超声波传感器、1602 LCD显示屏等

三、实验重点

1超声波测距编程;2 编程实现超声波测距的LCD数字显示

四、实验难点

1超声波测距原理代码

五、实验内容

5.1实验任务

任务描述:超声波传感器的使用与参数测定;脉宽测量函数pulseIn()的使用;编程实现超声波测距与LCD显示。

5.2实验原理

1.超声波传感器

超声波传感器 

超声探头性能指标

探头的核心是其塑料外套或者金属外套中的一块压电晶片。构成晶片的材料可以有许多种。晶片的大小,如直径和厚度也各不相同,因此每个探头的性能是不同的,我们使用前必须预先了解它的性能。超声波传感器的主要性能指标包括:

(1)工作频率:工作频率就是压电晶片的共振频率。当加到它两端的交流电压的频率和晶片的共振频率相等时,输出的能量最大,灵敏度也最高。

(2)工作温度:由于压电材料的居里点一般比较高,特别是诊断用超声波探头使用功率较小,所以工作温度比较低,可以长时间地工作而不失效。医疗用的超声探头的温度比较高,需要单独的制冷设备。

(3)灵敏度:主要取决于制造晶片本身。机电耦合系数大,灵敏度高;反之,灵敏度低。

(4)指向性:超声波传感器探测的范围。

超声波具有频率较高,沿直线传播、方向性好、绕射小、穿透力强、传播速度慢(约340m/s,与声速相同)等特点。

2.超声波测距原理

超声波测距原理 

由超声波发射探头发出的超声波脉冲,经媒质(空气)传到物体表面,反射后通过媒质(空气)传到接收探头,测定出超声脉冲从发射到接收所需的时间,根据传输媒质中的声速,计算从探头到物体表面之间的距离。

距离的计算:

设探头到物体表面的距离为L,超声在空气中的传播速为v,从发射到接收所需的传播时间为t

测定距离:L = v×t/2。测出时间t,求出距离L。

超声波测距信号电平:

(1)传感器Trig引脚触发信号电平脉冲

传感器Trig引脚触发信号电平脉冲 

// 给TrigPin引脚一个10us的高电平触发脉冲

DitigalWrite(TrigPin,LOW);
delayMicroseconds(2);
DitigalWrite(TrigPin,HIGH);
delayMicroseconds(10);
DitigalWrite(TrigPin,LOW);

(2)传感器被触发后,发射探头发出8个40KHz检测超声波脉冲,接收探头自动检测回波信号

 

(3)回波信号检测,Echo引脚输出超声波从发出到返回持续时间t的高电平信号

pulseIn()函数检测电平持续时间

语法:pusle(EchonPin,HIGH|LOW)

 

参数说明:EchonPin,检测电平引脚;HIGH|LOW,读取引脚的高电平或低电平脉冲

continueTime = pulseIn(EchoPin,HIGH)//检测高电平持续时间(单位us)并赋值给变量

3.1602 LCD显示屏

显示屏电路、显示屏库函数(略)

4.arduino超声波测距电路:

arduino超声波测距电路 

5.3实验内容

1.超声波传感器参数测试

步骤1:如图所示,连接电路

步骤2:编写超声波测距、串口显示程序程序功能:间隔500ms测定一次距离;串口监视器以cm为单位实时显示测定的距离值

步骤3:程序调试(略)

2.LCD数字显示超声波测距

步骤1:如图所示,连接电路
步骤2:数字显示超声波测距程序代码实现功能:超声波测距;1602 LCD实时显示测定距离的值

步骤3:程序调试

源代码:

#include <LiquidCrystal.h>
#define LM35 A0
#define Trig 8 
#define Echo 9 
 
float cm; 
float temp;
LiquidCrystal lcd(12,11,5,4,3,2);      
int val = 0;        
  
void setup()
{
  lcd.begin(16,2);    
  lcd.print("Welcome to use!");   
  delay(1000);       
  lcd.clear();      
  
  pinMode(Trig, OUTPUT);
  pinMode(Echo, INPUT);
}
void loop()
{
 
  digitalWrite(Trig, LOW); 
  delayMicroseconds(2);    
  digitalWrite(Trig,HIGH); 
  delayMicroseconds(10);    
  digitalWrite(Trig, LOW); 
  
  temp = float(pulseIn(Echo, HIGH)); 
  cm = (temp * 17 )/1000; 
  
  lcd.setCursor(0,0);       
  lcd.print("Now Distance:"); 
  lcd.setCursor(2,1); 
  lcd.print(cm);      
  lcd.print("cm");  
  
  delay(1000);              
}
5.4实验结果

结论:通过编程连接电路实现了显示距离的LCD

反思:通过本次实验,我熟悉了熟悉超声波传感器基本性能;掌握超声波传感器测距原理;掌握超声波测距的编程方法。本次实验结果就是通过编程连接电路实现了显示距离的LCD。最后,在今后的学习中,我还需要继续努力。

作品:

Arduino实验13 超声波测距 

5.5思考题

1.思考超声波倒车雷达警报器实现原理,自己可否实现一个简易的超声波倒车报警器?

Tags:超声波测距,Arduino,超声波  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询