胡 蓉
(江西工業職業技術學院,江西 南昌 330095)
隨著語音識別技術在人工智能領域的不斷普及,基于語音識別技術的智能臺燈是符合時代發展和人們追求的一款產品。有專家預測,到 2050 年全球將有 47.6 億人患有近視,其中包括 9.4 億人會患有高度近視[1]。導致近視的原因眾多,跟遺傳、環境及人的用眼習慣都有關。人眼長時間處于同一狀態(即調節相對靜止)時會導致眼疲勞,睫狀肌痙攣,從而會導致近視的產生。打破眼睛的調節相對靜止狀態,可有效防控近視或減緩近視進展。具有護眼、節能等功能的臺燈更是各大燈具廠商產品設計方向。
目前,市面上的臺燈功能各不相同,主要實現的功能有:手動亮度調節、自動亮度調節、離線語音控制以及護眼功能等。但是將具備智能控制,人體存在檢測,以及不良坐姿視距過近提醒等功能集成在一起,同時還兼具簡化桌面及語音互動功能的臺燈目前并未可見。
本文基于離線語音識別的智能臺燈的硬件設計,選用了由低功耗單片機STM32F103C8T6 單片機、HLK_LD2410C人體存在感應24 GHz雷達模組檢測器、OLED 顯示模塊、光照檢測傳感器、HC_SR04超聲波測距、L298N驅動器、調節按鍵和 LED 燈板組成的設計方案。
使用主控芯片STM32F103C8T6內部定時器的比較模式生成 PWM 控制信號,該輸出信號經過L298N驅動芯片進行功率驅動后,控制 LED 臺燈,通過控制time定時器的初始值達到調節PWM輸出占空比,經過驅動器驅動后控制LED的亮度和控制桌面風扇的運行。模式按鍵選擇臺燈工作模式,有手動和自動兩種模式。在手動模式下,人體檢測模塊檢測是否有人使用臺燈,從而控制臺燈的開關;通過串口通信接收SU_03T語音指令,根據指令的不同序號實現相應的PWM脈沖輸出,調節LED臺燈的亮度;模式按鍵可切換到手動模式和語音模式進行亮度調節;在自動模式下,根據光敏模塊的模擬信號檢測值經過主控芯片進行ADC轉換后進行數據處理,然后控制PWM脈沖輸出,達到亮度的自動調整。同時,通過超聲波測距模塊進行監測使用者與臺燈的距離,主控芯片對距離數據進行比對處理,當超過設定值,語音芯片發出提示語,用戶需及時調整坐姿。主控芯片通過軟件模擬SPI協議驅動0.96寸OLED屏幕,在128×64個像素點的屏幕上顯示燈的亮度級數及其他信息。
作品采用的是嵌入式單片機芯片STM32F103C8T6。這是一款ARM M3內核的增強型微控制器,主控芯片引腳功能分配如表1所示。

表1 主控芯片引腳功能
作品采用機芯智能SU_03T離線語音識別模組解決在線語音識別必須聯網、對接云端,高成本等問題,輕松實現極簡的用戶體驗。主控芯片內核采用了 32位RSIC 架構,并加入了DSP指令集,專門進行信號處理和語音識別。該芯片支持 150 條本地指令離線識別,支持 RTOS 輕量級系統,具有豐富的外圍接口[2]。
傳統的人體感應節能功能,一般采用人體紅外探測,紅外探測對移動的物體感應比較靈敏,但無法識別靜止、微動或者坐臥的人體。作品采用了一款高靈敏度的24 GHz毫米波人體存在狀態感應模組LD2410C。實現高靈敏度的人體存在狀態感應,可識別運動和靜止狀態下的人體。在本作品中,可感知區域內是否有運動或者微動的人體,實時輸出檢測結果到STM32C8T6主控芯片,實現感知人體存在時間計算,并通過語音提示間隔休息;房間無人時臺燈自動熄滅達到節能等功能。
坐姿調整模塊主要采用 HC_SR04超聲波測距傳感器。超聲測距是利用超聲測距儀向正前方發射超聲波,超聲波在空氣中傳播時,當遇到物體會按原發射方向返回且被超聲測距儀探測到,MCU 可以非常精確地測量超聲波從發射到接收所用的時間t,又已知超聲波在空氣中播的速的度v為 340 m/s。因此,超聲測距儀和物體間的距離L可以通過公式很簡單地計算出[3]。
L=1/2vt
(1)
檢測的最小距離在程序中事先設定好,本設計的最小距離范圍是人體到臺燈的最小距離30 cm。
系統通過模式按鍵控制切換自動模式和手動模式。光照度檢測模塊根據環境光照強度進行數據輸出。在自動模式下,接收到傳感器的模擬信號,光敏電阻采集數據,經過LM393芯片放大后進行輸出。輸出信號電壓有兩種形式,分別是模擬信號和數字信號,此處作品使用模擬信號,輸出口 A0端與主控芯片相連接,主控啟用ADC轉換,采用軟件進行數據處理后,形成10級自動調光輸出。
整個程序的設計主要分為主控STM32F103C8T6單片機IO的初始化程序設計、PWM波輸出程序設計、SU_03T語音識別程序設計以及外部中斷程序、串口通信、OLED顯示程序設計等,主控芯片STM32F103C8T6 的程序流程如圖2所示。

圖2 系統主控程序流程
SU-03T 語音芯片依托智能公元平臺上開發,該開發平臺從整體而言較為復雜,但其生成代碼比較方便,只需相關功能的網頁配置好以后,便可生成軟件開發工具包(SDK),然后通過相關的燒錄工具就可以將生成的代碼寫入SU-03T 語音芯片中。
本文同時采用按鍵和語音兩種控制方式,按鍵按下之后,臺燈能夠準確地做出判斷并做出相應的動作,但是語音識別控制則存在一定的錯誤率,產生這種誤差的原因如下:
(1) 環境存在一定的干擾性,干擾的聲音越大,能夠準確識別的概率會越低。
(2) 識別關鍵詞本身的相似度或者個人的發音的準確度都會對識別率造成影響,相似度越高或者發音不準確,對其干擾就會越大,識別率也會隨之降低。
(3) 語速過快或者過慢也會導致SU_03T識別出錯,語速要適中,吐字清晰。
(4) 電源SU_03T對電源敏感,需要穩定的電壓,在識別過程不能用手觸摸電路板,否則會引起電流異常,影響識別結果。
IEEE組織對于屏幕閃爍的標準非常嚴格,目前最無害的閃爍頻率被定義在3 000 Hz以上,任何在這個頻率以下的閃爍都有可能對人類造成視力危害[4]。未來他們還會進一步研究調變波型與調變比例對視力的影響。作品設計的PWM脈沖輸出頻率高達48 KHz,有效地消除了屏閃帶來的危害。利用TIM1->CCR4 = mode;通過確定定時器T1M1->CCR4寄存器的初始值達到改變PWM寬度的目的。
坐姿檢測是通過超聲波反饋信號計算距離得出。在臺燈放置在設定的距離后,當使用者與臺燈的距離小于 30 cm 時,串口中斷發送消息號,SU_03T語音模塊接收到串口數據后,根據數據消息號,發出語音提醒:“小可愛,注意坐姿,保護視力,從點滴做起”。當使用者坐姿正確,使用者與臺燈距離大于設定值30 cm,停止串口發送消息號。在設定的范圍內,語音芯片未能接收到串口指令不發出聲音,當超過設定距離30 cm的時候就發出提示語。坐姿模塊起到了提醒注意視距的功能。
作品的人體檢測設計了防誤判功能。當人體靠近臺燈但沒有停留10 s 以上(例如只是路過的情況),臺燈將仍然處于熄滅的狀態;當人體靠近臺燈并且停留 10 s 以上,臺燈將會被點亮;當人體遠離臺燈并且在 10 s 以上時,臺燈熄滅(延時熄滅)。當檢測到人體存在,主控芯片內部定時器Time2開啟進行計時,時間達到40 min的時候,主控芯片通過串口發送消息號,語音模組發出提示音:小可愛,關愛健康,起身休息休息吧。提示使用者中間間隔休息,活動活動,放松眼部肌肉。當人離開后,定時器計數器清零不再計時。
本文基于嵌入式芯片STM32F103C8T6 和人工智能離線語音識別芯片SU_03T設計了一款多功能LED臺燈。通過測試語音識別的準確率,LED臺燈的亮度調節的連續性、穩定性、抗干擾性,以及LED臺燈的節能性等幾個方面的指標,驗證了作品的性能是穩定可靠,并且在功能上操作簡便、護眼、節能、具有多功能的特性,可以滿足用戶的日常使用需求。