韓 君,張慶平
(深圳職業(yè)技術(shù)學(xué)院 電子與通信工程學(xué)院,廣東 深圳 518055)
脈搏是常見的生理現(xiàn)象,健康的成年人每分鐘脈搏跳動(dòng)在60-100次左右[1].脈搏的快慢可以一定程度反映人體心臟和血管的機(jī)能狀態(tài),每分鐘脈搏跳動(dòng)的次數(shù)稱作脈率.
本文提出的基于Android平臺(tái)的脈搏檢測(cè)實(shí)驗(yàn)系統(tǒng)由脈搏傳感器、單片機(jī)系統(tǒng)、智能手機(jī)組成.把脈搏傳感器固定在中指或拇指處,學(xué)生可以簡(jiǎn)便地測(cè)出脈率值,測(cè)量的結(jié)果在學(xué)生手機(jī)上顯示出來.該實(shí)驗(yàn)系統(tǒng)已應(yīng)用于我校物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)“傳感器應(yīng)用技術(shù)”課程的實(shí)踐教學(xué)中.通過使用該實(shí)驗(yàn)系統(tǒng),學(xué)生在系統(tǒng)設(shè)計(jì)、電路調(diào)試、Android應(yīng)用開發(fā)、軟件調(diào)試等方面都有了很大的提高.
傳統(tǒng)傳感器教學(xué)中常用萬用表、示波器等儀器對(duì)傳感器檢測(cè)的信號(hào)進(jìn)行測(cè)量和觀察.隨著集成化程度提高,智能傳感器應(yīng)用越來越廣,智能傳感器可以通過WIFI、藍(lán)牙等無線網(wǎng)絡(luò)和移動(dòng)終端相連,移動(dòng)終端方便快捷的接收并顯示傳感器的測(cè)量信息[2].Android系統(tǒng)手機(jī)就是一種便捷的移動(dòng)終端,利用學(xué)生自己的手機(jī)不會(huì)增加實(shí)驗(yàn)成本,將Android手機(jī)作為實(shí)驗(yàn)系統(tǒng)中的一個(gè)組成部分,也會(huì)大大提高學(xué)生的參與興趣.
自2019年以來,我校物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)開展了基于Android的“傳感器技術(shù)”課程建設(shè)項(xiàng)目,將培養(yǎng)學(xué)生在移動(dòng)終端軟件層的設(shè)計(jì)和調(diào)試能力融入到“傳感器應(yīng)用技術(shù)”課程教學(xué)中,有利于充實(shí)傳感器課程資源庫的知識(shí)點(diǎn)和技能點(diǎn)體系[3].
基于上述思想,選取脈搏信號(hào)檢測(cè)作為傳感器實(shí)訓(xùn)教學(xué)的典型實(shí)驗(yàn)案例,通過該實(shí)驗(yàn)系統(tǒng)不僅僅使學(xué)生了解脈搏傳感器的基本原理,還能更大程度提高學(xué)生將傳感器、單片機(jī)系統(tǒng)和移動(dòng)終端設(shè)備綜合使用的能力,整體提升學(xué)生軟硬件開發(fā)綜合能力.實(shí)驗(yàn)系統(tǒng)框圖如圖1所示,由脈搏傳感器模塊,單片機(jī)模塊、WiFi傳輸模塊和移動(dòng)設(shè)備顯示端組成,可以將傳感器模塊采集到的脈搏數(shù)據(jù)經(jīng)單片機(jī)模塊處理,計(jì)算出脈率值,再通過 WiFi傳輸模塊發(fā)送到移動(dòng)安卓終端上顯示.
圖1 系統(tǒng)組成框圖
本系統(tǒng)使用的脈搏傳感器是是一種集成式脈搏傳感器.它的內(nèi)部由發(fā)光管、光敏管和放大電路組成.隨著心臟的搏動(dòng),手指端的血流量發(fā)生周期性的變化[4],照射到手指端的光信號(hào)反射到光敏接收管,反射的光信號(hào)強(qiáng)度同樣也會(huì)發(fā)生周期性變化,利用光敏接收管及放大電路,最終傳感器輸出與人體脈搏同步的電壓信號(hào).
脈搏傳感器輸出電壓信號(hào)Up經(jīng)過由AD8615組成的電壓跟隨器變換,輸出電壓U0接到單片機(jī)的模擬輸入通道PA0.另外,脈搏傳感器輸出信號(hào)Up經(jīng)LMV358電壓比較器輸出Upo控制指示燈D1,通過指示燈D1觀察脈搏跳動(dòng)的情況.脈搏傳感器電路如圖2所示.
圖2 脈搏傳感器電路
ATmega16單片機(jī)最小系統(tǒng)[5]組成了單片機(jī)模塊,主要完成AD轉(zhuǎn)換,脈率計(jì)算和數(shù)據(jù)通信功能,電路如圖3所示.脈搏傳感器模塊的模擬電壓信號(hào)U0接入PA0模擬通道,進(jìn)行AD轉(zhuǎn)換,本實(shí)驗(yàn)系統(tǒng)可以實(shí)現(xiàn)1~3個(gè)通道的脈搏檢測(cè),其他兩個(gè)通道的脈搏傳感器電路與圖2原理相同,不再贅述.AD轉(zhuǎn)換的結(jié)果由串口—WiFi轉(zhuǎn)換模塊傳至移動(dòng)設(shè)備顯示端.
圖3 單片機(jī)最小系統(tǒng)電路
系統(tǒng)采用HLK-RM04WiFi傳輸模塊,它可以將來自串口的信號(hào)轉(zhuǎn)換成 WiFi通信模式的信號(hào),借助這個(gè)通信模塊我們就可以將脈搏傳感器采集數(shù)據(jù)發(fā)送給移動(dòng)終端等設(shè)備顯示[6].WiFi傳輸模塊與單片機(jī)連接電路如圖4所示.
圖4 WiFi傳輸模塊與單片機(jī)連接電路
脈搏顯示界面上顯示三個(gè)脈搏采集點(diǎn)的狀態(tài)和數(shù)值,界面程序MainActivity.java流程圖如圖5所示.學(xué)生手機(jī)通過獲取服務(wù)器IP地址,與傳輸模塊生成的 WiFi節(jié)點(diǎn)連接,接收傳輸模塊上傳的數(shù)據(jù),并在顯示控件對(duì)應(yīng)位置顯示脈率值,未連接傳感器的采集點(diǎn)顯示待連接狀態(tài).界面運(yùn)行效果如圖6所示.
圖5 顯示界面程序流程圖
圖6 顯示界面運(yùn)行效果圖
為了能夠接收到參數(shù)數(shù)據(jù),需要在項(xiàng)目包下新建Client.java文件,在文件中創(chuàng)建connect方法連接服務(wù)器.在顯示界面的程序流程中連接服務(wù)器部分即調(diào)用了 connect方法.?dāng)?shù)據(jù)請(qǐng)求客戶端Client.java程序流程圖如圖7所示.
圖7 客戶端數(shù)據(jù)請(qǐng)求程序流程圖
定義對(duì)象是為了后面的創(chuàng)建構(gòu)造方法和創(chuàng)建連接方法做準(zhǔn)備.采用Socket通信方式,這種方式方便與底層傳感器模塊通信,速度快而且靈活高效[7].
創(chuàng)建Client構(gòu)造方法,相當(dāng)于定義使用它時(shí)的入口和出口參數(shù).前面獲得的服務(wù)器 IP地址傳到這里,又通過myHandler返回傳感器數(shù)據(jù)和狀態(tài)消息,流程圖如圖8所示.
圖8 Client構(gòu)造方法程序流程圖
創(chuàng)建 connect連接方法,這是數(shù)據(jù)請(qǐng)求客戶端設(shè)計(jì)的核心部分.利用 socket通信方式,通過 IP地址和端口port,啟動(dòng)子線程thread讀取數(shù)據(jù)輸入流.程序流程圖如圖9所示.
圖9 connect連接方法程序流程圖
數(shù)據(jù)流讀取在子線程thread中進(jìn)行,讀取的數(shù)據(jù)放在數(shù)組buffer中,如果讀到數(shù)據(jù)符合傳感器的數(shù)據(jù)格式,則通過myHandler發(fā)送buffer中的數(shù)據(jù)和連接成功消息.
本實(shí)驗(yàn)系統(tǒng)由脈搏傳感器電路實(shí)驗(yàn)部分、單片機(jī)模塊實(shí)驗(yàn)部分、界面設(shè)計(jì)實(shí)驗(yàn)部分三個(gè)實(shí)驗(yàn)?zāi)K組成.每個(gè)實(shí)驗(yàn)?zāi)K安排了具體的實(shí)驗(yàn)內(nèi)容.實(shí)驗(yàn)內(nèi)容豐富,由簡(jiǎn)入繁,可以根據(jù)學(xué)生程度自由選擇.表1列出了實(shí)驗(yàn)的具體內(nèi)容、知識(shí)點(diǎn)、技能點(diǎn),下面對(duì)實(shí)驗(yàn)過程進(jìn)行簡(jiǎn)要說明.
表1 實(shí)驗(yàn)內(nèi)容列表
首先,為了讓學(xué)生建立質(zhì)量管理的概念,實(shí)驗(yàn)中對(duì)選用的脈搏傳感器進(jìn)行質(zhì)量測(cè)試,使用示波器觀察其輸出電壓Up,根據(jù)說明書進(jìn)行對(duì)比,進(jìn)一步掌握脈搏傳感器轉(zhuǎn)換原理.示波器測(cè)量Up點(diǎn)的波形如圖10所示.然后,按照文中圖2電路進(jìn)行脈搏傳感器電路焊接,焊接完成后用示波器測(cè)量電路輸出信號(hào)U0和Up0.示波器測(cè)量U0和Upo點(diǎn)的波形如圖11所示,圖中上方藍(lán)色波形是U0,下方黃色波形是經(jīng)過比較器電路的輸出信號(hào)Upo.對(duì)比觀察兩個(gè)信號(hào)在時(shí)序上對(duì)應(yīng)關(guān)系,并繪制脈搏波形曲線,計(jì)算脈率值.
圖10 Up點(diǎn)的波形圖
圖11 U0和Upo點(diǎn)的波形如圖
進(jìn)一步指導(dǎo)學(xué)生連接單片機(jī)和 WiFi傳輸模塊,下載單片機(jī)程序,按照文中所述系統(tǒng)界面設(shè)計(jì)的流程,在AndroidStudio開發(fā)平臺(tái)上指導(dǎo)學(xué)生進(jìn)行 APP界面的布局設(shè)計(jì),及脈率數(shù)據(jù)讀取設(shè)計(jì),進(jìn)行軟件調(diào)試,最終在手機(jī)上顯示采集點(diǎn)的脈率值,顯示效果在文中圖6所示.通過這個(gè)實(shí)驗(yàn),學(xué)生能夠基本掌握脈搏傳感器原理和選型,電路制作和調(diào)試、常規(guī)電子儀表使用、Android界面布局,客戶端數(shù)據(jù)請(qǐng)求程序設(shè)計(jì)和調(diào)試方法,并可以直觀的在手機(jī)上觀測(cè)到脈率值.
基于Android平臺(tái)的脈搏檢測(cè)實(shí)驗(yàn)系統(tǒng)在本校物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)的“傳感器應(yīng)用技術(shù)”課程的實(shí)踐教學(xué)中充分調(diào)動(dòng)了學(xué)生的積極性,收到良好的教學(xué)效果.通過使用該實(shí)驗(yàn)系統(tǒng),學(xué)生可以掌握脈搏傳感器的原理,更加熟練使用常規(guī)電子儀表,對(duì)模擬電路和單片機(jī)系統(tǒng)也有了更深的認(rèn)識(shí),學(xué)生在Android應(yīng)用軟件設(shè)計(jì)和調(diào)試方面的能力也有了顯著的提高.實(shí)驗(yàn)內(nèi)容由簡(jiǎn)入繁,學(xué)生的選擇更靈活.可以分組進(jìn)行實(shí)驗(yàn),組成員之間相互配合,分工合作,硬件電路調(diào)試和界面開發(fā)可同時(shí)進(jìn)行,對(duì)學(xué)生團(tuán)隊(duì)協(xié)作能力的培養(yǎng)也有很大的幫助作用.
深圳職業(yè)技術(shù)學(xué)院學(xué)報(bào)2021年3期