出门 忘带钥匙,回来又碰巧室友一个都不在,只能在门口干等;躺在床上,有人敲门,又得起身下床开门…… 懒癌附体,无药可治。于是在暑假,利用了两天时间,倒腾出来这个智能门禁。且听我慢慢分解。
左图是门内的效果,右图是门外的校园卡感应器。
元件清单
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 来进行供电
有更多问题欢迎提问。