你走到一把看不见的锁跟前,只有你自己有钥匙,甚至连碰都没碰就打开了。听起来很酷?今天我们将使用Arduino作为主干和一些便宜的组件来构建一个简单的基于RFID的智能锁。
这个项目背后的技术已经应用于许多行业。任何在现代化办公室工作或使用过公共交通工具的人都可能每天都会使用它。RFID(射频识别)识别存储在卡或加密狗芯片上的数据,并将其与已经扫描的标签列表进行比较。
我们将建立一个测试电路,使用Mifare MFRC522读卡器模块控制访问,打开和关闭锁。我们将使用主钥匙卡添加或删除对不同标签的访问,并创建一个简单的LED读数来告诉我们系统中发生了什么。
最后,我们将添加一个螺线管作为锁,和一个MOSFET安全触发它和关闭使用我们的Arduino。
MFRC522读卡器可以向RC522芯片读写数据,并将这些数据存储在Arduino的EEPROM中。这将是一个伟大的除了任何DIY设置,尤其是相关的任何基本的家庭安全系统。它可以与DIY报警系统或DIY安全摄像系统一起使用。
这种设置的明星是一个廉价的MFRC522模块,它附带了一张卡和一个fob包含一个s50芯片,每个存储自己的唯一永久标识号(UID)。两者功能相同,只是形状不同。
首先在ArduinoIDE的库管理器中搜索MFRC522库,然后安装它。或者,您可以下载库并将其手动安装到libraries文件夹中。如果你是全新的Arduino你可能会发现这个入门入门有用!
该库还包含一个Fritzing图,我已经对其进行了注释,说明了如何将模块附加到您的Arduino。
小心:这个电路板的工作电压是3.3V,而不是5V,所以要小心连接到正确的引脚。
要测试设置,请从文件>;示例>;MFRC522>;DumpInfo打开DumpInfo草图并将其上载到Arduino板。打开串行监视器,将一个RFID对象举到读卡器上。你应该看到这样的画面:
如果你读出来的话有错误
MIFARE_Read() failed: Timeout in communication,或
PCD_Authenticate() failed: Timeout in communication,别担心。这可能意味着您没有将标签向读卡器举起足够长的时间来读取所有数据。只要你得到卡片UID(一旦标签在读卡器的范围内,它就会被读取),它就可以用于这个项目。如果你没有得到一个读数,检查你的线路,然后再试一次。
既然我们已经验证了我们的模块可以工作,那么让我们添加其余的组件。按以下方式连接组件:
通过这种设置,每当我们从Arduino向MOSFET发送一个高信号时,它就会允许电流通过电磁阀。没有什么可以阻止你使用功率更高或更重的螺线管,虽然你需要一个降压变压器来从高于12V的电压为Arduino供电。也要密切注意MOSFET的数据表,以确保你不会过载。
一旦把它们放在一起,应该是这样的:
虽然没有必要,但我创建了一个小装备来模拟废木门锁。
随着电路的建立,是时候建立我们的Arduino草图了。很方便,MFRC522库附带了一个名为访问控制的示例草图,它几乎完全实现了我们想要做的事情。将Arduino连接到计算机,然后在Arduino IDE中打开文件>;示例>;MFRC522>;访问控制。
示例草图和库的GitHub页面都提供了大量信息。我们只需要修改几行。或者,您可以从这个GitHub下载我们修改过的代码。
首先,设计了一个使用公共阳极的单RGB LED电路的草图。我们将不使用它,所以只需注释掉这一部分。
//#define COMMON_ANODE现在,将我们的LED管脚与草图中定义的管脚进行匹配。
#define redLed 3 // Set Led Pins#define greenLed 4#define blueLed 2我们需要改变继电器引脚(虽然我们在这种情况下使用的是MOSFET)以匹配我们的设置。
#define relay 5 // Set MOSFET Pin为了更容易更改锁在以后保持打开的时间,我们将为它创建一个变量。
int lockDelay=10000; // lock stays open for 10 seconds.我们只需要再做一次改变。在循环方法的底部,if语句中隐藏的是授予的方法调用(300)。我们需要改变它,以便它使用我们的lockDelay变量。
granted(lockDelay); // Open the door lock for lockDelay duration以新名称保存草图,并将其上载到Arduino。完成后,打开串行监视器。当你第一次这样做的时候,它会要求你扫描一些东西作为你的主卡。将卡举到读卡器前,串行监视器上会显示卡的UID,并显示消息Everything Ready(一切就绪)
就这样!你的主钥匙已经准备好了。从计算机上拔下Arduino板。您的主密钥详细信息将保存在Arduino的EEPROM中,即使在电源关闭后也是如此。
最后快速检查一下你的线路,检查所有的东西是否都到位,然后连接你的12v电源。在这一点上,值得一提的是,您应该警惕您的电磁阀的占空比。我用于此测试的廉价电磁阀没有100%的占空比,因此它不应该长时间处于锁定位置。要使其成为永久设置,请使用100%占空比电磁阀。更好的是一个常闭(NC)电磁阀,它在断电时保持锁定。这也意味着任何想要绕过系统的人都不能简单地拔掉它!
当电路通电时,蓝色LED应亮起,以显示设备正在运行。将主卡放在读卡器上会将其置于管理模式,这会导致所有三个LED闪烁。当它们闪烁时,您可以在读卡器上方持有其他卡或fob,以添加或取消访问权限。它将闪烁绿色表示允许进入,蓝色表示带走。再次使用主卡退出管理模式。
现在,当你拿着一张卡片或一个fob,可以进入读卡器时,它会闪烁绿色并打开锁。如果它闪烁红色,访问被拒绝!
虽然这个项目是一个简单的开始,在使用RFID设备在您的DIY设置,它不是最安全的设置。我们不建议陪审团把这个操纵在你的前门。
你可以把整个机构组装成一个盒子,然后用螺线管把它锁起来。在盒子里装满饼干,然后用你的主密钥决定谁有权访问谁没有。成为饼干主!
你可以完全去掉螺线管,在它的位置加上一个LED条,并有一个RFID激活的灯。你可以用同样的方法在小屏幕上显示数据,比如Wi-Fi密码,当读卡器拿着一张有访问权限的卡或fob时。
你在家里用过RFID吗?让我们知道你的项目在下面的评论部分!
图片来源:Annmarie Young viaShutterstock.com网站
...更进一步,使用RGB LED条代替商店购买的神仙灯,并使用Arduino板来控制它们。 ...
所以,你有一个Arduino。你已经学会了一些基础知识,也许你已经按照初学者指南开始了。接下来呢? ...
...何工作的基础知识,并给出一些任何人都能做的简单DIY Arduino项目的例子。 ...
...智能家居市场掀起波澜。(查看伊恩巴克利的教程,使用Arduino和RFID**智能锁)。2010年,RFID的成本大幅下降。同时,由于RFID标准的全球推动,RFID的可靠性得到了提高。突然,一个非常可靠但成本效益高的跟踪或识别系统出现了...
...是一个初出茅庐的年轻发明家还是一个终生的硬件黑客,Arduino板和配件都是完美的礼物。 ...
Arduino项目可能很难知道从哪里开始。幸运的是有这么多的选择。这里有15个初学者Arduino项目,让你去! ...
... 这款骑士led扫描仪可以使用Arduino和一些简单的组件构建。你需要写一些代码,但是我们完整的教程涵盖了你需要知道的一切。 ...