张浩 韩祥森
摘 要:为解决办公人员室内办公不方便的问题,设计了一种基于STM32的多功能办公桌系统,主控采用STM32f103单片机,配以指纹识别模块、饮水机模块、储物空间模块、蓝牙模块、稳压电源模块、无线充电模块。通过指纹识别完成解锁,通过按键或蓝牙操作,控制桌面储物空间和饮水机模块的使用以及对灯光、门的远程操控,除此之外,还具有手机无线充电的功能,该设计在扩大桌面使用空间的同时实现了室内办公的方便、舒适,极大地改善了使用者的工作环境。实际实验表明,文章设计实现的桌面升降翻转、远程控制过程安全可靠,确保使用过程中不会出现安全事故。
关键词:室内办公;指纹识别;远程操控;无线充电
中图分类号:TP368 文献标识码:A 文章编号:2096-4706(2023)15-0073-06
Design of Multifunctional Desk System Based on STM32
ZHANG Hao, HAN Xiangsen
(Shandong Huayu University of Technology, Dezhou 253034, China)
Abstract: In order to solve the problem of inconvenient indoor office for office staff, a multifunctional desk system based on STM32 is designed. The main control adopts STM32f103 Single-Chip Microcomputer, with fingerprint recognition module, water dispenser module, storage space module, Bluetooth module, voltage regulator power module, wireless charging module. It unlocks through fingerprint recognition, controls the use of desktop storage space and water dispenser module and remote control of lighting and door through keys or Bluetooth operation. In addition, it also has the function of mobile phone wireless charging. This design expands the desktop use space while realizing the convenient and comfortable indoor office, and greatly improves the user's working environment. The actual experiment shows that this paper designs and realizes the desktop lifting and flipping, remote control process is safe and reliable to ensure that there will be no safety accidents in the process of use.
Keywords: indoor office; fingerprint recognition; remote control; wireless charging
0 引 言
本设计主要对传统办公桌进行了改造和升级,解决传统办公桌在使用过程中的缺点和不足,采用STM32f103单片机作为主控芯片,配以指纹识别模块、桌面升降旋转模块、BT05蓝牙模块、稳压电源模块、无线充电模块,用于解决人们室内办公问题。工作者长时间工作于办公桌前,大量的文本资料和电脑占用了桌面的很大面积,导致办公桌实际使用面积大大缩小,该系统的显示屏模块,可以将显示屏上翻至桌面进行使用,使用完毕可以将模块下翻至桌面以下,大大节省了桌面的可用空间。对于工作者而言,安全性是最重要的,尤其是担心资料被人翻看、电脑被人乱玩,指纹解锁模块使得别人无法使用你的系统,储物模块可以存放重要的资料,大大提高了系统的安全性。办公口渴一般人只能去饮水机处接水,该系统采用一个可升降的饮水机模块,不需要离开位置便可以喝到熱水,除此之外,无线充电模块的加入取代了传统数据线充电,使得充电过程变得更加快捷安全。当需要开门关门或者开灯关灯时只需要按键和手机蓝牙便可以实现,有效地节省了使用者的时间,解决了使用者“懒得不想动”的问题。同时,该系统在实现智能化的同时充分体现了创新精神,实现了办公的一体化。
1 系统总体设计方案
基于STM32的多功能办公桌系统主要是为了解决桌面杂乱难打理、手机充电不方便、喝水不方便、文件保密性问题以及在办公时开门开灯等问题,所以要在硬件结构和软件程序控制中增加多种外设功能,主要有无线充电模块、指纹识别模块、多种驱动模块。系统采用指纹识别上电,桌面内嵌的无线充电线圈可以实现对手机、蓝牙设备等电子产品的充电,从而摆脱对各种数据线的依赖,实现桌面的整洁化。桌面还可以通过按键控制各种驱动模块,实现对储物层、显示屏、饮水模块的收放和整理。柜门采用指纹识别模块保证了私密文件的安全。除此之外,还通过红外和蓝牙对灯光和门进行控制,从而实现一体化办公。本设计主要由STM32f103单片机、指纹识别模块、电机驱动模块、蓝牙模块、无线充电模块和电源组成。系统总体设计如图1所示。
在本设计中,STM32f103单片机作为多功能办公桌的控制核心,通过指纹识别模块来识别使用者的指纹信息,识别成果即可完成系统上电,打开柜门;蓝牙模块用于单片机与外设模块的通信功能,通过手机APP实现对灯光和门的控制;无线充电模块用于对手机和某些蓝牙设备的充电;驱动模块用于驱动推杆电机和步进电机,完成桌面三模块的升降与旋转。
2 理论分析与计算
2.1 指纹识别算法
系统主要采用了光学指纹识别传感器,其主要是利用光的折射和反射原理。光从设备底部射向三棱镜,并经过棱镜射出,射出的光线在手指表面凹凸不平的指纹纹路上的折射角度及反射回去的光线明暗就会不一样,CMOS或是CCD的光学器件就会收集到明暗程度不同的图片信息,从而完成指纹信息的采集。指纹识别的算式如(1)~(3)所示:
图像的平均值和方差:
其中,W、H表示圖像的大小。
归一化的图像G:
其中,I (i, j)、G (i, j)分别表示源图像和规格化后图像的第i行和第j列像素点对应的灰度值;Var和M对应图像G的方差和均值,Var0和M0是期望方差和期望均值。
2.2 指纹识别模块AS608
AS608是一个集成的光学指纹芯片,内部有指纹算法。虽然AS608内部的算法我们是看不到的,但是它预留了一个串口和相关的串口指令集,我们可以用这些指令调用指纹算法,从而实现需要的功能,其实该模块最难处理的部分为指纹识别算法的计算,目前所用的算法也是人们不断开发汇总完善得到的。
AS608共有8个引脚,Vi接电源的正极,5 V供电,GND接电源地,Tx、Rx是数据传输端,负责与单片机的数据传输,Vt是触摸感应部分的供电输入端,通过3 V电压供电,WAK是触摸感应信号的输入端,接收来自人手指的感应信号,从而传输给单片机处理识别指纹身份。
2.3 蓝牙电路设计
HC-05蓝牙模块是主从一体的蓝牙串口模块,是专门为智能无线数据传输而服务的。简单地说,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将蓝牙当做串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据。但蓝牙的信号受金属、墙体等障碍物的影响较大,所以在使用中要多加注意。
通过手机APP给单片机传送指令,当单片机接收到来自手机的信号时,便控制灯光和门完成开启和关闭的动作。
蓝牙电路如图2中蓝牙电路部分所示。
2.4 隐藏式桌面模块的电机驱动方案设计
步进电机和显示屏模块用光轴进行连接,通过按键向单片机发送指令,然后单片机控制步进电机进行转动从而带动显示屏模块转动,从而将显示屏模块从桌面底部旋转至桌面进行使用。当不想使用显示屏时,按下按键,由单片机控制步进电机将显示屏旋转回与桌面平齐状态,本系统电机驱动装置电路如图2中电机驱动部分所示。
2.5 无线充电模块
无线充电线圈充电原理:往初级线圈中通入交流电,当初级线圈和次级线圈位置叠加时,在次级线圈中会产生一定的电流,再对次级线圈中的电流进行稳压即可得到我们所需要的电流,这种原理与电力系统中的变压器相似,在原边输入交流电,在副边会由于电磁感应原理产生感应电流,从而实现电能由初级线圈到次级线圈的无线传输。
本设计采用的是5 V/1 A的无线充电模块,充电效率高达75%,功率为30 W,完全符合手机和常用设备的充电功率,该部分为按键控制的独立模块,通过按键控制该模块的开启和关闭。无线充电模块实物图如图3所示。
3 硬件电路与软件设计
3.1 硬件电路设计
在本设计中,STM32主要负责指纹识别的处理,即指纹识别通过、指纹识别不通过。STM32在接收到按键按下的指示,控制步进电机、推杆电机等的开启和关闭以及蓝牙信号的处理功能。系统电路图如图2所示。
3.2 系统软件设计
使用Keil5软件进行程序的编写,使用的语言为C语言,Keil软件生成目标代码的效率高,并且所生成的语言简单易懂。并且Keil还提供了C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。因此,Keil软件非常适合此设计的编程,系统程序流程图如图4所示。
程序的模块化设计主要包括以下几个部分:指纹识别程序、置物空间启动程序、饮水机模块启动程序、显示屏翻转启动程序、灯光控制程序、门控制程序。
首先,使用者必须先进行指纹识别,当指纹识别完成后即可使整个系统完成上电,进而可以使用系统的各部分功能。按下按键1,启动隐藏式置物空间底部的推杆电机,将该模块推至桌面,再次按下按键控制推杆电机将模块拉至原状态。按下按键2,启动饮水机模块底部的推杆电机,将该模块推至桌面,再次按下按键2控制推杆电机将模块拉至原状态。按下按键3控制与显示屏相连的步进电机,将显示屏向上翻转90°,再次按下按键3控制步进电机向下翻转90°回到初始位置。按下按键4,点亮灯光,实现对灯光的远程控制。按下按键5,打开/关闭门,实现对门的远程控制。以下为部分程序的关键代码:
指纹搜索程序:
u8 PS_Search(u8 BufferID, u16 StartPage, u16 PageNum, SearchResult *p)
{
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x08);
Sendcmd(0x04);
MYUSART_SendData(BufferID);
MYUSART_SendData(StartPage>> 8);
MYUSART_SendData(StartPage);
MYUSART_SendData(PageNum>> 8);
MYUSART_SendData(PageNum);
temp = 0x01 + 0x08 + 0x04 + BufferID
+ (StartPage>> 8) + (u8)StartPage
+ (PageNum>> 8) + (u8)PageNum;
SendCheck(temp);
data = JudgeStr(2000);
else
ensure = 0xff;
return ensure;
}
步进电机控制程序:
void Motorcw_zheng(void)
{
GPIO_SetBits(GPIOC,GPIO_Pin_13);
GPIO_ResetBits(GPIOC,GPIO_Pin_0);
GPIO_ResetBits(GPIOC,GPIO_Pin_2);
GPIO_ResetBits(GPIOC,GPIO_Pin_3);
delay_ms(10);
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
GPIO_SetBits(GPIOC,GPIO_Pin_0);
GPIO_ResetBits(GPIOC,GPIO_Pin_2);
GPIO_ResetBits(GPIOC,GPIO_Pin_3);
delay_ms(10);
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
GPIO_ResetBits(GPIOC,GPIO_Pin_0);
GPIO_SetBits(GPIOC,GPIO_Pin_2);
GPIO_ResetBits(GPIOC,GPIO_Pin_3);
delay_ms(10);
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
GPIO_ResetBits(GPIOC,GPIO_Pin_0);
GPIO_ResetBits(GPIOC,GPIO_Pin_2);
GPIO_SetBits(GPIOC,GPIO_Pin_3);
delay_ms(10);
}
藍牙灯光控制程序:
void Bluetooth()
{
int i;
char a[]="abcdefg";
delay_init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
uart_init(115200);
LED_Init();
Bluetooth_Init();
while(1)
{
if(res=='0') //手机发送0
{
LED0=0; //灯光关闭
delay_ms(500);
for(i=0;i<7;i++)
{
USART_SendData(USART2, a[i]);
while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);
}
res=0;
}
if(res=='1') //手机发送1
{
LED0=1; //灯光开启
delay_ms(50);
res=0;
}
}
4 实验测试与分析
本设计采用STM32f103作为控制核心,主要由指纹识别模块、桌面升降旋转模块、蓝牙模块、稳压电源模块、无线充电模块等组成。整个系统都是由独立模块构成,即每个模块实现其相应的功能,各个模块构成整个办公桌系统,实物如图5所示。因此,对整个系统的测试可以划分为对组成系统的各个模块进行测试。
4.1 推杆电机位置测试
在使用饮水机模块以及隐藏式储物空间时,需要依靠推杆电机将模块推至桌面,在模块上升的过程中,模块与桌面切口之间是否吻合影响整个作品的安全性,所以在测试时,针对模块与桌面切口是否吻合做了3组测试,用刻度尺对偏离距离进行测量,统计在±0.5 cm范围内是否吻合,误差为多少,如表1所示。
位置误差分析:实验测试过程中出现了大约0.2 cm的误差值,源于推杆电机在上升的过程中,会出现抖动颠簸的情况,最终在将模块抬升至桌面时出现位置偏差的情况,但由于产生的误差不会超过标准误差(±0.5 cm),所以不会对作品产生影响,如表2所示。
4.2 指纹识别测试
指纹识别实验结果分析:在指纹识别的实际测试中,我们发现处于干燥环境下,指纹识别的准确度较高,一般不会出现错误,但当手指处于潮湿情况下,指纹识别的准确度大大降低,因此,在进行指纹的识别过程中,尽量保证手指处于干燥的状态。
除此之外,对于其他模块的性能也进行过多次测试,在隐藏置物空间、饮水机启动与关闭、屏幕显示功能、灯光系统及开关门系统设功能方面,准确度较高,灵敏性较强,能够满足设计的要求。
5 结 论
本设计以“基于STM32的多功能办公桌系统设计”为主要研究内容,通过搭建办公桌新结构,以及运用单片机芯片,指纹模块等硬件,有效解决人们在室内办公过程中的实际问题,例如,桌面可用空间严重不足、电脑所占桌面空间过大、室内饮水问题、无线充电、开关门和灯等问题,可以提高人们在办公时的积极性和快捷性。
参考文献:
[1] 姜科,徐杰生,吴霞.新型智能指纹识别储物柜控制系统的设计与应用 [J].产业与科技论坛,2016,15(6):77-78.
[2] 陈新芬,金琦淳,张延丽,等.单片机指纹密码锁设计与仿真 [J].工业控制计算机,2021,34(11):151-154.
[3] 何聪.可充电传感器网络的定向充电路径规划研究 [D].重庆:西南大学,2018.
[4] 牛勇.实验室电源管理系统的设计及实现 [D].兰州:兰州大学,2019.
[5] 余达,樊娟,唐昱煊.基于STM32指纹识别的智能教室系统的研究 [J].西北民族大学学报:自然科学版,2018,39(1):58-62.
[6] 马馨雅.基于STM32的指纹识别门禁系统 [J].电子世界,2018(24):157,160.
[7] 陈琦,赵建国,张怡,等.居家办公椅的智能健康介入研究 [J].科技与创新,2022(7):91-94.
[8] 马晓红,梁辰.基于智能交互发展的升降办公桌设计研究 [J].智能城市,2021,7(17):37-38.