侯麗紅*
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院,河南 鄭州)
在當(dāng)代社會(huì),許多年輕父母由于工作繁忙,常常無法給予嬰兒足夠的關(guān)注和照顧。因此,他們需要一種能夠自動(dòng)監(jiān)測嬰兒狀態(tài)并采取相應(yīng)措施的智能嬰兒床。而基于STM32 的智能嬰兒床系統(tǒng)正是這樣一款創(chuàng)新產(chǎn)品,它能夠?qū)崟r(shí)檢測嬰兒的哭聲、尿液等信息,并根據(jù)這些信息自動(dòng)執(zhí)行相應(yīng)的操作,例如播放音樂、搖動(dòng)床鋪等,從而幫助父母減輕壓力,更好地照顧他們的嬰兒[1]。
本系統(tǒng)的核心部分是STM32F103C8T6 單片機(jī),它與聲音采集電路、尿液檢測電路、按鍵電路、ULN2003 驅(qū)動(dòng)電路、LED 指示燈控制電路、LCD1602液晶屏顯示電路以及WT588D 語音播報(bào)電路相互配合,共同實(shí)現(xiàn)了整個(gè)系統(tǒng)的功能。整個(gè)系統(tǒng)通過STM32F103C8T6 單片機(jī)進(jìn)行控制和管理,它可以接收來自傳感器的數(shù)據(jù),并根據(jù)預(yù)設(shè)的規(guī)則和算法做出相應(yīng)的響應(yīng)[2]。本系統(tǒng)具有兩種工作模式,即自動(dòng)模式和手動(dòng)模式。在自動(dòng)模式下,如果聲音采集電路采集到嬰兒哭鬧的信號,可以通過ULN2003 驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)行左右旋轉(zhuǎn),有效地模擬搖床的動(dòng)作[3]。同時(shí),系統(tǒng)還會(huì)播放適合嬰兒的音樂,幫助安撫嬰兒。音樂播放結(jié)束后,系統(tǒng)會(huì)自動(dòng)停止運(yùn)行。如果嬰兒再次開始哭鬧,系統(tǒng)會(huì)重新啟動(dòng)搖床和播放音樂的過程。在手動(dòng)模式下,家長可以根據(jù)需要通過按鍵來開啟或關(guān)閉步進(jìn)電機(jī)。系統(tǒng)整體設(shè)計(jì)框圖如圖1 所示。

圖1 系統(tǒng)整體設(shè)計(jì)框圖
聲音采集電路主要由聲音傳感器和LM393 雙電壓比較器構(gòu)成,用于檢測嬰兒是否在哭鬧。聲音傳感器能夠?qū)雰旱目蘼曓D(zhuǎn)換成電信號,并將其輸入到LM393 中。LM393 會(huì)將輸入信號與預(yù)設(shè)的參考電壓進(jìn)行比較。當(dāng)輸入信號高于參考電壓時(shí),LM393 會(huì)輸出高電平信號;反之,輸出低電平信號。聲音采集電路原理如圖2 所示。

圖2 聲音采集電路原理
本系統(tǒng)以步進(jìn)電機(jī)的左右旋轉(zhuǎn)來模擬搖床動(dòng)作[4],選用的步進(jìn)電機(jī)型號為28BYJ-48 型,它是一種四相八拍電機(jī),工作電壓為5 V。然而,由于STM32 單片機(jī)的輸出口電流較小,無法直接驅(qū)動(dòng)步進(jìn)電機(jī)工作,因此,需要連接一個(gè)ULN2003 驅(qū)動(dòng)芯片來實(shí)現(xiàn)電流放大的功能。ULN2003 是一種常見的步進(jìn)電機(jī)驅(qū)動(dòng)芯片,可用于驅(qū)動(dòng)4 相、5 線和6 線步進(jìn)電機(jī)。模擬搖床電路原理如圖3 所示。

圖3 模擬搖床電路原理
尿液檢測電路主要是由水位傳感器和LM393 雙電壓比較器構(gòu)成,用來檢測嬰兒是否尿床。尿液檢測電路原理如圖4 所示,首先,水位傳感器檢測嬰兒是否尿床;然后,將采集到的信號通過輸出引腳DO 傳送給LM393 的輸入引腳3 進(jìn)行處理;最后,LM393 的輸出引腳OUT 將信號傳送給STM32 單片機(jī)的引腳PB12 進(jìn)行處理。當(dāng)尿液浸入水位傳感器時(shí),水位上升,使得DO 值增大,而LM393 的引腳3 接收到DO值的變化后,輸出一個(gè)電平信號,這個(gè)電平信號可以被后續(xù)電路所讀取并進(jìn)行處理。

圖4 尿液檢測電路原理
本系統(tǒng)中用到了3 個(gè)獨(dú)立按鍵,分別為K1、K2、K3。按鍵K1 用于模式的切換;按鍵K2 用于手動(dòng)模式下開啟步進(jìn)電機(jī)左右旋轉(zhuǎn);按鍵K3 用于手動(dòng)模式下關(guān)閉步進(jìn)電機(jī)左右旋轉(zhuǎn)。獨(dú)立按鍵電路原理如圖5 所示。

圖5 獨(dú)立按鍵電路原理
本系統(tǒng)中顯示模塊選用的是LCD1602 液晶顯示屏,它可以同時(shí)顯示32 個(gè)字符[5]。它不僅可以顯示當(dāng)前系統(tǒng)是自動(dòng)模式還是手動(dòng)模式,而且可以顯示搖床是開啟狀態(tài)還是關(guān)閉狀態(tài),方便用戶進(jìn)行操作和設(shè)置。顯示模塊電路原理如圖6 所示。

圖6 顯示模塊電路原理
語音播報(bào)電路主要由WT588D 語音芯片和揚(yáng)聲器構(gòu)成。WT588D 語音芯片是一款高品質(zhì)語音控制芯片,通過外掛存儲(chǔ)器將編譯好的語音工程燒寫到存儲(chǔ)器中,即可控制語音的播放。揚(yáng)聲器則是用于將電信號轉(zhuǎn)換為聲音的設(shè)備,在智能嬰兒床系統(tǒng)設(shè)計(jì)中,揚(yáng)聲器的質(zhì)量對整體聲音效果至關(guān)重要。語音播報(bào)電路原理如圖7 所示,圖中STM32 單片機(jī)通過引腳PB9與WT588D 語音芯片連接建立通信,向WT588D 語音芯片發(fā)送控制指令和語音數(shù)據(jù),而WT588D 語音芯片接收到控制命令和語音數(shù)據(jù)后,會(huì)進(jìn)行解碼并播放。如果水位傳感器檢測到嬰兒尿床,將會(huì)進(jìn)行語音播報(bào)。

圖7 語音播報(bào)電路原理
如果水位傳感器檢測到嬰兒尿床,LED 指示燈亮,發(fā)出紅色的光,提醒家長及時(shí)更換尿不濕,保證嬰兒的健康和舒適度。LED 指示燈控制電路原理如圖8所示,只需STM32 單片機(jī)發(fā)送高電平信號便可觸發(fā)LED 指示燈亮。

圖8 LED 指示燈控制電路原理
程序開始運(yùn)行時(shí),首先對系統(tǒng)進(jìn)行初始化,初始化的內(nèi)容包括延時(shí)函數(shù)、按鍵、LED 指示燈、語音播報(bào)模塊、電機(jī)等GPIO 的初始化。同時(shí),初始化LCD1602液晶顯示屏,顯示當(dāng)前狀態(tài)和模式。在主程序的主循環(huán)中,通過keyscan()函數(shù)檢測按鍵輸入,實(shí)現(xiàn)自動(dòng)模式和手動(dòng)模式的切換。當(dāng)處于自動(dòng)模式時(shí),通過變量Voice 檢測哭聲是否持續(xù),如果持續(xù)時(shí)間超過20 ms,則設(shè)置DJ_TIME 為60 ms, 表示電機(jī)開啟時(shí)間為1 min,并將openFlag 設(shè)置為1,表示電機(jī)開啟,同時(shí)播放歌曲。當(dāng)處于手動(dòng)模式時(shí),可以通過KEY2 和KEY3按鍵控制電機(jī)的開啟和關(guān)閉。TIM2 定時(shí)器每隔1 ms產(chǎn)生一次中斷,用于檢測DJ_TIME 是否減少到0。當(dāng)DJ_TIME 減少到0 時(shí),表示電機(jī)開啟時(shí)間已到,關(guān)閉電機(jī)。同時(shí),更新LCD1602 顯示屏上的狀態(tài)信息。通過檢測濕度值(變量ShiDu),當(dāng)濕度超過一定閾值時(shí),點(diǎn)亮LED 燈并播報(bào)提示音。當(dāng)openFlag 為1 時(shí),表示電機(jī)開啟,通過motoRotate()函數(shù)控制電機(jī)的旋轉(zhuǎn)。當(dāng)openFlag 為0 時(shí),表示電機(jī)關(guān)閉,調(diào)用MotorStop()函數(shù)停止電機(jī)。
本研究在智能嬰兒床系統(tǒng)硬件和軟件完成的基礎(chǔ)上對智能嬰兒床系統(tǒng)進(jìn)行了功能測試,測試過程為:
(1) 給系統(tǒng)上電,按下自鎖開關(guān)SWITCH 進(jìn)行復(fù)位,此時(shí)系統(tǒng)處于自動(dòng)模式,步進(jìn)電機(jī)處于關(guān)閉狀態(tài)。當(dāng)系統(tǒng)處于自動(dòng)模式時(shí),測試人員對著系統(tǒng)假裝哭鬧,如果聲音傳感器檢測到哭鬧聲,則會(huì)觸發(fā)步進(jìn)電機(jī)控制模塊,使步進(jìn)電機(jī)進(jìn)行左右旋轉(zhuǎn),模擬搖床。同時(shí),啟動(dòng)語音播報(bào)模塊播放音樂“小星星”。當(dāng)音樂播放結(jié)束后,停止步進(jìn)電機(jī)和音樂播放,等待下一次聲音檢測。如果再次檢測到哭鬧聲,重復(fù)上述過程。
(2) 待音樂播放結(jié)束,按下按鍵K1,此時(shí)系統(tǒng)處于手動(dòng)模式,步進(jìn)電機(jī)處于關(guān)閉狀態(tài)。當(dāng)系統(tǒng)處于手動(dòng)模式時(shí),按下按鍵K2 可以啟動(dòng)步進(jìn)電機(jī)左右旋轉(zhuǎn);按下按鍵K3 可以關(guān)閉步進(jìn)電機(jī)左右旋轉(zhuǎn)。家長可以根據(jù)實(shí)際情況需要調(diào)整系統(tǒng)的工作模式。
(3) 系統(tǒng)無論是處于自動(dòng)模式還是手動(dòng)模式,都可以檢測嬰兒是否尿床。當(dāng)水位傳感器檢測到嬰兒尿床時(shí),系統(tǒng)中的LED 指示燈亮,并啟動(dòng)語音播報(bào)模塊,提醒家長“請注意:寶貝需要更換尿不濕”。
測試結(jié)果表明,該系統(tǒng)具有較高的穩(wěn)定性和可靠性,可以滿足年輕父母的需求。
本研究設(shè)計(jì)的智能嬰兒床系統(tǒng)通過模擬搖床的功能,可以幫助嬰兒更快地入睡,提高睡眠質(zhì)量。同時(shí),在自動(dòng)模式下播放音樂,有助于嬰兒放松心情,更容易進(jìn)入深度睡眠。除此之外,該系統(tǒng)還具有智能化管理和可擴(kuò)展性的特點(diǎn),有助于提高嬰兒和家長的生活質(zhì)量和便利性。因此,本設(shè)計(jì)的研究可以為未來智能家居的發(fā)展提供有益的參考價(jià)值和借鑒。