您将学习如何将超声波传感器HC-SR04与Arduino连接。它可以是超声波范围传感器或任何用途。
超声波传感器HC-SR04是可以测量距离的传感器。它会发出40 000 Hz(40kHz)的超声波,该超声波在空中传播,如果路径上有物体或障碍物,它将反弹回模块。考虑到传播时间和声音的速度,您可以计算出距离。
HC-SR04的配置引脚为VCC(1),TRIG(2),ECHO(3)和GND(4)。VCC的电源电压为+ 5V ,您可以将TRIG和ECHO引脚连接到Arduino板中的任何数字I / O。
进行此项目所需的材料:
1. Arduino UNO R3 CH340(您可以使用任何Arduino开发板)
2.超声波传感器HC-SR04
3.公对公跳线
4.面包板
为了产生超声波,我们需要将触发引脚设置为高状态10 s 。这将发出一个8周期的声音脉冲,将以速度声音行进,并且将在回音针中接收。回音针将输出声波传播的时间(以微秒为单位)。
例如,如果物体距传感器20厘米,并且声音的速度为340 m / s或0.034 cm / µs,则声波将需要传播约588微秒。但是由于声波需要向前传播和向后反弹,所以从回声针所得到的将会是这个数字的两倍。因此,为了获得以厘米为单位的距离,我们需要将从回波引脚接收的行进时间值乘以0.034,然后将其除以2。
对于编程代码,首先我们需要定义连接到Arduino板的触发引脚和回波引脚。在此项目中,EchoPin附加到D2 ,TrigPin附加到D3。然后定义距离(整数)和持续时间(长整数)的变量。
在循环中,首先必须确保trigPin是透明的,所以我们必须将该引脚设置为LOW状态仅2 µs 。现在,用于生成超声波,我们必须设置trigPin的高态为10微秒。使用pulseIn()函数,您必须读取行程时间并将该值放入变量“ duration”中。此功能有2个参数,第一个是回波引脚的名称,第二个可以写入HIGH或LOW。在这种情况下,HIGH表示pulseIn()该功能将等待由反弹的声波引起的引脚变为高电平并开始计时,然后在声波结束时等待引脚变为低电平而停止计时。最后,该函数将返回脉冲长度(以微秒为单位)。为了获得距离,我们将持续时间乘以0.034,然后将其除以2,如我们之前解释此方程式。最后,我们将在串行监视器上打印距离的值。
脚步 :
1.首先进行如图所示的接线
2.打开Arduino IDE软件并写下您的代码,或下载下面的代码并打开它
3.通过选择工具>板> Arduino / Geniuno Uno选择您自己的Arduino板(在本例中为Arduino Uno)
4.选择“ COM端口”(通常只显示一个现有端口),在“工具” >“端口” >“ COM。”中。(如果有多个端口,请一一尝试)
5.通过按Ctrl + U或Sketch > Upload上载代码
6.要显示测量数据,可以使用串行监视器,方法是按Ctrl + Shift + M (确保波特率是9600)
上载代码后,使用串行监视器显示数据。现在,尝试将一个物体放在传感器前面,然后查看测量结果。
考虑到这一点,您可以使用手动卷尺测量距离并将其与串行监视器上的距离进行比较。如果要在LCD上显示,可以按照第二个接线图并上传以下代码。