《基于Arduino的遥控电子密码锁的设计》由会员分享,可在线阅读,更多相关《基于Arduino的遥控电子密码锁的设计(50页珍藏版)》请在金锄头文库上搜索。
1、西安文理学院本科毕业论文(设计)题 目 基于Arduino的遥控电子密码锁的设计 专业班级 电子信息工程 学 号 学生姓名 王小兵 指导教师 设计所在单位 2014 年 5 月遥控电子密码锁的设计摘要:本设计是以Atmega328P-PU为主要芯片,通过中断、计数等基本工作方式来控制、判断外部器件的工作、工作状态,结合数字信号编码的基本算法,用红外遥控器遥控发送密码、再用红外接收管接收密码,单片机根据红外接收管导通与否和持续时间结合二次调制方式的基本算法还原遥控器发送的密码,再与内部储存器EEPROM储存的密码对比,判断密码是否正确,辅助以液晶显示屏LCD5110显示用户的操作结果,以蜂鸣器
2、报警或提醒,再通过红外遥控键盘实现输入或修改密码等基本功能实现红外电子密码锁的设计。本设计运用了C语言编写程序,简单、明了,很好的实现了红外通信的要求。在以往设计的基础上,使用Arduino集成开发环境编程,缩短开发时间,极大的方便了用户使用,特别是为工业生产带来了极大的便利。红外遥控电子密码锁具有成本较低、操作方便、体积小、无污染、反应速度快等优势,具有很好的市场价值。关键词:编码;解码;密码;红外遥控The design of remote electronic locksAbstract:The design is based on Atmega328P-PU as the main c
3、hip to interrupt, counting and other basic work mode to control an external device to determine the work, working conditions, combined with the basic algorithm using digital signal coded remote control to send password infrared remote control, then infrared receiver to receive a password, and durati
4、on of the microcontroller through or not combined with the basic algorithm according to the second modulation infrared receiver guide to restore the password sent by the remote control, password contrast with the internal memory and then stored in EEPROM to determine whether the correct password, th
5、e auxiliary LCD5110 display the user to manipulate the results, in order to remind the buzzer, and then enter or modify basic functions such as passwords infrared electronic locks designed by infrared remote control keypad. The design uses the c programming language, simple, clear .requirement to ac
6、hieve a good infrared communication. On the basis of the previous design, programming using Arduino integrated development environment, reduce development time, a great convenience to users, in particular has brought great convenience for industrial production. Infrared electronic locks with low cos
7、t, easy operation, small size, clean, fast response and other advantages, has a good market value.Key words:Encode ; Decode ; Password ;Infrared目录目录第一章绪论11.1 题目要求11.2 本设计主要硬件功能部分11.3 本设计软件的总体构思1第二章系统的硬件设计与实现32.1 EEPROM模块32.2 红外通信模块52.2.1 红外通信的基本原理52.2.2 红外遥控发射器及其编码62.2.3 红外接收和解码92.2.4 红外发送与接收设备92.3
8、LCD5110液晶显示模块112.3.1 LCD5110介绍112.3.2 LCD5110引脚功能表112.3.3 LCD5110电路图122.4 蜂鸣器报警模块132.5 单片机最小系统模块13第三章系统软件设计173.1 ARDUINO软件开发环境173.2 PROTEUS原理图仿真183.3 程序流程图193.3.1 主程序流程图193.3.2 红外遥控接收解码203.3.3 串口收发数据模块(调试)21第四章系统安装与调试244.1 硬件调试244.1.1红外遥控器调试244.1.2继电器调试244.2 软件调试24结束语26致谢27参考文献29附录30附录A 系统整体原理与实物图30
9、附录B 系统源程序(部分)32附录C 外文翻译原文38附录D 外文翻译译文41第2页西安文理学院本科毕业设计(论文)第一章 绪论1.1 题目要求红外遥控电子密码锁由红外遥控发射器、红外接收终端、带控制的电子锁、报警电路、密码存储模块构成。当红外接收终端收到遥控器发送的开锁密码信号后,并与保存在EEPROM中的密码对比。当对比成功后单片机通过IO口向电子锁发出开锁命令,完成开锁功能;当密码输入错误时通过蜂鸣器实现报警功能,用户还可以根据需要更改密码以提高系统防盗安全性。此题目的重点、难点是实现红外信号的接收、密码储存和正确识别按键并显示操作结果。由于红外遥控不影响周边环境、不干扰其他电器设备,其
10、无法穿透墙壁。因此,不同房间的家用电器可使用通用的遥控器而不会产生相互干扰;电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作;编解码容易,可进行多路遥控。而且红外遥控密码锁体积较小、操作方便等优势,具有很好的市场前景。1.2 本设计主要硬件功能部分本系统主要由六大部分组成:1) 单片机最小系统模块2) LCD5110液晶显示模块3) 红外接收模块4) 红外发送模块5) EEPROM密码存储模块6) 蜂鸣器报警模块1.3 本设计软件的总体构思本设计以Atmel公司的Atmega328P-PU芯片为核心控制器件,通过Atmega328P芯片与EEPROM之间交换密码后,再与用户通
11、过键盘或红外遥控器发送过来的密码作对比,然后使用LCD5110显示操作结果,用蜂鸣器提示密码输入是否正确。当用户输入错误次数达到上限(3次)时,蜂鸣器能够实现报警功能;用户还可以根据需要修改密码以保证系统的安全,从而实现红外遥控电子密码锁的设计,系统框图如下。 EEPROM密码存储电源模块液晶显示AVR MCU蜂鸣器报警红外接收器图 1-1 系统主体结构第二章 系统的硬件设计与实现硬件设计与实现一共分为5个部分,分别是:密码存储EEPROM模块、红外通信模块、液晶显示部分、蜂鸣器报警模块和单片机最小系统部分。EEPROM模块主要存储密码和用户数据,其具有断电数据不丢失的功能;红外通信模块完成用
12、户通过按键发送的键值借助红外光发送出去,接收端以红外接收器接收通过单片机程序解调出原始信号并加以处理执行进一步操作的功能,用户也可通图 2-1 系统主体结构过红外遥控器输入密码或者修改密码;液晶显示具有显示当前操作状态、提示下一步操作等功能;报警模块使用传统器件蜂鸣器实现报警功能;单片机最小系统部分决定了系统复杂程度和功耗以及稳定性和可靠性。2.1 EEPROM模块EEPROM (Electrically Erasable Programmable Read only Memory),电可编程只读存储器,它的最大优点是掉电后数据不丢失。在需要保存重要数据并且掉电后不丢失的情况下,使用EEPRO
13、M保存数据是一种较好的解决方法。本设计中使用Atmega328P-PU芯片内部自带的1KB EEPROM保存密码锁密码,不需要使用外部存储芯片,更节省资源,同时降低成本,提高系统可靠性和安全性。本设计基于I2C总线(又称IIC)协议对EEPROM模块数据进行擦除、写入或读出。I2C总线是PHLIPS公司推出的一种串行总线,是具备多从机系统的包括总线裁决和高低速器件同步功能的高性能串行总线。I2C串行总线有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有连接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。图 2-1 I2C连接方式每
14、个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。总线上接收数据的器件则为接收器。连接在IIC总线上的设备使用7位二进制编码地址,每一个从机分配唯一地址号,所以最多可以连接127个从机和一台主机。I2C通信原理:I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化,如图2-2所示。图 2-2 I2C通信时序SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号,如图2-3所示。图 2-3 起始和终止信号起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。连接到I2C总线上的器件,若具有I2C总线的硬件接口,则很容易检测到起始和终止信号。数据传送格式:(1)字节传送与应答每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧数据共有9位)。图 2-4 字节传送时序由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性