基于单片机的智能快递储物柜的设计

2023-09-27 14:20杨振宇刘燕张万尧寇凌峰刘源
电子制作 2023年17期
关键词:取件子程序按键

杨振宇,刘燕,张万尧,寇凌峰,刘源

(甘肃农业大学 机电工程学院,甘肃兰州,730070)

0 引言

随着信息技术的不断发展,人们的生活观念以及对生活品质的要求也发生了根本性变化。目前,快递行业已成为城市及农村发展中又一新兴市场[1],然而随着各类病毒与流感的传播,使我们不得不关注于如何有效阻止和降低快递投递过程中病毒的传播。针对这一情况,本设计对快递柜做了如下改进:第一,设计了短信发送功能,用户可以在手机上就看到自己的快递状态,节省了时间;第二,柜体加装机械控制的紫外线消毒灯,从根本上切断病毒流感的传播途径、减小感染风险。

1 系统总体设计

■1.1 系统方案

本方案以STM32 单片机为主要控制单元,同时还包含GSM 短信发送部分、OLED 显示部分、继电器控制部分、LED 声光报警系统、供电部分以及机械消毒部分八大部分。单片机系统主要处理内外数据,对按键指令进行分析处理,并作出响应[2];OLED 显示主要将单片机的响应进行显示;矩阵键盘可以用于切换界面、输入号码、输入验证码、删除、选择储物柜、确认等;继电器部分主要根据单片机指令进行开关闭柜门;GSM 模块主要用于发送验证码,实现用户取快递;LED 声光报警是为了快递的安全设计,当三次输错验证码,声光报警则启动,返回主界面,一分钟之内不进行存取件;供电部分则为整个存取件系统和消毒模块进行供电;机械消毒模块则是通过紫外线消毒灯对快递实现消杀工作。

图1 系统框图

■1.2 系统结构设计

1.2.1 柜格与消毒模块设计

柜格具备放置快递及消毒的双重功能。为避免包装腐蚀等问题,柜体采用紫外线消毒方式。同时为防止紫外线及臭氧外泄,柜格应具有良好密闭特性,在每一个柜格中按安装三根紫外线消毒灯并加装保护罩,进行消毒[3],效果图如图2 所示。

图2 消毒柜体设计

1.2.2 消毒灯的控制

由于紫外线消毒灯不可以照射人体[4],所以在消毒灯的开关控制上选择采用机械控制,在柜格内安装消毒灯的触动开关,在柜门关闭的瞬间连接电路,消毒灯打开并进行消毒,取件时柜门打开、电路断开,消毒灯随即关闭、防止对人体造成伤害,确保使用者安全,电路如图3 所示。

图3 消毒灯控制电路设计

2 硬件电路设计

■2.1 单片机主控部分

STM32 单片机主要功能是通过不断扫描矩阵按键获取输入数据[5],当数据传输给单片机时,单片机对其进行分析处理、输出指令。输入数据主要由按键进行控制,通过程序设计,按键可以完成存取的所有步骤,包括:“选择存取界面、输入号码、输入验证码、删除、选择储物柜、确认等功能模块”;单片机输出指令主要通过显示模块对用户的操作进行实时显示、对继电器传输指令控制继电器开关、单片机若连续收到三次错误验证码信息进行声光报警、当有快递员完成存件时,系统控制GSM 模块给收件人手机发送验证码[6]。单片机电路如图4 所示。

图4 单片机主控系统

■2.2 OLED 显示部分

OLED 显示屏采用嵌入式设计,主要用于对快递柜的运行状况进行实时显示[7],显示用户输入号码、输入验证码、删除、选择储物柜、确认、身份选择界面、显示快递员拿/取选择界面、用户拿/取选择界面、显示存储箱型号、空/满、显示“请输入验证码”、显示“请输入手机号”、显示“快递已存好”等情况,并将单片机分析处理的数据进行输出显示,对用户动作进行提示。

■2.3 矩阵键盘

快递柜存取系统由于所需输入指令较多,为满足操作人员需要,本系统采用了4×4 矩阵式键盘,系统提前将每个按键的功能进行设定,矩阵键盘工作方式是通过系统编辑的软件不间断地扫描矩阵键盘按下情况,以保证系统不会错过按键输入数据。本系统的主要工作思路为:单片机系统不断给行线传输低电平信号,每次保证其中一行为低电平信号,其余都为高电平信号,然后系统立即检测列线是否有低电平信号,从而就可判断出是哪个按键被按下,系统用同样的方法给其他行线输出低电平信号,同时检测各列线电平信号。通过扫描按键判断按键按下情况,STM32 单片机通过给按键设置不同键值,系统根据键值执行不同的子程序。系统提供了“确定”“清除”“我是快递员”“我是用户”“存”“取”六个功能键和0~9 十个数字键,共十六个按键来完成用户必要信息的输入。矩阵键盘需要用到8 个I/O 口,将单片机PB 口上的PB.8~PB.15 分配给键盘模块。如图5 所示。

图5 矩阵按键

■2.4 继电器控制

继电器模块之间与单片机连接使用,无需搭建外部电路,单片机的VCC、GND、IN口接入程序中定义的单片机的I/O口。继电器工作时,电磁铁通电,产生磁力,电路断开时,磁力消失,利用这一原理可以更好的控制快递柜门开关[8],当柜门关了后启动消毒功能。继电器控制电路如图6 所示。

图6 继电器控制模块

■2.5 GSM 发送部分

SIM800C 是一种广泛使用的GSM 模块,带有串行接口调制解调器,可在3.4V~4.4V 电压等级之间运行。SIM800C是一款四频GSM/GPRS 模块,可用作对远程数据传输的嵌入式应用。SIM800C 工作在850/900/1800/1900MHz,它还可以低功耗接收和发送语音电话、短信。该模块通过AT指令控制,支持一个SIM 卡接口,并具有UART(TX 和RX)引脚以及一个RS232 串行协议,可用于与嵌入式应用中的不同微控制器接口。将SIM 卡接入SIM800C 模块中,则可以实现短信发送功能。

■2.6 LED 声光报警

当取界面输入的验证码与系统中箱柜储存的验证码均不相同时,就会进入密码错误界面,提示用户重新输入密码,稍作延时后,系统将会自动返回取件界面,如若用户连续三次输错验证码[9],系统会将用户操作识别为非法操作,进入报警界面,扬声器报警,红色LED 灯亮,一段时间内,键盘将不接受任何操作,报警结束后自动返回主界面。

3 软件设计

■3.1 主程序设计主要思想

在软件开始运行时,主程序最先进行显示模块内部程序的初始化,同时对系统中的各子程序进行相应初始化,之后系统开始不间断扫描矩阵键盘,检测是否有电平信号输入,并根据不同的电平信号输入数据从而执行相对应的子程序模块。

当系统检测到“存件键”按下时,系统将首先在数据库中查看剩余空柜数量,并在显示界面进行显示,若检测到有空柜剩余,系统则提示可以进行存件操作,用户可以通过输入取件人的手机号码进行存件。该程序设计中同时设有清除和确定指令,可以满足用户输错或输入信息完成时可以按下使用,信息输入完成后系统对输入信息进行处理,并自动生成六位随机验证码,系统给继电器发出信号,继电器工作柜门打开,在用户放入物件并关闭储物柜后,系统收到柜门关闭信息,随即GSM 模块向取件人发送生成的六位验证码,发送成功后显示模块进行显示,之后系统回到主界面,存件过程进行完毕,紫外线开始消毒[10]。

当系统检测到“取件键”按下时,系统进入取件界面,显示界面提示用户输入六位验证码。该程序设计中同时设有清除和确定指令,可以满足用户输入错误和输入完成时操作使用,系统接收到输入的验证码后,根据提供的验证码与系统内部存储的信息进行比对找到相应信息,若核实正确则继电器工作,柜门打开,随即对应的LED 灯点亮,用户可将物品取走,取件后关上快递柜门,系统则返回主界面,若系统内部没有和验证码相同的密码信息,则显示模块显示错误提示,并返回上一界面,用户可进行重新输入。如果用户连续三次输入错误,系统程序将用户操作识别为非法操作,声光报警系统启动发出报警,短期内系统将不扫描键盘按下信号。成功取件后将在系统内部将会得到对应物件已被取走的信息,系统会对之前的存储信息进行清除,确保后续取件顺利进行。由此完成了一个取件过程。系统总体流程图如图7所示。

图7 系统总体流程图

■3.2 系统程序设计

在main.c 中,先写入其他.c 的头文件,接着是定义用到的全局变量和用到的子程序,然后就进入到主程序中[11]。在主程序中,首先进行系统初始化,然后按照顺序循环子程序,主系统程序中有:按键子程序、显示子程序、监测子程序和处理子程序。程序中的按键子程序用于切换模式、选择快递柜、输入取件码、手机号码等;监测子程序获得100000~999999 之间的随机数;显示子程序通过OLED 显示身份、拿/取快递界面、快递柜是否已满、输入的手机号、验证码等;在处理子程序中,若有快递员寄快递/用户存快递,GSM 发送验证码。

3.2.1 按键子程序

系统对按键不断进行扫描判断是否有按键按下,如果按下的数字键是1~9,则可进行输入号码、选择快递柜、输入验证码等操作;如果按键4 被按下,则进行快递员存快递模式;如果按键8 被按下,切换用户存取快递模式;如果按键12 被按下,切换选择快递柜模式;如果按键13被按下,确定验证码;如果按键15 被按下,删除输入数据或者返回上一步;如果按键16 被按下,直接输入验证码进行取件[12]。

3.2.2 显示子程序

根据不同的系统指令显示不同界面。在显示界面0 时,界面0,显示身份选择界面;界面1,显示快递员拿/取选择界面;界面2,用户拿/取选择界面。在空箱选择界面,显示存储箱型号、空/满。在输入验证码界面,显示“请输入验证码”。在输入手机号码界面,显示“请输入手机号”。在成功界面,显示“快递已存好”。

4 结语

本快递储物柜在原先快递柜的存取方式下,新增声光报警和柜内自动消毒功能,该技术融合了传统快递存取模式和消毒控制,实现了更加安全化、人性化的存取件方式。使用这种集体无差别消杀后进行的逐一消毒,在最大程度上杜绝了快递柜成为疫情源或中转点的可能性,在快递的最后运输环节竖起了一道科技的“铜墙铁壁”;同时,这种设计增强了人们对快递取件点的信任度,加之以消毒模块的使用,这种让人耳目一新的人性化设计。在后期项目会升级系统,逐步实现人脸识别存取件,运用科技的力量,实现更和谐、美好、安全、进步的生活体验。

猜你喜欢
取件子程序按键
基于有限状态机的按键检测程序设计
神奇魔法树
手工线模具中常用的取件方式
外卖与快递
跨区取件的困扰
一种多方向导光按键结构设计
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
按键的多种状态检测及消抖处理方法