风筝
发表于: 2022-4-11 15:38:49 | 显示全部楼层

在本篇文章中,我们将使用Arduino开发板制作一个带有自动灯光控制系统的双向访客计数器。该项目基于一对红外传感器,当它检测到障碍物时会检测中断。这对红外传感器可以从两个方向检测访客,即进入的访客数量和离开的访客数量。


该Arduino双向访客计数器项目可用于计算进入大厅、购物中心、办公室、入口门功能的人数。也可用于停车场门口等公共场所。该设备计算通过大门进入的总人数以及从同一大门离开的总人数。最后,它计算当前在房间内的总人数。当房间内没有人时,即总人数为零时,房间灯会关闭。当房间内发现一个人时,灯会亮起。灯光控制系统是根据是否有访客自动进行的。

Visitor-Counter-Light-Control-Arduino.jpg


我们可以使用Arduino Nano开发板板制作整个项目,同时使用0.96寸OLED显示屏显示内容。当检测到房间内有人时,将激活5V继电器,自动打开连接到继电器的灯。


所需的组件

●    Arduino Nano开发板

●    IR红外传感器模块

●    0.96寸I2C OLED显示屏

●    5V继电器模块

●    5V电源


红外传感器

该项目的主要组件是用作人体探测器的红外传感器。每当红外传感器检测到中断时,它就会对人员进行计数并将其添加到先前的值中。

IR-Sensor-Module.jpg


红外传感器模块(IR Sensor)具有很强的环境光自适应能力。它有一个红外发射器和一个接收器。红外线发射管发射一定频率的信号,当遇到障碍物时反射回信号。反射信号然后被接收管接收。除了红外发射器和接收器外,该电路还包括运算放大器、可变电阻器(微调电位器)和输出LED灯。


传感器由以下部分组成。

IR-Sensor-Schematic.jpg


1.    红外LED发射器

红外LED发射器发出光,波长在700nm – 1mm的红外频率范围内。红外LED发射器的发光角度约为20-60 度,范围可达5-10 厘米。红外LED发射器为白色或透明色,因此可以发出最大量的光。


2.   光电二极管接收器

光电二极管充当IR接收器,因为当光线落在其上时它会传导。光电二极管看起来像一个LED,其外侧有黑色涂层。黑色吸收的光量最多。


3.   LM358运算放大器

LM358 是一个运算放大器 (Op-Amp),用作红外传感器中的电压比较器。比较器电路将使用预设值设置的阈值电压与光电二极管的串联电阻电压进行比较。当光电二极管的串联电阻压降大于阈值电压时,运算放大器输出为高电平。同样,当光电二极管的串联电阻压降小于阈值电压时,运算放大器输出为低电平。


当运算放大器输出为高电平时,输出端的LED点亮。这表示已检测到物体或障碍物。


4.   可变电阻器

这里使用的可变电阻是预设的。它用于校准应检测到的物体的距离范围。


Arduino双向访客计数器电路

该项目的硬件部分组装起来非常简单。我们只需要连接一对红外传感器、一个OLED显示屏和一个5V继电器模块。电路图如下。

Bidirection-Visitor-Counter-Circuit.jpg


您可以在面包板上组装上述电路。将OLED显示屏的I2C引脚,即SDA和SCL分别连接到Arduino开发板的A4和A5。OLED显示屏需要3.3V电源供电。将红外传感器的数字输出引脚分别连接到2和3。您可以通过3.3V或5V为红外传感器供电。继电器模块需要通过Arduino的数字引脚进行控制。因此,将其输入引脚连接到Arduino的数字引脚5。继电器也是需要5V电源。


双向访客计数器的Arduino代码

下面给出了带有自动光控系统的Arduino双向访客计数器的源代码。该代码需要SSD1306和GFX OLED库进行编译。首先下载以下库并将其添加到Arduino IDE。

1.  下载SSD1306库:https://github.com/adafruit/Adafruit_SSD1306

2.  下载Adafruit GFX库:https://github.com/adafruit/Adafruit-GFX-Library


您现在可以复制代码并将其上传到Arduino开发板。 vistor counter.rar (776 Bytes, 下载次数: 13)


测试结果

将访客计数器代码上传到Arduino开发板后,设备即可完成安装。您可以使用5V DC适配器为设备供电。


该设备有一对红外传感器模块。需要将一个红外传感器放置在入口处,另一个放置在出口处,即房间门内和房间门外。

Visitor-Counter-test.jpg


当房间内没有访客时,灯会关闭,OLED显示屏将指示房间内没有访客。

No-Visitor.jpg


当有人进入时,会添加访客,OLED显示屏会显示访客数量。在这时,灯会自动打开。当一个人离开房间时,访客数值被减去。因此,当前访问者的总数显示在OLED上。OLED显示屏还显示访问房间的访客数量和离开的访客数量。

Visitor-Counter-Displays.jpg


以上就是带有灯光控制系统的Arduino访客柜台的工作原理。您可以将此项目用于大厅、学校、办公室、多功能厅等。如果有任何疑问,请随时在本帖下面回复。


跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-23 15:42 , Processed in 0.038666 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表