萬 濤,馮俊森,陳 錦,劉 鵬,張龍祥
(華東交通大學 信息工程學院,江西 南昌 330013)
由于大部分父母白天忙于工作,晚上需要休息,因此對嬰兒的照顧不周。嬰兒車作為一種傳統的嬰兒用品,在現代社會中有著廣泛的市場需求。雖然傳統嬰兒車種類繁多,但功能較為單一,無法滿足父母的多樣化需求。在物聯網技術高速發展的今天,以“嬰兒車”智能化為出發點,可以設計一款針對嬰兒發燒、尿床、啼哭等生理行為以及周圍環境變化做出決策的智能嬰兒車。
文中設計了一款能夠幫助監護人更高效、更靈活照顧嬰兒群體,有助于減輕父母壓力的嬰兒車,該車分為硬件設計和軟件設計兩部分。嬰兒車硬件部分以STM32F103ZET6單片機為主控板,L298N作為智能安全嬰兒車控制系統的驅動芯片,搭載DHT11溫濕度傳感器、紅外非接觸式溫度傳感器MLX90614和聲音傳感器,以實時檢測嬰兒床單溫濕度、嬰兒體溫、嬰兒啼哭等信息;使用MP3 音樂播放模塊播放兒歌;使用HX711壓力傳感器監測嬰兒是否在嬰兒車內;使用單收單發超聲波傳感器實現自動跟隨;使用HC-05 藍牙實現嬰兒車與手機的數據傳輸;使用F5 紅外傳感器實現避障功能。監護人可在手機APP上實時查看嬰兒信息。軟件APP可以通過藍牙通信對嬰兒車進行控制。本系統的具體功能模塊包括:
(1)環境溫度檢測功能。將 DHT11 溫濕度傳感器嵌入嬰兒的睡墊上,若溫濕度出現大幅變化,如溫度低于15 ℃,或者濕度高于90%RH,可判斷被單滑落導致床上溫度下降或者嬰兒出現尿床情況。
(2)體溫檢測功能。通過紅外非接觸式溫度傳感器MLX90614精確測量體膚溫度,當體溫超過38 ℃時,判斷嬰兒有發燒的情況出現,觸發報警。
(3)啼哭檢測功能。使用聲音傳感器檢測嬰兒是否啼哭,同時可以用來判斷嬰兒所在環境是否噪音過大。如果檢測到傳感器一段時間內持續返回高電平,則表示嬰兒啼哭或環境噪音過大。
(4)防丟失功能。在嬰兒車上安裝壓力傳感器,可檢測嬰兒是否在嬰兒車內。開啟防丟失功能后,若嬰兒被抱起,壓力傳感器檢測數據低于3 kg,數據異常,觸發報警。同時,手機藍牙可連接嬰兒車,當嬰兒車距離太遠導致藍牙斷開時,觸發報警。
(5)自動安撫功能。在嬰兒車上安裝MP3音樂播放模塊。通過聲音傳感器檢測嬰兒是否啼哭,若檢測到嬰兒啼哭,則可利用MP3模塊播放音樂,音樂播放一段時間后自動停止。同時,嬰兒車還具備搖床功能,搖床功能可通過脈沖寬度調制 PWM控制,改變嬰兒車輪子的轉速。嬰兒車可以在一個區域內來回移動,實現仿人搖床。
(6)自動跟隨功能。在嬰兒車前方各安裝2個單收超聲波傳感器模塊,監護人手持單發超聲波模塊。當嬰兒車開啟自動跟隨模式后,超聲波模塊開始工作,接收發送的信息,得到監護人相對于嬰兒車的方位和距離。單片機通過控制嬰兒車進退與轉向,使方位和距離數據保持在正常范圍內,從而實現嬰兒車的自動跟隨。
(7)藍牙通信功能。用戶可以通過手機藍牙連接嬰兒車,通過手機 APP 查看從單片機發送的環境溫濕度等信息,手機 APP 可對嬰兒車進行一些簡單控制。系統總體設計方案如圖1所示。

圖1 系統總體設計方案
系統硬件電路包括STM32F103ZET6單片機、L298N、DHT11、MLX90614、HX711、F5紅外、MP3音樂播放器、HC-05藍牙以及其他電子元件。智能安全嬰兒車控制系統硬件結構如圖2所示。

圖2 系統硬件結構
L298N驅動模塊控制嬰兒車行駛的速度和方向。L298N外接7~35 V電源,可以為單片機提供 5 V電壓。在該芯片上,左右電機可分別由2個使能端控制,通過改變使能端的電壓占空比實現調速,控制嬰兒車的運動。在本系統中,嬰兒車的運動狀態共有前進、停止、左轉、右轉4種情況。
DHT11溫濕度傳感器可以檢測床單的溫濕度情況,通過判斷床單的溫濕度是否突然發生變化以判斷是否有尿床的情況出現。該傳感器采用的數據格式為單總線,即輸入和輸出的雙向傳輸通過單引腳端口實現。數據包由 5 字節(40位)組成。DHT11 的數據格式為:8位濕度整數數據+8位濕度小數數據+8位溫度整數數據+8位溫度小數數據+8位校驗和。
MLX90614模塊能更準確地以非接觸的方式測量數據,該傳感器使用專用信號處理芯片和傳感器輸出信號,使用紅外熱電堆探測器測量溫度。MLX90614 紅外溫度傳感器原理如圖3所示。

圖3 MLX90614紅外溫度傳感器電路
MLX90614通過SMBus模式輸出物體吻合和環境濕度結果。SCL時鐘線輸出低電平300 ns后,可以改變 SDA 數據線上的數據,然后在SCL的上升沿捕獲傳輸的數據,由主機發送起始和終止信號。l6位數據每次傳輸一個字節,分2次傳輸。每個字節采用先傳輸高位,后傳輸低位的形式。
壓力傳感器模塊連接藍牙后,監護人與嬰兒車距離超出指定范圍會觸發防丟失報警。HX711 模塊與同類型芯片相比,具有集成度高、響應速度較快、抗干擾能力強等優點。HX711與單片機可借助引腳SCK和Dout進行串行通信。當引腳Dout從高電平跳變成低電平后,SCK引腳輸入25個脈沖信號,將24位模數轉換后的數據讀入單片機。HX711壓力傳感器原理如圖4所示。

圖4 HX711 壓力傳感器電路
自動跟隨采用單收單發超聲波實現。手機 APP開啟自動跟隨功能后,打開單發超聲波模塊遙控器,嬰兒車上的單收超聲波模塊接收數據。在接收到左右距離后,計算監護人與嬰兒車的方位和距離,通過監護人的大概位置控制嬰兒車的前進、后退、左轉、右轉。單發超聲波模塊電路如圖5所示。

圖5 單發超聲波模塊電路
自動安撫功能指當聲音傳感器檢測到啼哭聲時,觸發MP3播放模塊和仿人搖床對嬰兒進行安撫。MP3采用DYSV5W 語音播報模塊。
仿人搖床通過PWM脈沖調制技術改變嬰兒車的車輪轉速,利用定時器設置自動安撫的時間。通過計數器循環改變車輪的轉向,使嬰兒車能在固定區域內緩慢來回移動。
本系統采用的藍牙模塊是HC-05,共有6個引腳。使用的4個引腳分別為VCC、GND、RXD和TXD引腳。電源正極與VCC引腳相連,電源負極與GND 引腳相連,這2個引腳是藍牙模塊供電引腳。藍牙的RXD接收端引腳與STM32單片機的TXD發送端引腳連接;藍牙的TXD發送端引腳與STM32單片機的RXD端引腳連接。
DHT11傳感器采集嬰兒車床單溫濕度信息,MLX90614傳感器檢測嬰兒體溫,HX711傳感器檢測嬰兒是否在嬰兒車內,聲音傳感器檢測嬰兒是否啼哭。STM32單片機收集傳感器采集的信息,對出現的異常情況做出判斷。當溫濕度和嬰兒體溫超過設定閾值時,蜂鳴器報警。當聲音傳感器檢測到嬰兒啼哭時,自動播放音樂并啟動仿人搖床功能。手機APP端連接藍牙后,可以實時查看嬰兒車狀態。在APP中開啟防丟失模式后,若壓力傳感器檢測到嬰兒車內質量低于閾值時,觸發蜂鳴器報警。當監護人手持手機離嬰兒車太遠導致藍牙斷開時,觸發報警。手機APP可以控制開啟自動跟隨功能,監護人手持超聲波發射控制器,對準嬰兒車即可啟動自動跟隨功能。
DHT11模塊主要用于采集嬰兒車床單的溫濕度。DHT11共4個引腳,其中VCC和GND分別接電源的正極和負極,NC端懸空,DATA端為傳輸數據端,采集的信息通過該引腳傳輸給單片機。硬件正確連接并且初始化完成后,可以獲取溫濕度數據。環境溫濕度模塊工作流程如圖6所示。

圖6 環境溫濕度模塊工作流程
嬰兒體溫檢測模塊主要用于實時檢測嬰兒的體溫是否正常。MLX90614模塊連接成功并初始化完成后,可以采集溫度值,并傳輸給單片機進行處理。在體溫檢測模塊程序設計過程中,通過IC總線獲取數據。
聲音傳感器檢測到嬰兒啼哭時,觸發嬰兒車自動安撫功能。DY-SV5W模塊使用串口控制,單片機通過串口發送十六進制數據“AA 02 00 AC”播放音樂,發送“AA 03 00 AD”暫停音樂。播放音樂的同時開啟仿人搖床功能,利用定時器TIM2控制仿人搖床功能的開啟和關閉。開始播放音樂時,使能定時器TIM2中斷,進入中斷后,開啟仿人搖床功能。利用PWM技術改變車輪轉速,同時程序控制車輪的轉向,前進一秒,停止一秒,后退一秒,停止一秒,如此循環。自動安撫模塊的工作流程如圖7所示。

圖7 自動安撫模塊工作流程
防丟失功能通過壓力傳感器HX711判斷嬰兒是否在嬰兒車內。手機APP連接嬰兒車,根據藍牙是否正常連接判斷嬰兒車是否在監護人的正常監護范圍內。該功能通過手機APP開啟,開啟后如果嬰兒車質量小于設定值,或者監護人與嬰兒車距離太遠導致藍牙斷開,則觸發蜂鳴器報警。防丟失模塊工作流程如圖8所示。

圖8 防丟失模塊工作流程
自動跟隨模塊可以實現嬰兒車跟隨特定監護人行進的功能。采用單收單發超聲波模塊實現自動跟隨,手機APP開啟自動跟隨功能后,監護人手持超聲波發射模塊,此時監護人與2個接收超聲波模塊構成一個三角形,因此通過計算可以知曉監護人與嬰兒車的距離和相對于嬰兒車的偏差,單片機通過判斷距離和偏差的大小后,控制嬰兒車前進、后退、左轉、右轉,使距離和偏差保持在正常范圍內。接收超聲波位置與監護人位置如圖9所示。自動跟隨模塊的工作流程如圖10所示。

圖9 接收超聲波位置與監護人位置

圖10 自動跟隨模塊的工作流程
藍牙無線通信:可以實現嬰兒車與手機APP的通信,傳感器采集到各項數據后,由單片機通過串口發送給APP進行顯示。傳輸數據時,通過名稱/值的JSON格式發送,有利于Android進行數據解析。接收數據時,根據串口的接收標志位判斷是否接收到數據,若已接收到,那么會將所接收的數據信息存儲于串口接收數組中。
電機驅動模塊使用L298N芯片對2個電機進行驅動,通過控制單片機和L298N驅動連接引腳電平的高低控制嬰兒車的運動。在本系統中,嬰兒車的運動狀態共有前進、停止、左轉、右轉4種。
通過控制L298N驅動的IN1(IN3),IN2(IN4)電平高低來控制電機的轉向。調整PWM波的函數以設置左、右輪子的PWM值,從而控制電機的轉速。
溫濕度檢測功能包括嬰兒車床單溫濕度檢測和嬰兒體溫檢測。通過 DHT11傳感器可以檢測嬰兒床的溫濕度,MLX90614傳感器可以檢測嬰兒體溫。
測試過程中,用濕巾模仿尿床,紅外溫濕度傳感器對準人體。可以觀察到環境濕度從59%RH變到91%RH,手的檢測溫度為26.7 ℃,為正常值。監控模塊測試效果如圖11所示。

圖11 監控模塊測試效果
自動安撫主要通過聲音傳感器檢測是否有嬰兒啼哭,若檢測到啼哭,觸發中斷,自動播放兒歌和進行仿人搖床。測試中用手機播放嬰兒啼哭音效,可觀察到聲音傳感器檢測指示燈從熄滅變為常亮。啼哭檢測效果如圖12所示。

圖12 啼哭檢測效果
在嬰兒車前方安裝2個單收超聲波模塊,監護人手持單發超聲波模塊,當手機APP開啟自動跟隨功能后,監護人將單發超聲波模塊對準嬰兒車即可實現自動跟隨。測試步驟:嬰兒車上電后,模塊成功初始化,連接藍牙開啟自動跟隨功能。此時,嬰兒車上的單收超聲波模塊的指示燈閃爍,模塊正常工作。
通過HX711傳感器和藍牙共同完成防丟失功能。測試步驟:將嬰兒模擬物放于嬰兒車上,打開嬰兒車監控平臺APP,通過藍牙連接智能安全嬰兒車。連接成功后,通過APP開啟嬰兒車“防丟失”功能,當把嬰兒模擬物抱起時,蜂鳴器報警。重新放好嬰兒模擬物,蜂鳴器停止報警,此時斷開藍牙,蜂鳴器再次報警。關閉防丟失功能可以解除報警。
藍牙通信模塊可以實現監護人與嬰兒車的信息交互。測試步驟:對嬰兒車上電后,打開手機APP,連接藍牙,觀察是否能成功連接;成功連接藍牙后,當傳感器模塊初始化并采集到信息時,觀察APP中能否顯示信息。藍牙連接成功后,指示燈緩慢閃爍,表明藍牙已經配對成功。藍牙測試效果如圖13所示,APP測試效果如圖14所示。

圖13 藍牙模塊測試效果

圖14 APP測試效果
本文以嬰兒車的智能化為背景,基于STM32F103ZET6單片機設計了一款智能化嬰兒車控制系統。該系統衍生出的智能嬰兒車可用性強,能對嬰兒的一些常見行為進行監控,具備的自動安撫功能也能代替父母進行人工安撫,大大減輕了父母的負擔。智能嬰兒車在嬰兒用品市場中有著十分廣闊的應用前景,值得深入研究。