完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
寝室自制智能NFC门禁
起因 暑假申请了返校准备比赛,感觉疫情一个学期没有怎么锻炼了,晚上准备跑回宿舍。但是跑步的时候带钥匙太慢了,于是忙里抽闲,做了一个NFC的门禁(这样我就有理由买小米手环了hhh)结果图 原理比较简单,寝室是老式的插销,所以可以直接通过MG90s的舵机来驱动(和SG90s舵机比起来力量更大)。 正好手里还有一块上个项目留下来的Arduino UNO R3的板子,由此电源和连接的问题就比较简单了(然而还是焊接了下RC522模块),电源可以使用移动电源(我用的是锂电池),连接部分就可以使用杜邦线了。 初版只有NFC,以后有时间可以用树莓派做个中控,加一下红外模块和摄像。 器件: 1.Arduino UNO R3模块 2.RC522模块(会用电烙铁的话没事,不会用电烙铁的话最好找商家焊好排针,不过可能要多收钱,焊接弯针最好) 3.杜邦线若干 4.锂电池和锂电池的线 5.MG90s舵机一个 6.蜂鸣器(可以不加) 7.胶枪,502,胶带 Tips1:其他单片机平台(stm32或者51)也可,RC522的代码很简单,也有官方的github仓库 Tips2:这里简单说一下,有不知道杜邦线和舵机是什么的小伙伴。简单讲一下,舵机就是一个机器,上面有可以旋转的轴,也因此可以拉动插销。杜邦线有公对母,母对母,公对公的区别,主要就是公的代表是插头,母的代表是插座,具体选什么还是要看寝室的具体情况,线的长度可能也需要具体情况具体讲,不过可以先买30cm的,我的是够用的。 连线图 如果不想加蜂鸣器的话可以选择不加蜂鸣器,就把最下面的那个东西的连线都去掉就可以了。 还是不知道怎么连线或者用其他单片机的小伙伴,可以参考RC522的官方github仓库,里面解释比较详细 代码 #include #include #include #define N 2 #define M 4 static const unsigned char f[N][M] = { {0x, 0x, 0x, 0x}, {0x, 0x, 0x2E, 0x}, }; MFRC522 mfrc522(10, 9); Servo mg90s; void setup() { SPI.begin(); mg90s.attach(6); mg90s.write(0); pinMode(5, OUTPUT); pinMode(6, OUTPUT); return; } void loop() { static int c; int i, j; if(mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { for(i = 0; i < N; i ++) { for(j = 0; j < M; j ++) if(mfrc522.uid.uidByte[j] != f[j]) break; if(j == M) { mg90s.write(180); Serial.print("111"); delay(250); delay(2750); mg90s.write(0); c += 3; break; } } } else { delay(100); c ++; } if(c >= 20) { c = 0; SPI.end(); SPI.begin(); mfrc522.PCD_Init(); } return; } 简单解释一下代码,整体原理是RC522读取卡上的UID之后会和写死在代码里的UID进行比对,如果比对成功,就会驱动舵机,**f[N][M]**里面放的是所有人的UID,N是你写的卡的个数。 Tips:获取卡片UID的方式,比如校园卡,如果你有一个支持NFC的手机,可以下载一个软件查看UID,如果没有就复杂一些,建议借一个带NFC的手机。(比如我,惨兮兮,是通过实验室的门禁知道的,实验室门禁扫描到卡的时候,会在显示屏上显示UID) 另外,安全性确实是个大问题,不过介于本来就没啥安全性(上次忘了带钥匙,找开锁师傅,3s搞定,整的我都想去拜师学医了)和现在暑假疫情基本没啥人的情况,应该还是可以的。 |
|
|
|
只有小组成员才能发言,加入小组>>
3125 浏览 9 评论
2821 浏览 16 评论
3334 浏览 1 评论
8705 浏览 16 评论
3923 浏览 18 评论
9542浏览 3评论
876浏览 3评论
446浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
450浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2173浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 11:55 , Processed in 0.956810 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191