安全一直是我们所有人关注的主要问题,市场上有许多基于高科技和物联网的安全和监视系统。入侵者或防盗警报器是电子学生和业余爱好者中经典且流行的项目之一。我们还基于各种技术构建了许多防盗警报器:
- 激光安全报警电路
- 基于红外的安全警报
- 使用PIR的防盗警报
- 基于GSM的安全系统
今天,我们在列表中又增加了一个基于超声波传感器的安全警报。该Arduino控制门警报器可以安装在门附近,以检测门上是否有人。每当有人进入超声波传感器范围时,蜂鸣器就会开始发出蜂鸣声。您可以根据您的门调整传感器检测范围。该系统还可以用于运动检测器。
所需组件:
- 面包板
- 超声波传感器
- 蜂鸣器
- Arduino Mega(任何型号)
- 跳线
- Arduino或12v,1A适配器的USB电缆。
超声波传感器模块:
此处使用超声波传感器HC-SR04来检测门上是否有人。传感器模块由超声波发射器,接收器和控制电路组成。超声波传感器由两个圆形的眼睛组成,其中一个用来发送超声波,另一个用来接收超声波。
我们可以根据超声波返回到传感器所花费的时间来计算物体的距离。由于声音的时间和速度是已知的,因此我们可以通过以下公式计算距离。
- 距离=(时间x声速)/ 2
由于波向前和向后传播相同的距离,因此该值除以2。但是在该项目中,我们使用了 NewPing.h 库,该库负责此计算,我们只需要使用一些关键字即可,下面的编程部分中给出了说明。
检查以下项目以测量任何物体的距离并正确了解超声波传感器的工作情况:
- 使用超声波传感器的基于Arduino的距离测量
- 使用HC-SR04和AVR单片机进行距离测量
电路图和说明:
该超声波报警器的电路连接非常简单。超声波传感器的触发针连接到针号。Arduino的12和传感器的Echo引脚连接到Arduino的11号引脚。传感器的Vcc连接至Arduino的5V引脚,传感器的GND连接至Arduino的GND。蜂鸣器的一个引脚连接到Arduino的GND,另一引脚连接到Arduino的第8引脚。
工作说明:
使用此Arduino门警报非常简单。每当有人进入超声波传感器的路径/范围时,微控制器都会检测到物体与传感器的距离,如果物体在定义的范围内,它将向蜂鸣器发送高电平信号,蜂鸣器开始发出蜂鸣声。
您可以通过将任何东西放在该范围内的传感器前面来测试电路,请检查视频以进行演示。超声波传感器的此功能还可用于构建避障机器人。
编程说明:
在这个项目中,我们使用了Tim Eckel开发的用于超声波传感器的 NewPing.h 库。尽管我们可以像上一个项目中那样在没有此库的情况下使用超声波传感器,但是该库为超声波传感器提供了许多良好的功能,并且使用该库可以很容易地为超声波传感器编码。通过该库,我们可以轻松使用超声波传感器的功能,而无需编写太多代码。就像其他用于较低级别处理复杂性的库一样。
#包括
您可以通过以下链接检查此库的所有功能,用途和示例代码。还要检查此库的官方Arduino页面。
可以从上面给定的链接下载库的最新版本。此外,我们从下面的链接下载了库,该链接针对Teensy进行了修改:
github.com/PaulStoffregen/NewPing
您应该首先通过刻录传感器页面上的示例代码来测试传感器。我们还为我们的项目使用了示例代码,并根据我们的Door Alarm Project对其进行了修改。
触发引脚连接到Arduino的引脚12,回波引脚连接到Arduino的引脚11。 MAX_DISTANCE 表示传感器可以检测到障碍物的距离为500 cm或5m。
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 500
下面的行说明了波特率,数据从超声波传感器发送到Arduino串行端口的波特率。
Serial.begin(115200);
10号引脚配置为输出引脚,并连接到蜂鸣器。蜂鸣器的另一引脚连接到Arduino的GND。
pinMode(10,输出);
在 void echoCheck() 函数中, sonar.ping_result / US_ROUNDTRIP_CM 用于计算与传感器的障碍物距离。当障碍物在距超声传感器50 cm的范围内时,该 标志 用于执行蜂鸣器。您可以根据您的要求或门的大小更改此“距离”。
如果((sonar.ping_result / US_ROUNDTRIP_CM)<50)标志= 1; 否则((sonar.ping_result / US_ROUNDTRIP_CM)> 50)标志= 0;
NewPing.h 库的作者对该代码进行了很好的注释,并且易于理解。此外,您可以检查库页面本身以更好地理解它,并可以使用该库通过超声波传感器进行复杂的项目。下面给出了此门警报项目的完整代码。
主要是超声波传感器用于测量任何物体的距离,但在这里我们可以看到,它可以作为安全报警或报警门与Arduino的。同样,我们可以使用以下命令创建许多有用的项目:使用Arduino的自动水位指示器和控制器