电
子
ID
锁
说
明
书
学 院: |
|
班 级: |
|
学 号: |
|
姓 名: |
|
目录
3.1舵机电路软件流程.............................................................................................................................. 1
3.3振动传感器电路软件设计流程 ..................................................................................................... 1
3.4蜂鸣器电路软件设计流程 .............................................................................................................. 1
单片机电子门锁设计全文共28页,当前为第1页。 |
摘要
本文说明的是一种以ARDUINO单片机作为主控芯片的电子ID锁,该ID锁设计中采用ATmega328P芯片作为数据存储器单元,MFRC-522芯片作为“看门狗”单元,并结合外围的键盘输入、电磁式蜂鸣器(Electromagnetic Buzzer)报警、开锁等电路模块。所设计ID锁得主要功能如下:开机刷卡一次,密码正确则舵机正常旋转;如果第一次刷卡失败,则蜂鸣器报警长鸣,在这个过程中,如果卡片正确则电子锁打开,如果在这个过程中卡片依旧不正确,则锁定输入功能,并且蜂鸣器报警;用户还可根据其需求对卡片密码进行更改。
本说明书所述电子ID锁具有设计方法合理,简单易行,成本低,安全实用等特点,具有一定的推广价值。
关键字:电子ID锁、ARDUINO、MFRC-522、MG996、蜂鸣器报警
单片机电子门锁设计全文共28页,当前为第2页。 |
一.绪论
1.1设计背景
电磁ID卡锁是指在门锁的设计中,使用了电磁铁和ID卡技术,实现了对门锁的开启和关闭。该技术源于智能家居和智能化办公场所的需求,旨在提高门锁的安全性和便捷性,减少钥匙管理成本,提升管理员的管理能力。传统的门锁设计采用钥匙开启方式,其存在以下缺点:首先,钥匙容易被复制,并且如果钥匙遗失或丢失,需要重新更换锁芯或要求门锁的所有者更换锁具,这给用户带来了不小的经济和时间成本;其次,钥匙容易丢失和遗忘,导致无法很好地管理门锁,造成保密难度;最后,传统门锁设计无法进行远程开锁,对于管理工作的便利性存在局限性。电磁ID卡锁的设计背景是,为了解决钥匙管理和保密问题,提高门锁的管理效率,使门锁更加智能化和便捷化,电磁ID卡锁采用了电磁铁和ID卡技术,使门锁的开启和关闭变得更加方便、快捷、安全。电磁ID卡锁的设计具有以下优点:首先,只有通过指定的电子钥匙卡才能开启门锁,保证了门锁的安全性和防盗性;其次,ID卡不易丢失,管理方便,也便于管理者及时了解各房间的使用情况;最后,电磁ID卡锁的开锁方式可以使用指纹、密码、或是手机APP等多重方式,实现了远程开锁功能,大大方便了门锁的使用。在目前,电磁ID卡锁已经广泛应用于现代化办公场所,企业单位和家庭等众多领域,发挥着安全保密、工作便捷等诸多优势。
1.2设计目标
本文主要讲述一种基于ARDUINO单片机的电子ID锁的设计过程,所设计的密码锁具有以下功能:开机输入密码,密码正确则电磁锁打开;开机刷卡一次,密码正确则舵机正常旋转;如果第一次刷卡失败,则蜂鸣器报警长鸣,在这个过程中,如果卡片正确则电子锁打开,如果在这个过程中卡片依旧不正确,则锁定输入功能,并且蜂鸣器报警;用户还可根据其需求对卡片密码进行更改。
本设计的特点如下:安全可靠,用户想要打开锁,必先通过提供的输入正确的ID钥匙才能将锁打开,输入错误有提示,为了提高安全性,当密码输入错误三次将报警。ID密码可以由用户自己修改设定,锁打开后才能修改密码。在输入新密码后,需确认,以防止误操作。
单片机电子门锁设计全文共28页,当前为第3页。 |
二.硬件设计
2.1舵机电路设计硬件流程
本设计采用MG996号舵机,可增加拉动门栓的拉力,一次成功。其原理如图1所示。
图1 舵机电路
本文介绍了如何使用Arduino单片机控制门锁舵机旋转,操作过程如下:
1.准备材料
- Arduino UNO R3主板
- 电子门锁舵机
- 杜邦线
2.接线
将电子门锁舵机的红色线连接到Arduino主板5V引脚,黑色线连接到GND引脚,黄色线连接到数字引脚6。
通过上述步骤,您可以使用Arduino单片机控制门锁舵机的旋转,实现门锁的安全性和便捷性的提升。需要注意的是,门锁安装时要遵循相关的安装标准和要求,以确保门锁系统的安全和可靠性。
2.2 MFRC-522射频电路硬件设计流程
本设计采用MFRC-522模块,其原理如图2所示。
图2 MFEC-522射频电路
设计MFRC-522射频电路的设计流程如下:
1.准备所需材料
Arduino UNO主板
MFRC-522射频读卡器模块
杜邦线
2.连接电路
将MFRC-522射频读卡器模块放在面包板上,并通过杜邦线将它连接到Arduino主板。在连接之前,请参考MFRC-522模块的电路接线图和Arduino Uno主板引脚图以确保正确接线,以下是一个可能的电路方案:
将MFRC-522模块SDA引脚连接到Arduino的数字引脚10
将MFRC-522模块SCK引脚连接到Arduino的数字引脚13
将MFRC-522模块MOSI引脚连接到Arduino的数字引脚11
将MFRC-522模块MISO引脚连接到Arduino的数字引脚12
将MFRC-522模块RST引脚连接到Arduino的数字引脚9
将MFRC-522模块3.3V引脚连接到Arduino的3.3V电源引脚
将MFRC-522模块GND引脚连接到Arduino的GND引脚
通过以上过程,您就可以使用Arduino Uno控制MFRC-522射频电路,实现射频卡的读取和识别。
2.3 振动传感器电路
本设计振动传感器它可以将物体振动信号转换成电信号输出,从而实现对门锁的震动或敲击等入侵行为的检测和报警。
单片机电子门锁设计全文共28页,当前为第6页。 |
图3 振动传感器电路
2.4报警电路
本设计采用压电式蜂鸣器,工作时约需要100mA驱动电流,其电路原理图如5所示。当单片机P2.0口输出为0时,蜂鸣器产生蜂鸣音;输出为1时,蜂鸣器不发声。
图4报警电路
单片机电子门锁设计全文共28页,当前为第8页。 |
三.软件设计
单片机电子门锁设计全文共28页,当前为第9页。 |
3.1舵机电路软件流程
1.编写代码
在Arduino IDE中编写程序,控制电子门锁舵机的旋转。下面是代码操作:
2.烧录代码
将Arduino主板和计算机连接,打开Arduino IDE,选择正确的端口和类型,并将代码上传到主板上。
3.测试
将电子门锁舵机连接到门锁上,并使用电池或电源适配器对Arduino主板进行供电。测试舵机能否正确旋转,开启和关闭门锁。
通过上述步骤,您可以使用Arduino单片机控制门锁舵机的旋转,实现门锁的安全性和便捷性的提升。需要注意的是,门锁安装时要遵循相关的安装标准和要求,以确保门锁系统的安全和可靠性。
3.2 MFRC-522射频电路软件设计流程
1.编写代码
在Arduino IDE中编写代码,控制MFRC-522模块读取射频卡的信号,并在串行监视器
上输出读取到的卡号。下面是一个简单的代码:
2.上传代码
将Arduino主板和计算机连接,并使用Arduino IDE上传代码到主板上。
3.测试
将MFRC-522模块放置在卡片上以测试它是否能正确识别卡片,同时在串行监视器上查看读取到的卡号。
通过以上过程,您就可以使用Arduino Uno控制MFRC-522射频电路,实现射频卡的读取和识别。
3.3振动传感器电路软件设计流程
1.代码编写
在Arduino IDE中编写代码,将振动传感器模块的数字输出连接到Arduino的数字引脚2上,并通过数字引脚2来读取振动传感器模块的输出值。下面是一个简单的代码:
2.上传代码
将Arduino主板和计算机连接,并使用Arduino IDE上传代码到主板上。
3.测试
将振动传感器模块放置在需要检测的地方,例如门锁或设备上,可以通过串行监视器来查看是否检测到振动,并进行相关的处理。
通过以上过程,您就可以使用Arduino Uno控制振动传感器,实现对振动信号的检测和处理。
3.4蜂鸣器电路软件设计流程
1.编写控制蜂鸣器的代码。
在Arduino IDE的编辑窗口中编写代码。以下是一段用于控制蜂鸣器的简单代码:
上面的代码定义了蜂鸣器连接的引脚,将其设置为输出模式,并控制其高低电平状态以控制蜂鸣器的鸣叫和停止鸣叫。
2.上传代码
将Arduino板连接到计算机并将代码上传到板子上。从菜单栏选择File -> Upload,此时代码将被编译并上传到Arduino板上。
3.测试
将蜂鸣器连接到Arduino板上,当Arduino控制蜂鸣器发出声音时,你就可以确认代码正常工作了。
以上是Arduino单片机控制蜂鸣器电路的软件设计流程。学习和掌握这个过程将使你能够设计和控制更复杂的LED、调制解调器等电路。
单片机电子门锁设计全文共28页,当前为第11页。 |
单片机电子门锁设计全文共28页,当前为第12页。 |
四.设计体会
通过使用Arduino单片机控制门锁,我获得了许多有益的经验与体会。以下是我在这个过程中总结的几点体会:
1. 硬件设计的重要性。对于控制门锁的项目,硬件设计非常重要。正确选择组件和电路是实现高质量和高性能门锁的关键。同时,为了确保硬件工作正常,还需要确保组件正确连接,以及主板和电源的可靠性和稳定性。
2. 熟练掌握Arduino编程语言。在使用Arduino控制门锁时,编写代码是必不可少的。了解Arduino编程语言的语法和特性,可以帮助你更好地控制门锁的行为,对于编写稳定,高效的代码非常有帮助。
3. 安全性和可靠性。安全性和可靠性在门锁项目中至关重要。为了确保门锁安全可靠,需要使用优质,可靠的组件,同时确保代码的稳定和安全性,以防止任何潜在的故障和安全问题。
4. 团队合作。对于大型门锁项目,需要一个有能力的团队来实现。团队成员之间需要良好的协调和沟通,以确保项目实施进度和控制工作的质量。以团队的方式工作,将大大提高项目实施的效率和质量。
总之,通过使用Arduino单片机控制门锁,我收获了许多有益的经验和体验,这将对我的未来项目开发和控制器设计非常有帮助。
五.参考文献
[1] 基于AT89S51的密码锁设计 高海;郭红霞 现代电子技术 , 2010 , 第18期
[2] 采用AT89C51的电子密码锁的设计 戴文雯 电子产品世界 , 2013 , 第10期
[3] 基于52单片机电子密码锁的设计 曾素琼;曾静玲;罗建 成;王智豪;刘特威;陈 电脑与电信 , 2016 , 第C1期
[4] 基于无线传感技术的微型计算机信息管 理系统 张海涛;胡志朋 计算机技术与发展 , 2019 , 第6期
[5] 基于单片机的仓库温湿度监控系统设计 崔东艳 考试周刊 , 2011 , 第84期
附录
单片机电子门锁设计全文共28页,当前为第14页。 |
单片机电子门锁设计全文共28页,当前为第15页。 |
附录一 元件清单
名称 | 代号 | 规格或型号 | 数量 |
单片机 | U1 | Arduino | 1 |
振动传感器 | U2 | SW-420 | 1 |
蜂鸣器 | U3 | Speaker | 1 |
白卡 | U4 | ID | 1 |
舵机 | U5 | MG996 | 1 |
RFID | Y1 | MFRC-522 | 1 |
电池模块 | D1 | 12V锂电池 | 1 |
杜邦线 | CN | 10CM | 若干 |
附录二 源程序