在本文中,我们将使用Arduino和16x2 LCD构建一个超声波测距电路。我们还将看到什么是超声波模块,它是如何工作的,以及如何用它来测量距离。
超声波是什么?
一个普通的健康人可以听到20赫兹到20000赫兹的频率。超过20000Hz或20kHz的人耳无法检测这些频率。任何大于20 KHz的声学共振称为超声波任何声学共鸣小于20赫兹的都称为次声波。
大多数家养动物,如猫或狗,能听到比人类更大范围的声波频率。我们的一些电子设备可能惹恼它们;这就是为什么超声波被用于电子设备的原因蚊子驱虫剂而且在狗驱虫剂。
但许多野生动物,如蝙蝠,利用超声波,这有助于他们确定捕食者和猎物之间的距离。它有生物传感器,通过发射和接收超声波来计算距离。
这一原则被许多现代人所采用电子测量设备;我们将学习同样的原理如何也适用于目前的项目。
超声波传感器:
我们将使用一种特殊的电子设备超声波收发器模块HC-SR04,该模块在电子商务网站和电子零售商店中非常流行和常见。
它由4个引脚Vcc、接地、触发器和回波组成。这些引脚与arduino微控制器连接。
它有一个发射和接收模块它们看起来一模一样,在发射机和接收机的开口处由铝制圆筒和网格保护。该模块还包括对回波信号进行解码的微控制器。
为了测量距离,我们需要发送一系列的超声波脉冲,并聆听回声。为了做到这一点,我们需要保持触发器引脚高10微秒,发射机发出8个超声波脉冲。
接收器模块会在遇到障碍物后监听这些脉冲。回波管脚发出与距离成比例的高信号。Arduino通过解读发送和接收信号的时间来确定实际距离。
由于声音在空气中以340米/秒的速度传播,时间可以通过比较发送和接收的信号来确定,我们可以用速度距离公式来确定距离:
距离=速度x时间
这些值将由Arduino计算,并在LCD显示屏上打印适当的值。建议的超声波测距仪电路可以以厘米和米为单位显示距离。
作者的原型:
线路图:
超声波测距电路的连接是通过标准的arduino-LCD接口完成的,我们也可以在其他类似的基于arduino-LCD的项目中找到这个接口。电位器用于调节液晶显示器的对比度。
的超声波传感器可以直接插入模拟引脚,如作者的原型所示,从A0到A3,传感器朝外;这可以在复制上述电路的同时减少导线阻塞。
程序代码:
#include LiquidCrystal lcd(12,11,5,4,3,2);const int trigger = A1;const int echo = A2;int vcc = A0;int gnd = A3;长时间;浮动distanceCM;浮动distanceM;浮动resultCM;浮动resultM; void setup() { lcd.begin(16,2); pinMode(trigger,OUTPUT); pinMode(echo,INPUT); pinMode(vcc,OUTPUT); pinMode(gnd,OUTPUT); } void loop() { digitalWrite(vcc,HIGH); digitalWrite(gnd,LOW); digitalWrite(trigger,LOW); delay(1); digitalWrite(trigger,HIGH); delayMicroseconds(10); digitalWrite(trigger,LOW); Time=pulseIn(echo,HIGH); distanceCM=Time*0.034; resultCM=distanceCM/2; resultM=resultCM/100; lcd.setCursor(0,0); lcd.print("Distance:"); lcd.print(resultM); lcd.print("M"); lcd.setCursor(0,1); lcd.print("Distance:"); lcd.print(resultCM); lcd.print("cm"); delay(1000); }
我们可以用一个保持数据按钮连接电路吗??
# include
这应该写为…
# include
很好,但我不知道哪个距离是如何工作的