崔宏偉,劉虎
安徽省蚌埠市蚌埠醫(yī)學(xué)院第一附屬醫(yī)院 (安徽 蚌埠 233000)
手術(shù)室作為進(jìn)行外科手術(shù)及搶救的場(chǎng)景,需避免細(xì)菌滋生進(jìn)而防止患者感染至關(guān)重要,雖然手術(shù)室內(nèi)的消毒機(jī)制及層流設(shè)計(jì)杜絕了大部分細(xì)菌的附著和滋生,但傳統(tǒng)的腳控、手控區(qū)域都是不規(guī)則且不易消毒的區(qū)域,且由于工作人員頻繁出入手術(shù)室,傳統(tǒng)開門方式會(huì)將細(xì)菌帶到患者身旁,給顱腦、心臟、臟器移植等手術(shù)患者帶來很大的感染風(fēng)險(xiǎn)。在此背景下,本研究設(shè)計(jì)了一種非接觸性控制手術(shù)室門開關(guān),旨在將可能存在的感染風(fēng)險(xiǎn)降到最低,進(jìn)而降低患者在手術(shù)過程中的感染率。
非接觸性控制手術(shù)室門開關(guān)可以通過手勢(shì)識(shí)別、人臉識(shí)別、溫度感應(yīng)等技術(shù)控制。而結(jié)合手術(shù)室具體情況,手勢(shì)識(shí)別是一種可行且易實(shí)現(xiàn)的方式。
本研究設(shè)計(jì)的非接觸性控制手術(shù)室門開關(guān)采用手勢(shì)識(shí)別技術(shù)控制,分為手勢(shì)識(shí)別模塊、MCU 控制模塊、信號(hào)傳輸模塊,其中,手勢(shì)識(shí)別模塊對(duì)手勢(shì)的變化進(jìn)行識(shí)別處理并將其轉(zhuǎn)化為電信號(hào)傳輸?shù)組CU控制模塊;MCU 控制模塊將接收到的電信號(hào)轉(zhuǎn)換為控制信號(hào);信號(hào)傳輸模塊控制手術(shù)室門開關(guān),見圖1。
1.1.1 手勢(shì)識(shí)別模塊
ATK-PAJ7620U2是一款高性能手勢(shì)識(shí)別傳感器,具有體積小、靈敏度高、使用方便等特點(diǎn),外觀見圖2。ATK-PAJ7620U2內(nèi)部的LED 驅(qū)動(dòng)器使紅外LED 向外發(fā)射紅外線,傳感器陣列檢測(cè)到目標(biāo)手勢(shì)后提取目標(biāo)信息并將其存放到寄存器中,同時(shí)手勢(shì)識(shí)別模塊對(duì)提取的目標(biāo)信息進(jìn)行識(shí)別處理,并將處理的結(jié)果存放到寄存器中,使用者可以使用IIC 接口對(duì)寄存器中的目標(biāo)信息和處理結(jié)果進(jìn)行讀取,見圖3。ATK-PAJ7620U2采用原相科技公司的PAJ7620U2芯片,PAJ7620U2芯片內(nèi)部集成了光學(xué)數(shù)組式傳感器,內(nèi)置光源和環(huán)境光抑制濾波器集成的LED,鏡頭和手勢(shì)傳感器在1個(gè)小的立方體模組[1],能在黑暗或低光環(huán)境下工作。ATKPAJ7620U2手勢(shì)識(shí)別模塊可以識(shí)別9種手勢(shì),且支持接近檢測(cè)等,電路見圖4。
1.1.2 MCU 控制模塊
MCU 控制模塊采用意法半導(dǎo)體集團(tuán)生產(chǎn)的STM32F407ZGT6芯片,其內(nèi)核是ARM32位的Cortex-M3[2],擁有的資源包括集成FPU 和DSP 指令、192 kB SRAM、1 024 kB FLASH、12個(gè)16位定時(shí)器、2個(gè)32位定時(shí)器等,并具有SPI、IIC、UART/USART 等通信功能和FSMC、SDIO、MAC 等豐富的IO 接口;以STM32F407芯片為核心[3],在其外圍增加復(fù)位電路、時(shí)鐘電路等形成MCU 最小系統(tǒng)板(圖5),并配有標(biāo)準(zhǔn)的20針JTAG/SWD 接口,方便快速下載和調(diào)試代碼。
1.1.3 信號(hào)傳輸模塊
信號(hào)傳輸模塊支持有線和無線傳輸,其中有線信號(hào)傳輸包括USART/UART、IIC 傳輸?shù)?,無線信號(hào)傳輸包括藍(lán)牙、WIFI、2.4 G 傳輸?shù)龋狙芯吭O(shè)計(jì)的非接觸性控制手術(shù)室開關(guān)采用IIC 作為手勢(shì)識(shí)別模塊與MCU 控制模塊相互通信的媒介。
IIC 即兩線式串行總線,由PHILIPS 公司開發(fā),由數(shù)據(jù)線SDA 和時(shí)鐘SCL 構(gòu)成(圖6),用于連接微控制器及其外圍設(shè)備,可發(fā)送和接收數(shù)據(jù),在CPU 與被控IC 之間、IC 與IC 之間進(jìn)行雙向傳送[4],但由于STM32F407芯片的IIC 通信不是很穩(wěn)定,所以我們通過代碼實(shí)現(xiàn)IO 口模擬IIC 進(jìn)行通信。
1.2.1 手勢(shì)識(shí)別軟件
ATK-PAJ7620U2內(nèi)部共有上百個(gè)寄存器,通過對(duì)不同寄存器發(fā)送指令可以實(shí)現(xiàn)不同的功能,現(xiàn)主要介紹BANK0和BANK1兩個(gè)重要的寄存器區(qū)域,見表1。
表1 BANK0和BANK1的指令控制
由表1可知,訪問BANK0區(qū)域需要向傳感器0xEF 地址寫入0x00數(shù)值,訪問BANK1區(qū)域需要向傳感器0xEF 地址寫入0x01數(shù)值。
代碼如下:
該配置數(shù)組表示上電時(shí)初始化,每個(gè)數(shù)組的第一個(gè)字節(jié)表示寄存器地址,第二個(gè)字節(jié)表示要設(shè)置的值,如{0xEF,0x00}就表示在0xEF 地址中寫入0x00這個(gè)值。
該函數(shù)實(shí)現(xiàn)選擇BANK 區(qū)域,通過BANK 的入口參數(shù)選擇要進(jìn)入BANK 的區(qū)域,進(jìn)而進(jìn)入其不同的控制寄存器,即BANK1下的PAJ7620U2使能工作寄存器(圖7)和BANK0下的手勢(shì)檢測(cè)輸出中斷使能寄存器1(圖8)。
BANK1下的PAJ7620U2使能工作寄存器的作用是使PAJ7620U2進(jìn)入和關(guān)閉工作狀態(tài),當(dāng)BIT0位設(shè)置為1時(shí),PAJ7620U2進(jìn)入工作狀態(tài),當(dāng)BIT0位設(shè)置為0時(shí),PAJ7620U2關(guān)閉工作狀態(tài),#define PAJ_OPERATION_ENABLE //設(shè)置PAJ7620U2使能寄存器。
BANK0下的手勢(shì)檢測(cè)輸出中斷使能寄存器1(工作流程見圖9)的作用是手勢(shì)識(shí)別,BIT0-BIT7位用于使能不同手勢(shì)識(shí)別結(jié)果的中斷輸出上、下、左、右、順時(shí)針旋轉(zhuǎn)、逆時(shí)針旋轉(zhuǎn),通過對(duì)應(yīng)的設(shè)置,1是使能,0是關(guān)閉,進(jìn)而輸出對(duì)應(yīng)的手勢(shì)識(shí)別結(jié)果中斷,#define PAJ_SET_INT_FLAG1 //設(shè)置手勢(shì)檢測(cè)中斷寄存器,具體如下:
#define GES_UP BIT(0) //向上
#define GES_DOWM BIT(1) //向下
#define GES_LEFT BIT(2) //向左
#define GES_RIGHT BIT(3) //向右
#define GES_FORWARD BIT(4) //向前
#define GES_BACKWARD BIT(5) //向后
#define GES_CLOCKWISE BIT(6) //順時(shí)針
#define GES_COUNT_CLOCKWISE BIT(7) //逆時(shí)針
1.2.2 IIC 軟件
選擇STM32上的PF8和PF9端口作為時(shí)鐘線和數(shù)據(jù)線,IIC 協(xié)議有空閑狀態(tài)、開始信號(hào)、停止信號(hào)、數(shù)據(jù)傳輸?shù)?,通過這些協(xié)議的有效配合保證了設(shè)備間數(shù)據(jù)安全、完整地傳輸。
空閑狀態(tài):數(shù)據(jù)線SDA 和時(shí)鐘線SCL 同時(shí)處于高電平規(guī)定為空閑狀態(tài)。
代碼如下:
開始信號(hào)和停止信號(hào):時(shí)鐘線SCL 為高期間,數(shù)據(jù)線SDA 由高變低規(guī)定為開始信號(hào);時(shí)鐘線SCL 為高期間,數(shù)據(jù)線SDA 由低變高規(guī)定為停止信號(hào),時(shí)序圖見圖10。
代碼如下:
數(shù)據(jù)傳輸:在IIC 總線上每傳輸一位數(shù)據(jù)都有一個(gè)時(shí)鐘脈沖相對(duì)應(yīng),即在SCL 時(shí)鐘信號(hào)的配合下,數(shù)據(jù)線SDA 逐位地串行傳輸每一位數(shù)據(jù)。
代碼如下:
在由數(shù)據(jù)線SDA 和時(shí)鐘SCL 構(gòu)成的串行總線中,通過調(diào)用上述IIC 協(xié)議,實(shí)現(xiàn)CPU 與被控外圍設(shè)備之間的數(shù)據(jù)雙向傳送。
在整個(gè)系統(tǒng)中增加兩個(gè)繼電器控制手術(shù)室門開關(guān)閉合的外圍電路,用兩個(gè)LED 模擬兩個(gè)電機(jī)的動(dòng)作,并用一個(gè)LCD 液晶顯示屏顯示模擬動(dòng)作,當(dāng)傳感器探測(cè)到手勢(shì)向左揮動(dòng)時(shí),綠燈亮、紅燈滅,表示開門,見圖11;當(dāng)傳感器探測(cè)到手勢(shì)向右揮動(dòng)時(shí),紅燈亮、綠燈滅,表示關(guān)門,見圖12。
在測(cè)試過程中,手術(shù)室門開關(guān)偶爾出現(xiàn)外圍電路繼電器不吸合的現(xiàn)象,輕輕觸碰才吸合。經(jīng)分析發(fā)現(xiàn),外圍電路和系統(tǒng)控制電路共用1路電源,電流過小,后將外圍電路重新連接1路電源,該現(xiàn)象不再出現(xiàn)。
本研究基于ATK-PAJ7620U2手勢(shì)識(shí)別模塊和STM32F407芯片設(shè)計(jì)了1種非接觸性控制手術(shù)室門開關(guān),其能夠準(zhǔn)確識(shí)別給出的手勢(shì)動(dòng)作,靈敏度高、反應(yīng)速度快,可以滿足非接觸人機(jī)交互控制需求,且價(jià)格低、穩(wěn)定可靠,具有一定的使用價(jià)值。