目录
7.1 实验题目
- 本次实验题目为:基于Arduino的超声波传感器测距和LCD显示数据实验
7.2 实验目的
- 通过基于Arduino的超声波传感器测距实验,学习如何使用超声波传感器测量距离,并将测量结果显示在串口监视器上。
7.3 实验原理
- 超声波传感器使用超声波脉冲的发射和接收来测量物体到传感器的距离。当超声波发射后,它会在物体表面发生反射,传感器测量返回的超声波时间,并通过计算距离。
7.4 实验步骤
- 将超声波传感器连接到Arduino开发板。
- 使用Arduino IDE编写程序,配置超声波传感器的引脚和读取距离的代码。
- 上传程序到Arduino开发板。
- 观察超声波传感器返回的距离数据。
7.5 实验仪器
完成本次实验所需的元器件如表 7所示。
表 7 器材清单
元器件 | 数量 | 备注 |
Arduino开发板 | 1个 | / |
串口线 | 1条 | / |
超声波距离传感器 | 1个 | / |
LCD 16 x 2 | 1个 | / |
1KΩ电阻 | 1个 | / |
杜邦线 | 若干 | / |
7.6 电路设计
如图 7所示,为本次实验的电路设计图。
7.7 程序设计
以下是结合本次实验的电路设计图编写的实验程序,可以直接复制到Arduino单片机中进行烧录,烧录完成后即可实现本次实验要求达到的效果。
#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
const int trigPin=7;
const int echoPin=6;
void setup(){
lcd.begin(16,2);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
lcd.print("Distance(cm):");
}
void loop(){
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
long duration=pulseIn(echoPin,HIGH);
int distance=duration*0.034/2;
lcd.setCursor(0,1);
lcd.print("");//清空显示
lcd.setCursor(0,1);
lcd.print(distance);
lcd.print("cm");
delay(500);
}
7.8 实验总结
- 在LCD显示屏上,会看到超声波传感器返回的距离信息,单位为厘米。当有物体靠近或远离传感器时,距离信息会相应地变化。
- 通过这个实验,我学到了如何使用超声波传感器进行距离测量,并将测量结果通过Arduino上传到LCD显示屏。这是一个常见的应用,可用于构建避障小车、测距装置等项目。超声波传感器测距的原理和使用方法为我提供了在实际项目中应用传感器的经验。