基于工型永久磁铁的手机考勤系统设计与实现

2021-10-13 10:25郑文豪钱文龙黄河蔡兵通讯作者
电子制作 2021年19期
关键词:子程序刷卡考勤

郑文豪,钱文龙,黄河,蔡兵(通讯作者)

(湖北文理学院物理与电子工程学院,湖北襄阳,441053 )

0 引言

当代大学生因自控能力差而逃课,或者在课堂上时把玩手机,导致其上课效果欠佳。因此,在课堂上禁止学生玩手机并对全班学生上课率进行考勤,是十分必要的。现教室虽有手机存放袋等考勤系统,但由于学生人数较多,总会有极个别学生投机取巧不上交手机或提前早退,或频繁出现上交模型机的情况,所以不能将全班每位学生的手机存放情况和上课率及时的反应出来。为此,本文设计了一种基于工型永久磁铁的存放手机考勤系统。

1 系统整体构成

系统的总体结构设计如图1所示。其主要结构由工型永久磁铁、霍尔传感器模块、上位机、STM32、语音模块、显示模块、读卡模块组成;工型永久磁铁、霍尔传感器模块数量相等;MCU模块分别与霍尔传感器模块、显示模块、语音模块、读卡模块、上位机通过有线方式依次连接。系统主控为STM32核心板,通过读卡模块对学生卡进行信息采集,通过由工型永久磁铁构成的霍尔传感器模块对模型手机进行检测,这些信息由MCU模块上传至上位机,同时由显示模块显示[1]。

图1 系统的总体结构设计图

2 系统硬件设计

在存放手机考勤系统中,MCU模块采用STM32作为主控芯片将语音模块、读卡模块、显示模块、霍尔传感器模块共同组成一个完备的硬件系统,实现对存放手机的情况信息进行采集。其中,霍尔传感器模块是本硬件系统的核心所在。以下将详细的对这几个模块进行介绍。

2.1 霍尔传感器模块的构成与原理

霍尔传感器模块中的集成电路IC1采用线性型霍尔集成电路UGN3501T[2],电阻R1为10k,电阻R2为5k,可调电阻RP1和可调电阻RP2都为100k,电阻R3为5k,电阻R4为5k,集成电路IC2和集成电路IC3采用LM339比较器, 集成电路IC2的同相端选用LM339的7脚,集成电路IC2的反相端选用LM339的6脚,集成电路IC2的输出端为LM339的1脚,集成电路IC3的同相端选用LM339的5脚,集成电路IC3的反相端选用LM339的4脚,集成电路IC3的输出端为LM339的2脚,集成电路IC4采用CD4066开关电路,集成电路IC4的输入端选用CD4066的1端,集成电路IC4的输出端选用CD4066的2端,集成电路IC4的控制端选 用CD4066的13端,CD4066的输入端1端接地。其硬件连接图如图2所示。

图2 霍尔传感器模块具体集成电路连接图

由于模型手机的含铁量比真机的含铁量高,导致施加于霍尔集成电路UGN3501T的磁场强度不同[3],从而通过IC2、IC3比较器识别出来。

2.2 读卡与语音模块

读卡模块的芯片采用RC522芯片,三极管T1为9012,R5为1kΩ,语音模块由三极管T1、电阻R5和扬声器BY组成。其硬件连接图如图3所示。

图3 STM32F103V8T6与RC522电路具体连接图

图3中的STM32F103V8T6的PB12、PB13、PB14、PB15、PC7端分别与RC522的SDE、D5、D7、D6、/RST端相连。读卡模块中的RC522与STM32F103V8T6之间的通信采用SPI模式,RC522的EA端硬件接高电平,RC522的I2C端硬件接低电平,读卡模块采用市售的读卡模块。STM32F103V8T6的PE1端与语音模块连接。在学生刷卡后,RC522读取学生卡中的学生信息(如学生姓名、学号和班级等信息),并送到STM32F103V8T6中保存。不管是先存放手机后刷卡,还是先刷卡后存放手机,只要在2分钟的软件定时器定时过程中完成刷卡并存放手机,经程序运算后,使STM32F103V8T6的PE1端输出一个低电平,三极管T1导通,扬声器发出“滴滴”声,表明刷卡考勤成功。只要在2分钟的软件定时器定时过程中没有完成刷卡并存放手机,经程序运算后,使STM32F103V8T6的PE1端输出一个高电平时,三极管T1不导通,扬声器不发出“滴滴”声,表明刷卡考勤不成功[4]。

2.3 显示模块

显示模块的芯片采用LCD12864芯片,可调电位器RP3为100kΩ。其硬件连接图如图4所示。

图4 STM32F103V8T6与LCD12864电路具体连接图

图2给出了MCU模块中的STM32F103V8T6的PB5、PB6、PB7、PE8、PE9、PE10、PE11、PE12、PE13、PE14和PE15端 分 别 与LCD12864的 第4、5、6、7、8、9、10、11、12、13和14引脚的具体电路连接。通过电位器RP3调节LCD12864第3管脚电位来改变屏幕亮度,LCD12864的第15引脚直接硬件接+VCC,选择并行方式[5]。在STM32F103V8T6接收排盒的手机存放总数后,通过STM32F103V8T6的PE8、PE9、PE10、PE11、PE12、PE13、PE14和PE15端 送 到LCD12864显 示。STM32F103V8T6会将每堂课的全班每位学生手机存放情况和刷卡考勤信息数据打包,及时通过PA9、PA10端上传到上位机中的教学管理系统平台。

3 系统软件设计

本系统所使用的STM32F1系列常用的开发工具主流为主要为IAR EWARM和Keil MDK,这两者都为基于ARM7、ARM9、Cortex-R4、Cortex-M处理器的设备提供了一个完整的开发环境。但考虑到学习的简易程度以及使用的方便性,本设计采用专为微控制器应用而设计的Keil MDK作为软件的开发调试环境。

本系统除使用STM32F103V8T6外,还使用了较多外设,因此软件设计采用模块化设计,能使程序更加简洁明了,主要包含主程序、显示子程序、中断子程序、射频控制子程序等。以下简要说明系统主程序以及显示子程序[6]。

3.1 系统主程序

主程序流程图主要分为三部分,分别为“存”、“取”、“复位”,对应手机存放柜的三个按键。系统上电之后各模块进入初始化,通过按键即可进入“存”、“取”、“复位”三个操作之一。系统主程序流程图如图5所示。

3.2 显示子程序

显示子程序的作用主要是根据单片机的指令按照需求将要显示的内容呈现在液晶显示屏上。为避免LCD12864显示出现乱码,在程序设计时,首先就是初始化以及清屏,其次再接收单片机的命令,显示出所需画面。显示子程序流程图如图6所示。

结合图5、图6流程图,系统上电后,初始化LCD12864显示程序,外部中断等应用程序后,等待判断按键状态。

图5 主程序流程图

图6 子程序流程图

在教室上课前10分钟,学生通过按下“存”手机按键的同时,将自己的学生卡放在刷卡区,读卡模块读取学生卡中的学生信息后,将学生信息送到MCU模块并保存,对应柜门开启,即可存放手机,接着学生将自己的手机放进手机存放盒里并关闭柜门,手机存放盒上的霍尔传感器模块检测到真机存放后,输出一个高电平给MCU模块进行处理,MCU模块控制语音模块使其发出“滴滴”二声,表明学生刷卡考勤成功,同时将学生信息上传到上位机中的教学管理系统平台,这时显示模块显示出柜体中的手机存放总数。在此过程中,每存放一只手机,显示模块显示的手机存放总数增加一个1。

在上述存放手机过程中,如果学生只存放手机而不刷学生卡(即没有读取学生信息),或者只刷学生卡而不存放手机或存放为模型机(即没有检测到一个上升沿),则经MCU模块不会把学生信息上传到上位机中的教学管理系统平台。此时语音模块也不发出“滴滴”二声,表明学生刷卡考勤不成功。若用NFC手机读取学生卡中的学生信息(如姓名、学号等),且NFC手机被设置成卡模拟模式。这时,NFC手机能替代学生卡在刷卡区刷卡考勤[7]。

学生在将手机存放在手机存放盒完毕后,如果在其后,比如在第一节和第二节课之间的10分钟休息期间需要取出手机,学生需按下“取”按键并再次刷卡进行信息对比,成功后可将手机从手机存放盒中取出。每取出一只手机,显示模块显示的手机存放总数减少一个1。与此同时,MCU模块中的程序会进行8分钟的软件定时。若在定时时间内学生还没有将手机放回手机存放盒,所述MCU模块控制所述语音模块不断发出报警提示音,迫使这位学生将手机再次存放于手机存放盒里。

下课后,任课老师按下“复位”键,系统会将本次课程考勤的所有数据清除同时打开所有柜门,显示屏上手机存放数清零。等待学生全部取出手机后,利用锁具关闭柜体的有机玻璃门,等待对下一个班级学生的考勤。

4 结语

该系统设计主要利用性能较为强大的STM32单片机对读卡信息和霍尔传感器的电平信息进行处理,采用工型永久磁铁识别模型手机,通过控制蜂鸣器提醒学生上交手机,最后利用显示屏把主要信息进行智能化显示。因此拥有较强的实用价值。该系统拥有完备的功能,具有实用性和高可靠性,特别是在对模型机的监控上,拥有独创的技术方法,在信息化教育领域中,具备一定的市场前景。在当今的社会形势下,此系统将会极大提高学生们的课程学习效率,最终使学生们都能为今后的社会开拓属于自己的一番领域。

猜你喜欢
子程序刷卡考勤
数控加工中数控程序的简化
子程序在数控车编程中的创新应用
事业单位人员考勤管理存在的问题及对策
三级甲等医院应用PDCA循环提升考勤管理的创新
智能人脸识别考勤系统
浅谈用人单位的考勤管理在劳动管理中的重要位置
刷卡
结账
子程序在数控车加工槽中的应用探索
刷脸就可以购物