目录
一、实验目的
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引脚触发信号电平脉冲
// 给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.超声波测距电路
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。最后,在今后的学习中,我还需要继续努力。
作品:
5.5思考题
1.思考超声波倒车雷达警报器实现原理,自己可否实现一个简易的超声波倒车报警器?