如何使用键盘输入建立一个激光Tripwire安全系统?

可以使用不同的安全技术,如PIR和声音检测来实现家庭防御。然而,最著名的(可能也是最狡猾的)设备之一是激光绊网。

在这个DIY项目中,我们将制作一个激光tripwire系统,它还包括一个关键的代码系统,以防止未经授权的禁用和启用警报。

激光Tripwire电路图

电路图

激光Tripwire是如何工作的?

像大多数PIC项目一样,激光tripwire的电路是非常基础的,这个项目的复杂性就是它本身。

这个电路中的激光和蜂鸣器是通过一个晶体管来控制的,因为图片不能产生或吸收大量电流。因此,晶体管Q1和Q2就像开关一样,可以使/禁用电源到各自的负载。电压调节由LM7805提供,各种无源元件确保解耦,拉上/下逻辑线,反极性保护。

开关矩阵使用4行4个开关,总共16个开关。如果每个开关都连接到PIC上的IO pin,就需要16个IO引脚,这并不完全令人满意。然而,通过使用一个矩阵,四个开关与一个4位的输出连接在一起,你只需要8个IO针而不是16个。

缺点是您必须扫描每一行,因为每一行的四个按钮都共享一个公共总线。值得庆幸的是,这是一张图片,所以这种扫描技术在代码中非常简单,尤其是C!

PIC的代码相当简单,有以下几个关键特性:

  • 密码保护
  • 武装或重置状态
  • 激光触发检测
  • 关键检测

在主程序循环中进行的第一个检查是如果安全系统处于武装状态。如果是,则读取模拟pin RA0,看看LDR是否有足够的光线(来自激光)。如果没有,那么蜂鸣器就响了。为了简单起见,如果光水平超出了触发级别,代码也会关闭蜂鸣器。但是,真正的警报不会禁用蜂鸣器,直到进入复位代码。

第二个检查是键扫描系统。这是先写0b00010000到LATC完成的,它支持第一行。这一行的数据被读入一个缓冲区,然后再移动一次。这将选择下一行,因为LATC现在是0b00100000,并且从矩阵中读取数据。

最后,所有的行都被读入了,这就把我们带到下一个部分——关键检查。Switch语句用于每个4位值的读入,以确定被按下的键。如果键是数字键(0 - 9),那么该值将被加载到键缓冲区中,该缓冲区包含用户输入的组合。如果键是一个函数键,那么下面的一个结果就是:

  • 手臂——进入臂状态。先按这个,然后输入密码,然后按回车。
  • res——进入复位状态。先按这个,然后输入密码,然后按回车。
  • clr-清除输入的密码。
  • ent-提交输入密码。如果密码有效,将会自动或重新设置警报。

建设

这个项目只使用了通孔部分,这使得它成为大多数建筑技术的理想选择,包括面包板,stripboard, matrixboard,甚至pcb。为了便于施工,我在PCB上使用CNC铣床设计了这个项目。所有的CNC文件、示意图和代码都可以在下面的项目文件中找到。

激光网格是用反射镜设置的,它被放置在这样一种方式下,激光束最终会回到LDR。这是非常有利的几个原因。

首先,它可以给你一个几乎无限的覆盖范围,只要你的光束足够强大。

第二,如果有人试图用手电筒照到镜子上,然后穿过光束,系统仍然会触发。手电筒的光束太过分散,当反射到达LDR时,光线太暗,无法阻止系统触发。如果入侵者试图使用激光束,那么他们就必须在绝对正确的方向上拥有激光束——否则,光束将不会击中难以置信的小的LDR目标(这需要很长的时间才能完成)。

关于PCB丝网设计的说明。

你可能已经注意到PCB上的白色顶层——这是我正在尝试的一个实验性的组件。

在制作自定义PCB时,除非打印出PCB布局,否则很难知道部件的位置。但与此同时,您还需要组件值。由于组件的值在组件的传说中是不常见的,所以在你面前要有示意图和PCB布局就变得很困难了。

因此,我正在试验,打印出一个1:1比例的元件图例(也称为丝网印刷层),把它粘到PCB的顶部,与孔对齐,然后用锋利的加工刀将纸边擦干净。

到目前为止,它似乎是在做这个工作,但它有点丑陋,所以我将尝试用彩色卡片来寻找更强大和更漂亮的组件图例。如果你自己尝试,一定要用胶水棒和激光打印机,否则这层会干得太快,墨水会流血。


相关文章