萬 濤,馮俊森,陳 錦,劉 鵬,張龍祥
(華東交通大學(xué) 信息工程學(xué)院,江西 南昌 330013)
由于大部分父母白天忙于工作,晚上需要休息,因此對嬰兒的照顧不周。嬰兒車作為一種傳統(tǒng)的嬰兒用品,在現(xiàn)代社會(huì)中有著廣泛的市場需求。雖然傳統(tǒng)嬰兒車種類繁多,但功能較為單一,無法滿足父母的多樣化需求。在物聯(lián)網(wǎng)技術(shù)高速發(fā)展的今天,以“嬰兒車”智能化為出發(fā)點(diǎn),可以設(shè)計(jì)一款針對嬰兒發(fā)燒、尿床、啼哭等生理行為以及周圍環(huán)境變化做出決策的智能嬰兒車。
文中設(shè)計(jì)了一款能夠幫助監(jiān)護(hù)人更高效、更靈活照顧嬰兒群體,有助于減輕父母壓力的嬰兒車,該車分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。嬰兒車硬件部分以STM32F103ZET6單片機(jī)為主控板,L298N作為智能安全嬰兒車控制系統(tǒng)的驅(qū)動(dòng)芯片,搭載DHT11溫濕度傳感器、紅外非接觸式溫度傳感器MLX90614和聲音傳感器,以實(shí)時(shí)檢測嬰兒床單溫濕度、嬰兒體溫、嬰兒啼哭等信息;使用MP3 音樂播放模塊播放兒歌;使用HX711壓力傳感器監(jiān)測嬰兒是否在嬰兒車內(nèi);使用單收單發(fā)超聲波傳感器實(shí)現(xiàn)自動(dòng)跟隨;使用HC-05 藍(lán)牙實(shí)現(xiàn)嬰兒車與手機(jī)的數(shù)據(jù)傳輸;使用F5 紅外傳感器實(shí)現(xiàn)避障功能。監(jiān)護(hù)人可在手機(jī)APP上實(shí)時(shí)查看嬰兒信息。軟件APP可以通過藍(lán)牙通信對嬰兒車進(jìn)行控制。本系統(tǒng)的具體功能模塊包括:
(1)環(huán)境溫度檢測功能。將 DHT11 溫濕度傳感器嵌入嬰兒的睡墊上,若溫濕度出現(xiàn)大幅變化,如溫度低于15 ℃,或者濕度高于90%RH,可判斷被單滑落導(dǎo)致床上溫度下降或者嬰兒出現(xiàn)尿床情況。
(2)體溫檢測功能。通過紅外非接觸式溫度傳感器MLX90614精確測量體膚溫度,當(dāng)體溫超過38 ℃時(shí),判斷嬰兒有發(fā)燒的情況出現(xiàn),觸發(fā)報(bào)警。
(3)啼哭檢測功能。使用聲音傳感器檢測嬰兒是否啼哭,同時(shí)可以用來判斷嬰兒所在環(huán)境是否噪音過大。如果檢測到傳感器一段時(shí)間內(nèi)持續(xù)返回高電平,則表示嬰兒啼哭或環(huán)境噪音過大。
(4)防丟失功能。在嬰兒車上安裝壓力傳感器,可檢測嬰兒是否在嬰兒車內(nèi)。開啟防丟失功能后,若嬰兒被抱起,壓力傳感器檢測數(shù)據(jù)低于3 kg,數(shù)據(jù)異常,觸發(fā)報(bào)警。同時(shí),手機(jī)藍(lán)牙可連接?jì)雰很?,?dāng)嬰兒車距離太遠(yuǎn)導(dǎo)致藍(lán)牙斷開時(shí),觸發(fā)報(bào)警。
(5)自動(dòng)安撫功能。在嬰兒車上安裝MP3音樂播放模塊。通過聲音傳感器檢測嬰兒是否啼哭,若檢測到嬰兒啼哭,則可利用MP3模塊播放音樂,音樂播放一段時(shí)間后自動(dòng)停止。同時(shí),嬰兒車還具備搖床功能,搖床功能可通過脈沖寬度調(diào)制 PWM控制,改變嬰兒車輪子的轉(zhuǎn)速。嬰兒車可以在一個(gè)區(qū)域內(nèi)來回移動(dòng),實(shí)現(xiàn)仿人搖床。
(6)自動(dòng)跟隨功能。在嬰兒車前方各安裝2個(gè)單收超聲波傳感器模塊,監(jiān)護(hù)人手持單發(fā)超聲波模塊。當(dāng)嬰兒車開啟自動(dòng)跟隨模式后,超聲波模塊開始工作,接收發(fā)送的信息,得到監(jiān)護(hù)人相對于嬰兒車的方位和距離。單片機(jī)通過控制嬰兒車進(jìn)退與轉(zhuǎn)向,使方位和距離數(shù)據(jù)保持在正常范圍內(nèi),從而實(shí)現(xiàn)嬰兒車的自動(dòng)跟隨。
(7)藍(lán)牙通信功能。用戶可以通過手機(jī)藍(lán)牙連接?jì)雰很?,通過手機(jī) APP 查看從單片機(jī)發(fā)送的環(huán)境溫濕度等信息,手機(jī) APP 可對嬰兒車進(jìn)行一些簡單控制。系統(tǒng)總體設(shè)計(jì)方案如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)方案
系統(tǒng)硬件電路包括STM32F103ZET6單片機(jī)、L298N、DHT11、MLX90614、HX711、F5紅外、MP3音樂播放器、HC-05藍(lán)牙以及其他電子元件。智能安全嬰兒車控制系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)
L298N驅(qū)動(dòng)模塊控制嬰兒車行駛的速度和方向。L298N外接7~35 V電源,可以為單片機(jī)提供 5 V電壓。在該芯片上,左右電機(jī)可分別由2個(gè)使能端控制,通過改變使能端的電壓占空比實(shí)現(xiàn)調(diào)速,控制嬰兒車的運(yùn)動(dòng)。在本系統(tǒng)中,嬰兒車的運(yùn)動(dòng)狀態(tài)共有前進(jìn)、停止、左轉(zhuǎn)、右轉(zhuǎn)4種情況。
DHT11溫濕度傳感器可以檢測床單的溫濕度情況,通過判斷床單的溫濕度是否突然發(fā)生變化以判斷是否有尿床的情況出現(xiàn)。該傳感器采用的數(shù)據(jù)格式為單總線,即輸入和輸出的雙向傳輸通過單引腳端口實(shí)現(xiàn)。數(shù)據(jù)包由 5 字節(jié)(40位)組成。DHT11 的數(shù)據(jù)格式為:8位濕度整數(shù)數(shù)據(jù)+8位濕度小數(shù)數(shù)據(jù)+8位溫度整數(shù)數(shù)據(jù)+8位溫度小數(shù)數(shù)據(jù)+8位校驗(yàn)和。
MLX90614模塊能更準(zhǔn)確地以非接觸的方式測量數(shù)據(jù),該傳感器使用專用信號(hào)處理芯片和傳感器輸出信號(hào),使用紅外熱電堆探測器測量溫度。MLX90614 紅外溫度傳感器原理如圖3所示。
圖3 MLX90614紅外溫度傳感器電路
MLX90614通過SMBus模式輸出物體吻合和環(huán)境濕度結(jié)果。SCL時(shí)鐘線輸出低電平300 ns后,可以改變 SDA 數(shù)據(jù)線上的數(shù)據(jù),然后在SCL的上升沿捕獲傳輸?shù)臄?shù)據(jù),由主機(jī)發(fā)送起始和終止信號(hào)。l6位數(shù)據(jù)每次傳輸一個(gè)字節(jié),分2次傳輸。每個(gè)字節(jié)采用先傳輸高位,后傳輸?shù)臀坏男问健?/p>
壓力傳感器模塊連接藍(lán)牙后,監(jiān)護(hù)人與嬰兒車距離超出指定范圍會(huì)觸發(fā)防丟失報(bào)警。HX711 模塊與同類型芯片相比,具有集成度高、響應(yīng)速度較快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。HX711與單片機(jī)可借助引腳SCK和Dout進(jìn)行串行通信。當(dāng)引腳Dout從高電平跳變成低電平后,SCK引腳輸入25個(gè)脈沖信號(hào),將24位模數(shù)轉(zhuǎn)換后的數(shù)據(jù)讀入單片機(jī)。HX711壓力傳感器原理如圖4所示。
圖4 HX711 壓力傳感器電路
自動(dòng)跟隨采用單收單發(fā)超聲波實(shí)現(xiàn)。手機(jī) APP開啟自動(dòng)跟隨功能后,打開單發(fā)超聲波模塊遙控器,嬰兒車上的單收超聲波模塊接收數(shù)據(jù)。在接收到左右距離后,計(jì)算監(jiān)護(hù)人與嬰兒車的方位和距離,通過監(jiān)護(hù)人的大概位置控制嬰兒車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)。單發(fā)超聲波模塊電路如圖5所示。
圖5 單發(fā)超聲波模塊電路
自動(dòng)安撫功能指當(dāng)聲音傳感器檢測到啼哭聲時(shí),觸發(fā)MP3播放模塊和仿人搖床對嬰兒進(jìn)行安撫。MP3采用DYSV5W 語音播報(bào)模塊。
仿人搖床通過PWM脈沖調(diào)制技術(shù)改變嬰兒車的車輪轉(zhuǎn)速,利用定時(shí)器設(shè)置自動(dòng)安撫的時(shí)間。通過計(jì)數(shù)器循環(huán)改變車輪的轉(zhuǎn)向,使嬰兒車能在固定區(qū)域內(nèi)緩慢來回移動(dòng)。
本系統(tǒng)采用的藍(lán)牙模塊是HC-05,共有6個(gè)引腳。使用的4個(gè)引腳分別為VCC、GND、RXD和TXD引腳。電源正極與VCC引腳相連,電源負(fù)極與GND 引腳相連,這2個(gè)引腳是藍(lán)牙模塊供電引腳。藍(lán)牙的RXD接收端引腳與STM32單片機(jī)的TXD發(fā)送端引腳連接;藍(lán)牙的TXD發(fā)送端引腳與STM32單片機(jī)的RXD端引腳連接。
DHT11傳感器采集嬰兒車床單溫濕度信息,MLX90614傳感器檢測嬰兒體溫,HX711傳感器檢測嬰兒是否在嬰兒車內(nèi),聲音傳感器檢測嬰兒是否啼哭。STM32單片機(jī)收集傳感器采集的信息,對出現(xiàn)的異常情況做出判斷。當(dāng)溫濕度和嬰兒體溫超過設(shè)定閾值時(shí),蜂鳴器報(bào)警。當(dāng)聲音傳感器檢測到嬰兒啼哭時(shí),自動(dòng)播放音樂并啟動(dòng)仿人搖床功能。手機(jī)APP端連接藍(lán)牙后,可以實(shí)時(shí)查看嬰兒車狀態(tài)。在APP中開啟防丟失模式后,若壓力傳感器檢測到嬰兒車內(nèi)質(zhì)量低于閾值時(shí),觸發(fā)蜂鳴器報(bào)警。當(dāng)監(jiān)護(hù)人手持手機(jī)離嬰兒車太遠(yuǎn)導(dǎo)致藍(lán)牙斷開時(shí),觸發(fā)報(bào)警。手機(jī)APP可以控制開啟自動(dòng)跟隨功能,監(jiān)護(hù)人手持超聲波發(fā)射控制器,對準(zhǔn)嬰兒車即可啟動(dòng)自動(dòng)跟隨功能。
DHT11模塊主要用于采集嬰兒車床單的溫濕度。DHT11共4個(gè)引腳,其中VCC和GND分別接電源的正極和負(fù)極,NC端懸空,DATA端為傳輸數(shù)據(jù)端,采集的信息通過該引腳傳輸給單片機(jī)。硬件正確連接并且初始化完成后,可以獲取溫濕度數(shù)據(jù)。環(huán)境溫濕度模塊工作流程如圖6所示。
圖6 環(huán)境溫濕度模塊工作流程
嬰兒體溫檢測模塊主要用于實(shí)時(shí)檢測嬰兒的體溫是否正常。MLX90614模塊連接成功并初始化完成后,可以采集溫度值,并傳輸給單片機(jī)進(jìn)行處理。在體溫檢測模塊程序設(shè)計(jì)過程中,通過IC總線獲取數(shù)據(jù)。
聲音傳感器檢測到嬰兒啼哭時(shí),觸發(fā)嬰兒車自動(dòng)安撫功能。DY-SV5W模塊使用串口控制,單片機(jī)通過串口發(fā)送十六進(jìn)制數(shù)據(jù)“AA 02 00 AC”播放音樂,發(fā)送“AA 03 00 AD”暫停音樂。播放音樂的同時(shí)開啟仿人搖床功能,利用定時(shí)器TIM2控制仿人搖床功能的開啟和關(guān)閉。開始播放音樂時(shí),使能定時(shí)器TIM2中斷,進(jìn)入中斷后,開啟仿人搖床功能。利用PWM技術(shù)改變車輪轉(zhuǎn)速,同時(shí)程序控制車輪的轉(zhuǎn)向,前進(jìn)一秒,停止一秒,后退一秒,停止一秒,如此循環(huán)。自動(dòng)安撫模塊的工作流程如圖7所示。
圖7 自動(dòng)安撫模塊工作流程
防丟失功能通過壓力傳感器HX711判斷嬰兒是否在嬰兒車內(nèi)。手機(jī)APP連接?jì)雰很?,根?jù)藍(lán)牙是否正常連接判斷嬰兒車是否在監(jiān)護(hù)人的正常監(jiān)護(hù)范圍內(nèi)。該功能通過手機(jī)APP開啟,開啟后如果嬰兒車質(zhì)量小于設(shè)定值,或者監(jiān)護(hù)人與嬰兒車距離太遠(yuǎn)導(dǎo)致藍(lán)牙斷開,則觸發(fā)蜂鳴器報(bào)警。防丟失模塊工作流程如圖8所示。
圖8 防丟失模塊工作流程
自動(dòng)跟隨模塊可以實(shí)現(xiàn)嬰兒車跟隨特定監(jiān)護(hù)人行進(jìn)的功能。采用單收單發(fā)超聲波模塊實(shí)現(xiàn)自動(dòng)跟隨,手機(jī)APP開啟自動(dòng)跟隨功能后,監(jiān)護(hù)人手持超聲波發(fā)射模塊,此時(shí)監(jiān)護(hù)人與2個(gè)接收超聲波模塊構(gòu)成一個(gè)三角形,因此通過計(jì)算可以知曉監(jiān)護(hù)人與嬰兒車的距離和相對于嬰兒車的偏差,單片機(jī)通過判斷距離和偏差的大小后,控制嬰兒車前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn),使距離和偏差保持在正常范圍內(nèi)。接收超聲波位置與監(jiān)護(hù)人位置如圖9所示。自動(dòng)跟隨模塊的工作流程如圖10所示。
圖9 接收超聲波位置與監(jiān)護(hù)人位置
圖10 自動(dòng)跟隨模塊的工作流程
藍(lán)牙無線通信:可以實(shí)現(xiàn)嬰兒車與手機(jī)APP的通信,傳感器采集到各項(xiàng)數(shù)據(jù)后,由單片機(jī)通過串口發(fā)送給APP進(jìn)行顯示。傳輸數(shù)據(jù)時(shí),通過名稱/值的JSON格式發(fā)送,有利于Android進(jìn)行數(shù)據(jù)解析。接收數(shù)據(jù)時(shí),根據(jù)串口的接收標(biāo)志位判斷是否接收到數(shù)據(jù),若已接收到,那么會(huì)將所接收的數(shù)據(jù)信息存儲(chǔ)于串口接收數(shù)組中。
電機(jī)驅(qū)動(dòng)模塊使用L298N芯片對2個(gè)電機(jī)進(jìn)行驅(qū)動(dòng),通過控制單片機(jī)和L298N驅(qū)動(dòng)連接引腳電平的高低控制嬰兒車的運(yùn)動(dòng)。在本系統(tǒng)中,嬰兒車的運(yùn)動(dòng)狀態(tài)共有前進(jìn)、停止、左轉(zhuǎn)、右轉(zhuǎn)4種。
通過控制L298N驅(qū)動(dòng)的IN1(IN3),IN2(IN4)電平高低來控制電機(jī)的轉(zhuǎn)向。調(diào)整PWM波的函數(shù)以設(shè)置左、右輪子的PWM值,從而控制電機(jī)的轉(zhuǎn)速。
溫濕度檢測功能包括嬰兒車床單溫濕度檢測和嬰兒體溫檢測。通過 DHT11傳感器可以檢測嬰兒床的溫濕度,MLX90614傳感器可以檢測嬰兒體溫。
測試過程中,用濕巾模仿尿床,紅外溫濕度傳感器對準(zhǔn)人體??梢杂^察到環(huán)境濕度從59%RH變到91%RH,手的檢測溫度為26.7 ℃,為正常值。監(jiān)控模塊測試效果如圖11所示。
圖11 監(jiān)控模塊測試效果
自動(dòng)安撫主要通過聲音傳感器檢測是否有嬰兒啼哭,若檢測到啼哭,觸發(fā)中斷,自動(dòng)播放兒歌和進(jìn)行仿人搖床。測試中用手機(jī)播放嬰兒啼哭音效,可觀察到聲音傳感器檢測指示燈從熄滅變?yōu)槌A?。啼哭檢測效果如圖12所示。
圖12 啼哭檢測效果
在嬰兒車前方安裝2個(gè)單收超聲波模塊,監(jiān)護(hù)人手持單發(fā)超聲波模塊,當(dāng)手機(jī)APP開啟自動(dòng)跟隨功能后,監(jiān)護(hù)人將單發(fā)超聲波模塊對準(zhǔn)嬰兒車即可實(shí)現(xiàn)自動(dòng)跟隨。測試步驟:嬰兒車上電后,模塊成功初始化,連接藍(lán)牙開啟自動(dòng)跟隨功能。此時(shí),嬰兒車上的單收超聲波模塊的指示燈閃爍,模塊正常工作。
通過HX711傳感器和藍(lán)牙共同完成防丟失功能。測試步驟:將嬰兒模擬物放于嬰兒車上,打開嬰兒車監(jiān)控平臺(tái)APP,通過藍(lán)牙連接智能安全嬰兒車。連接成功后,通過APP開啟嬰兒車“防丟失”功能,當(dāng)把嬰兒模擬物抱起時(shí),蜂鳴器報(bào)警。重新放好嬰兒模擬物,蜂鳴器停止報(bào)警,此時(shí)斷開藍(lán)牙,蜂鳴器再次報(bào)警。關(guān)閉防丟失功能可以解除報(bào)警。
藍(lán)牙通信模塊可以實(shí)現(xiàn)監(jiān)護(hù)人與嬰兒車的信息交互。測試步驟:對嬰兒車上電后,打開手機(jī)APP,連接藍(lán)牙,觀察是否能成功連接;成功連接藍(lán)牙后,當(dāng)傳感器模塊初始化并采集到信息時(shí),觀察APP中能否顯示信息。藍(lán)牙連接成功后,指示燈緩慢閃爍,表明藍(lán)牙已經(jīng)配對成功。藍(lán)牙測試效果如圖13所示,APP測試效果如圖14所示。
圖13 藍(lán)牙模塊測試效果
圖14 APP測試效果
本文以嬰兒車的智能化為背景,基于STM32F103ZET6單片機(jī)設(shè)計(jì)了一款智能化嬰兒車控制系統(tǒng)。該系統(tǒng)衍生出的智能嬰兒車可用性強(qiáng),能對嬰兒的一些常見行為進(jìn)行監(jiān)控,具備的自動(dòng)安撫功能也能代替父母進(jìn)行人工安撫,大大減輕了父母的負(fù)擔(dān)。智能嬰兒車在嬰兒用品市場中有著十分廣闊的應(yīng)用前景,值得深入研究。
物聯(lián)網(wǎng)技術(shù)2022年10期