歐陽朝煌+王治發+沈豐逸+劉芳

摘 要:近年來隨著科學技術的不斷進步,“智能”逐漸走入人們的視野,同時也給人們生活中的產品帶來機遇和挑戰。使用熱釋電、攝像頭、門禁IC卡檢測學生的作息,遙控器、手機APP、觸屏等輸入信息,ARMcotex-M4處理器處理信息,安全數字輸入輸出卡存儲信息,語音模塊、顯示模塊輸出信息,讓“智能”融入學生生活的寢室,使學生的寢室擁有生命,帶給我們無限的精彩。
關鍵詞:ARMcotex-M4處理器;TFT顯示;IC卡門禁;智能軟硬件
1 智能寢室的設計目的
智能,不應該只處于實驗室,而應該進入生活。而智能寢室這個設計就是通過電子硬件和微處理器編程技術,結合學生生活習慣,將智能應用到學生身邊,減少學生生活煩惱,提升學生生活品質。本次課題研究的是如何將智能控制融入到學生生活習慣當中,通過床上壓力傳感器和微處理器的協調保證學生一定時間的睡眠,通過顯示器和語音提示成為在學生離開寢室時的私人秘書,通過IC卡門禁系統保證在學生沒帶鑰匙時照常進入寢室,夜間寢室燈光自適應調節保證學生作息。
2 智能寢室的系統構架(如圖1)
ARMcotex-M4處理器建立多個任務,在uC/OS操作系統中的調度下,將熱釋電、攝像頭、門禁IC卡、控器、手機APP、觸屏、語音模塊、顯示模塊等融入生活,讓學生寢室進入智能化時代。
3 智能寢室的硬件設計
3.1 處理芯片
STM32系列單片機,基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-MX內核,擁有比8位單片機更高的數據處理速度,更豐富的外設。而且可以用STM公司提供的固件庫,簡化了配置寄存器控制單片機的操作,使開發變得更簡單。而且stm32還有SysTick系統時鐘滴答專門提供給uC/OS作為基準時鐘中斷,實現系統的實時性。而且有DMA將數據從存儲器到外設和存儲器到存儲器的雙向傳輸,減輕了單片機CPU由于大量數據傳輸造成的工作負荷。
在本項目中使用STM32f407VET6作為主控芯片,其擁有最高高達168MHz的主頻、512Kb的flah、192Kb的RAM,支持92個中斷,其中每個IO口都可以用作中斷,14個定時器,擁有大量的外設,包括USART、SPI、I2C、ADC、DAC、SDIO等,以及擁有中速USB、高速USB、以太網等外設的接口,內部集成RTC實時時鐘,可以實現更多更復雜的操作。
另外用多個STC公司的STC12C5A60S2芯片作為從機。
3.2 語音解碼芯片
在本課題中,需要用智能系統報告當前狀態信息以及播放音樂,選用VS1003作為語音的播放與錄制。其用于完成在攝像頭錄制視頻的時候能夠同時錄制音頻,當單片機的SPI傳輸音頻數據至此模塊時,能夠實現語音的播放,實現語音提示、mp3播放的效果。
3.3 語音識別芯片
在本課題中,需要實現通過語音開關燈、語音讓智能系統進入安防模式、錄像模式等。選用ld3320作為本次課題的語音識別芯片,此芯片通過快速而穩定的優化算法,完成非特定人語音識別。
3.4 TFT液晶屏
在本課題中,需要用顯示器實現顯示課程信息、睡眠時間信息,以及通過觸屏調節燈光亮度等功能。
3.5 攝像頭模塊
選用OV2640,OV2640是 200W 像素高清攝像頭模塊。該模塊具有高靈敏度、低電壓適合嵌入式應用的優點。
3.6 其他
超聲波模塊:用于檢測開門角度。選用hc-sr04超聲波模塊,分辨率高達0.3cm,功耗低,使用簡便。
溫度傳感器:用于檢測室內和室外溫度。選用18b20數字溫度傳感器,具有靈敏度高,體積小功耗低等優勢。
4 系統軟件設計
4.1 操作系統
在STM32使用的ARM Cortex處理器中,具有主堆棧MSP和進程堆棧PSP,具有PendSV和Systick中斷,這些很明顯是配合了uC/OS操作系統,于是我們選擇了uC/OS作為本項目的嵌入式實時操作系統。
在系統上電后,我們首先要對操作系統進行初始化,包括任務控制塊、空閑鏈表和就緒鏈表、任務堆棧,以及初始化事件控制塊等。隨后初始化硬件平臺,包括stm32的時鐘、DMA、SPI、IO口配置以及OV2640的初始化、RC522、NRF24L01、TFT等的初始化,還有內存管理初始化,然后傳遞任務指針、申請任務堆棧,創建多個任務,最后用OSStart開啟多任務。
4.2 主機主要任務函數
4.2.1 燈光調節任務。為每個LED燈都建立一個結構體,以管理LED的亮滅、亮度、照明時間等,在多任務協同時,其他任務修改結構體參數,就可以控制LED。
4.2.2 門開關控制任務。通過其他任務發送過來的消息郵箱判定門為長關還是長開,通過NRF24L01發送命令到門控制從機以控制門的開關。
4.2.3 攝像頭控制任務。通過其他任務發送過來的消息郵箱判定是否啟動攝像,負責初始化OV2640以及將OV2640提供的數據傳遞到TF卡進行存儲,同時開啟或關閉VS1003的錄音模式。
4.2.4 NRF24L01管理任務。由于NRF24L01發送或接受數據資源屬于互斥信號量,只能由一個任務控制并使用。并且接受藍牙、遙控器的指令,給其他任務發送消息或郵箱,讓多任務協同。
4.2.5 TFT管理任務。此任務負責控制TFT顯示的開關,以及通過TFT上的觸摸屏,得到命令,刷新TFT顯示,給其他任務發送消息或郵箱,讓多任務協同。
4.2.6 LD3320管理任務。此任務接受從LD3320過來的語音識別數據,并將數據處理后給其他任務發送消息或郵箱,讓多任務協同。
4.3 從機主要任務
4.3.1 門控制從機。負責得到測量超聲波的距離數據,通過此數據判斷門開關的角度,以控制電機的運行狀態,并且收集主機發送過來的開光門指令,并按照指令運行。
4.3.2 風扇控制從機。通過熱釋電判斷風扇前方是否有人,并接受主機發送過來的開關風扇的指令。
4.3.3 浴室燈控制。通過室外光敏判斷外面光強,并將數據發送至主機,室內光敏判斷浴室燈是否打開,通過紅外光判斷人的進出,負責打開浴室燈。
5 結束語
本課題從實際情況出發,將“智能”融入學生生活,使寢室富有生命,讓寢室生活不再單調。通過團隊成員的一起努力,經過軟硬件調試的智能寢室成功正常運行。并且由于智能寢室在硬件上載入語音識別模塊,讓它擁有極強的可擴展性和易用性。
參考文獻
[1]盧有亮.嵌入式實時操作系統μC/OS原理與實踐(第2版)[M].電子工業出版社.
[2]殷志堅,劉玉瑩,詹華群,等.電子技能訓練[M].中南大學出版社.
[3]徐明華,邱加永,紀希禹.Java基礎與案例開發詳解[Z].