Arduino寝室智能门禁(刷卡+手机蓝牙)

出门忘带钥匙,回来又碰巧室友一个都不在,只能在门口干等;躺在床上,有人敲门,又得起身下床开门…… 懒癌附体,无药可治。于是在暑假,利用了两天时间,倒腾出来这个智能门禁。且听我慢慢分解。

左图是门内的效果,右图是门外的校园卡感应器。

元件清单

Arduino Uno R3

核心控制部分,其它元件调度的“大脑”。其实还考虑过Arduino Nano,体积更小。但是在实际使用的时候出现过电流过小,无法稳定驱动舵机的情况。故为了稳定性,选择使用Arduino Uno。

RC522 IC卡识别模块

核心模块之二,兼容大多数主流的MIFARE标准的IC卡。可以通过它来读取校园卡的UID(唯一标识符)的值,从而达到身份验证的效果。

舵机MG996R

没有用常见的SG90舵机是因为用舵机拉门栓需要挺大的力的。所以用了贵一点的MG996R,保证扭力足够,能够拉动门栓。

HC-06蓝牙模块

工作在丛机模式下,负责接收数据。

蜂鸣器等

蜂鸣器用来进行提示:刷卡成功“滴”一声,失败就“滴—滴”两声。 细的漆包线:IC卡识别模块需要用7根线和Arduino进行连接,而且门缝比较窄,所以没有用普通导线。 数据线:一般买Arduino自带。 热熔胶抢:固定走线、固定各种元件用。

硬件制作

第一张图上可以看到,我将所有的元器件固定在了一个洞洞板上,焊了一些排针方便拔插。还可以保证整体性,更加简洁。
当然也可以用杜邦线飞,但杜邦线不稳,容易掉。而且飞线太多也不太好看。

软件制作

控制舵机、蜂鸣器是小菜一碟,Arduino的新手必备技能。下面主要说说蓝牙模块和射频模块的使用。
蓝牙模块
使用方法可以见我另一篇文章中的总结:[Arduino]HC-06蓝牙模块使用小结
RC522模块
GitHub上有功能完整的库和丰富的示例了:rfid
在Readme中有RC522与Arduino的接口说明。第三方库的使用自行搜索。 之后就可以在Arduino工程文件中直接#include <MFRC522.h>了。
详细源代码:GitHub
注意:供电的电源一定要好,不然电机很有可能无法驱动。
最好用5V 1.2A来进行供电
有更多问题欢迎提问。

Comments