張浩 韓祥森



摘? 要:為解決辦公人員室內辦公不方便的問題,設計了一種基于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.