超声波传感器是测量距离和检测物体的理想工具,而无需与物理世界进行任何实际接触。它用于多种应用中,例如用于测量液位,检查距离,甚至在汽车中更广泛地用于辅助自停车或防撞系统。以前我们还建立了许多超声波传感器项目,例如水位检测,超声波雷达等。这是一种精确测量小距离的有效方法。在本项目中,我们将HC-SR04 超声波传感器与Arduino一起使用 确定障碍物与传感器的距离。超声波测距的基本原理是基于ECHO。当声波在环境中传输时,在撞击障碍物后,声波会作为ECHO返回到原点。因此,我们只需要计算两种声音的传播时间,即撞击障碍物后的传出时间和返回原点的时间。由于我们知道声音的速度,因此经过一些计算,我们可以计算出距离。我们将针对此Arduino距离测量项目使用相同的技术,因此让我们开始吧。
使用的组件
- Arduino Uno或Pro Mini
- 超声波传感器模块
- 16x2 LCD
- 规模
- 面包板
- 9伏电池
- 连接线
超声波传感器模块
Arduino距离传感器的类型很多,但是在本项目中,我们使用HC-SR04 来测量2cm- 400cm范围内的距离,精度为3mm。传感器模块由超声波发射器,接收器和控制电路组成。超声波传感器的工作原理如下:
- 使用触发器将高电平信号发送10us。
- 模块自动发送八个40 KHz信号,然后检测是否接收到脉冲。
- 如果接收到信号,则表明信号处于高电平。高持续时间是发送和接收信号之间的时间间隔。
距离=(时间x空中声速(340 m / s))/ 2
时序图
该模块适用于声音回声的自然现象。发送大约10us的脉冲以触发模块。之后,模块会自动发送8个周期为40 KHz的超声波信号,并检查其回声。障碍物撞击后的信号返回并被接收器捕获。因此,障碍物到传感器的距离可以简单地通过以下公式计算得出:
距离=(时间x速度)/ 2。
在这里,我们将速度和时间的乘积除以2是因为该时间是到达障碍物并返回的总时间。因此,到达障碍物的时间仅为总时间的一半。
超声波传感器Arduino电路图和说明
上面显示了用于测量距离的arduino和超声传感器的电路图。在电路连接中,超声波传感器模块的“触发”和“回声”引脚直接连接到arduino的引脚18(A4)和19(A5)。16x2 LCD以4位模式与arduino连接。控制引脚RS,RW和En直接连接到arduino引脚2,GND和3。数据引脚D4-D7连接到arduino的4、5、6和7。
首先,我们需要使用arduino触发超声传感器模块发送信号,然后等待接收ECHO。Arduino读取触发和收到ECHO之间的时间。我们知道,声音速度约为340m / s。因此我们可以使用给定的公式计算距离:
距离=(行驶时间/ 2)*声速
那里的声音速度约为每秒340m。
16x2 LCD用于显示距离。
在本教程中找到有关测距项目工作的更多信息:使用超声波传感器和AVR单片机进行测距。
用于距离测量的Arduino超声波传感器代码
此超声测距项目的完整代码在本页底部。在代码中,我们使用pulseIn(pin)读取时间。然后使用适当的功能执行计算并在16x2 LCD上显示结果。