基于单片机的自动存储柜设计
来源:用户上传
作者:
摘 要:本文介绍了基于单片机的自动存储柜设计方法,通过单片机、GSM模块、矩阵按键模块、电子锁等实现人为输入手机号,单片机控制GSM模块向手机发送存包密码。
关键词:单片机;存储柜;GSM模块;随机密码
中图分类号:TP13 文献标识码:A
传统的存包系统功能单一、操作麻烦,并且人工看管或者使用微型打印机打印密码条,这样造成了一定的人力、物力的浪费,存在着一定的缺点。自动存储柜是利用密码锁解锁,当用户存包时,按下存包键,并向单片机系统输入用户的手机号,自动存储柜将会打开,同时单片机就能够生成六位随机密码并通过系统中的GSM模块向客户的手机发送密码短信,密码不会重复,以短信的形式存留在用户手机中。用户取包时,只需按下取包键,并输入6位密码,自动存储柜将会打开。自动存储柜还设有一键打印密码条功能,主要是为了老人或者出门没带手机的顾客准备,能够更方便的进行存包操作。
1 总体方案设计
自动存储柜由两部分组成,分别为电路部分和机械部分,STC89C52单片机作为CPU,用程序来制作六位随机密码,用4*4矩阵键盘作为输入端。使用的显示器是LCD1602液晶显示屏,作为输出端,并且用电子锁来模拟存包柜,用继电器来模拟微型打印机,通过GSM模块向用户发送六位随机密码短信。
系统主要实现以下的功能。
(1)运用矩阵按键来输入手机号码和存包密码。
(2)编制程序来生成六位随机密码,并且不会重复。
(3)随机密码在单片机中的保存及删除。
(4)电子锁模拟柜子的打开与关闭。
(5)继电器模拟打印机。
(6)利用GSM模块将随机密码发送短信给用户。
(7)考虑到超市老人们不会使用GSM发送短信或者未带手机的情况,在系统中添加了一项功能:当老人们不方便使用短信密码功能时候,按打印键使用打印机打印出带有密码的小纸条,老人就能在不懂操作的时候简单明了的获得密码。
本设计的最大创新点是使用6位随机密码和运用GSM模块将密码以短信的方式发送到用户手机上,相对于现在普遍使用的打印密码纸条或钥匙锁,节约了成本,省去了人工看管等费用,具有智能性,同时也符合绿色观念。
2 硬件電路设计
(1)主控制器电路设计。单片机的主控制器选择STC89C52,在节电方面和运行速度方面相比其它型号更为突出,是一款高性能的CPU,内部含有8k可编程存储器,4K字节EEPROM存储空间,[1]可直接使用串口下载。在自动存储柜系统中。主控制器不仅要满足本系统的一些要求,而且要满足节约成本与高性价比的要求,而控制器STC89C52完全符合。
(2)显示器。LCD1602是一种工业字符型液晶,能够同时显示32个字符,[2]主要优点有成本消耗上非常节约,以及性能非常好,能满足基本的字母表达需求以及数字表达;对比度能够自行调节;具有复位电路等,能够满足自动存储柜的各种要求。主要作用显示显示顾客输入的手机号以及顾客取包时输入的密码。
(3)GSM模块。GSM模块是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的操作系统、GSM射频处理、基带处理的并提供标准接口的功能模块。[3]GSM模块有40个引脚,正常运行时需要与单片机相配合,当我们的单片机发送指令给GSM模块时,GSM模块就可以命令GSM卡向手机号码发送密码的短信。
(4)矩阵按键电路。智能存储柜系统由于需要用户输入手机号、密码、打印纸条以及确认等操作,所以采用4*4的矩阵按键,分别包括0-9 10个数字按键,以及ABCDEF六个功能按键,这16个按键足以满足我们智能存储柜系统的需求。按键0-9是用于输入手机号和密码,按键A的功能是打印密码条;按键B的功能是删除,手机号或密码输入错误时,可将其删除,重新输入;按键C的功能是密码输入(取包),想取包离开时,可以按下C键,接下来就可以输入密码;按键D的功能是密码确认键,输入密码之后,按下D键,若密码正确则可打开柜子,否则显示屏显示“输入密码错误”。按键E和F的功能分别是手机号输入(存包)和手机号保存,按下E键,显示屏将会显示“请输入手机号”,输入11位手机号之后,按下F键,系统将随机产生6位随机密码,通过GSM模块将6位随机密码发送到用户输入的手机号上。
(5)蜂鸣器报警电路。在智能存储柜系统中,因为用户有可能会开错柜子或者恶意打开他人的柜子,因此需要设定一个输入密码错误三次,立即用蜂鸣器报警10S,用于对顾客的警示或提醒作用。
3 软件设计
(1)软件设计构想。系统正常运行时,显示屏显示“welcome”,若有人按下存包键,此时单片机内部按照事先编号生成6位随机密码的程序运行,并生成6位随机码,显示屏显示“请输入手机号”。用户输入玩手机号之后按下F键,系统将通过GSM模块将已生成的6位密码保存并发送到用户手机,同时单片机控制继电器打开柜子,几秒后继电器闭合,存储柜将被关闭。当用户取包时,按下C(取包)键,显示屏显示“请输入密码”,用户输入正确的6位密码,按下密码确认键之后,系统将会控制继电器打开对应的存储柜,取包过程结束。当用户连续三次输入密码错误时,蜂鸣器将会发出报警声,用作提醒或警示作用。
(2)程序各模块设计。智能存储柜系统由多个模块,分别是GSM模块、6位随机码生成模块,继电器模块、显示屏模块、矩阵按键模块、密码错误报警模块和打印机模块。
本设计采用C语言对各个模块进行编程,C语言与汇编语言相比在可读性和可维护性等方面均具有明显的优势,C语言具有国际化、标准化、全面化的优点。
4 结论
以单片机为核心的智能存储柜,利用GSM、LCD1602液晶显示屏、矩阵按键等实现对存储柜的控制。本设计具有如下优点,顾客可以利用手机获得密码,不再需要打印纸条获得密码,这样做既保护环境,又防止了密码丢失的可能性;当顾客没有带手机时,可以使用打印密码条的方式获得密码;本系统无需人工看管;另外本系统连续输错三次密码后,将会报警,用于提醒顾客。
参考文献:
[1]邹海军,杨颖杰,等.基于数字PID和89C52单片机的恒温控制器设计与实现[J].实验室科学,2011(02).
[2]张宇峰,黄科岩,等.简易基于单片机的空气粉尘和温湿度检测系统设计[J].中国战略新兴产业,2018(04).
[3]李杭彩.基于GSM模块的交互式多媒体课堂系统[J].计算机技术与发展,2011(09).
作者简介:韩钦(1997-),女,汉族,山东菏泽人,本科在读,电气工程及其自动化专业。
通讯作者:吴红梅(1977-),女,汉族,副教授,主要研究方向:分布式电源并网稳定研究。
转载注明来源:https://www.xzbu.com/1/view-15112815.htm