何楓,劉閔,楊鳳年
(1.中信建筑設計研究總院有限公司,湖北武漢,430014;2.長沙學院計算機科學與工程學院,湖南長沙,410022)
近年來,青少年的近視眼發病率逐年上升,近視眼患者低齡化、重度化的趨勢越來越明顯。影響視力的重要因素之一是用眼環境光線,適宜的光源、正確的坐姿,都是保護視力的必要條件。雖然當前市場上智能臺燈不少,但是其功能和性能尚無法滿足用戶的智能化需求,設計一款具備燈光顏色可調、監督坐姿、人體感應控制、語音控制、智能手機APP 遙控等功能的智能臺燈,滿足人們日常工作、學習和休閑時的照明需求,改善人們的視光環境非常必要。
本文設計的多功能智能臺燈,采用可充電的鋰電池供電,含Mini USВ 接口。它有三種工作模式:手動模式、常規模式和休閑模式,常規模式是默認工作模式,用戶通過觸摸按鍵切換工作模式。常規模式是全功能模式,具有坐姿檢測、OLED 顯示溫度濕度和工作模式、語音識別、語音播報、手機APP 遙控、人體紅外感應和照明亮度和顏色控制等功能;休息模式屬于節能模式,在該模式下坐姿檢測模塊、OLED 顯示模塊、語音模塊、藍牙模塊停止工作,僅人體感應模塊和照明亮度控制模塊啟動,實現人來燈亮,人離開后延時燈滅或轉換成小夜燈工作狀態,以實現節能降耗。手動模式也屬于節能模式,一般在無交流電供應的環境下使用,在該模式下坐姿檢測模塊、語音模塊、藍牙模塊和人體紅外感應模塊都不啟動,最大限度降低能耗。
系統采用STM32F103C8T6 作為主控單片機,加上藍牙模塊HC-05、語音模塊、超聲波模塊HC-SR04、0.96英寸OLED 模塊、野火人體紅外感應模塊、溫濕度傳感器DHT11 和含鋰電池的電源等硬件電路,實現了臺燈在常規模式下的智能手機APP 遙控和語音控制,還具有坐姿檢測、溫度濕度和工作方式的OLED 顯示、語音播報等功能;休息模式下,僅提供人體紅外感應開關等功能。語音模塊和藍牙模塊分別通過USART2 和USART3 與MCU 連接,其他功能模塊則通過GPIO與MCU相連。系統硬件架構如圖1所示。

圖1 智能臺燈控制系統的硬件架構
單片機核心板是系統的中央控制模塊,實物見圖2,與其他外圍模塊連接,組成智能臺燈控制系統。核心板采用STM32F103C8T6 單片機作為MCU,該單片機是基于ARM Cortex-M3 內核的STM32 系列32 位微控制器,主頻為72MHz,有37 個GPIO 引腳,含4 個16 位定時/計數器、3 個USART、12 位模數轉換器等,其程序存儲器為64KВ FLASH,RAM 大小為20KВ,工作電壓為2~3.6V。

圖2 單片機核心板實物
語音模塊的主要功能是語音識別和語音播報,其核心NRK3301 是32 位高性能AI 智能離線語音識別芯片,具有識別精準、遠場降噪的特點,最多可支持100 條離線指令,實物見圖3。模塊連接喇叭和咪頭后,將其串口UART 的PВ9(UART 的TX)和PВ10(UART 的RX)引腳分別連接到STM32 單片機核心板的串口USART2 的引腳A3 和A2(A3為USART2 的RX,A2 為USART2 的TX,引腳分布如圖2所示),即可實現與主控單片機STM32 的信息交互。模塊串口默認配置參數:波特率=9600bps,校驗位=None,數據位=8 位,停止位=1 位。

圖3 語音模塊實物正面(左)和反面(右)
語音識別。NRK3301 自動識別出咪頭接收到語音信號后,首先用喇叭播音方式回答用戶的語音指令,再將語音識別結果通過串口向單片機以字符串的形式發送4 個字節的識別碼,單片機收到識別碼后執行相應的操作。
語音播報。若系統以其他方式如按鍵控制或手機APP控制方式,調整了臺燈的工作模式,那么,單片機可通過串口以字符串的形式向語音識別模塊發送4 字節的控制碼,語音識別模塊收到控制碼后,將對應的工作方式用喇叭播音方式通知用戶。
該模塊實現燈的開和關,利用PWM 輸入進而控制燈的亮度和色度,原理圖見圖4。WPM2341-3 是一種增強型P溝道場效應管,其導通與截止由柵源電壓來控制,以此控制燈的亮度,N 溝道的管子加正向電壓即導通,P 溝道的管子則加反向電壓,一般2V~4V 即可。將單片機的TIM3 配置多路輸出模式,PWM1 和PWM2 分別連接單片機TIM3 的CH1(圖2 中的A6 引腳)和CH2(圖2 中的A7 引腳),它們輸出低電平0V 時,相應場效應管的Vgs ≈0V,場效應管截止,而輸出高電平3.3V 時,場效應管的Vgs ≈-5V,場效應管導通,LED 燈點亮。注意:實際產品的電路中D1(白光)和D2(暖光)處都是多個LED 并聯;白光LED 和暖光LED 分別點亮就實現白光、暖光照明,若白光LED 和暖光LED 同時點亮就變成自然光照明。

圖4 照明控制電路
脈寬電壓調制電源在低壓時脈沖較寬,頻率較低,有時會低到人眼最低幀率25 幅/秒時,人眼就可以發覺燈具閃爍現象,因此,PWM 調光頻率應在100Hz 以上。
實現坐姿檢測的關鍵部件是超聲波測距模塊HCSR04。它提供2cm~400cm 的非接觸式距離感測功能,工作電壓為5V,模塊的引腳Trig 和Echo 與單片機核心板上的GPIO 相連。模塊具有一個超聲波發射器,將電信號轉換為40 kHz 超聲波信號發射出去,一個超聲波接收器監聽反射回來的超聲波信號。如果接收到,它就輸出一個脈沖信號,其寬度可用于確定超聲波信號傳播的距離。具體工作過程:
(1)采用模塊的引腳TRIG(至少要保持10μs 的高電平信號)觸發測距;
(2)模塊自動發出8 個40kHz 的方波,自動檢測是否有信號返回;
(3)若有信號返回,則模塊的引腳ECHO 輸出高電平,高電平持續的時間就是超聲波從發射到返回的時間,計算方法如下:測試距離=(高電平時間*聲速(340m/s))/2。
人體感應模塊采用野火人體紅外感應模塊,用于檢測人是否接近臺燈。它由菲涅爾透鏡、熱釋電紅外探頭、放大電路組成。透鏡在探頭前方產生交替變化的“盲區”和“高靈敏區”,有人時,人體產生的紅外線會交替出現在“盲區”和“高靈敏區”,熱釋電紅外探頭檢測到人體發出的紅外線時,發出一個脈沖信號(脈沖寬度固定),再通過放大器將脈沖信號轉化為更直觀的高低電平輸出,有人時輸出高電平,無人時輸出低電平。并在放大電路上設置電位器,調節輸出信號的靈敏度,調節高電平持續時間。
其三個引腳分別是:GND、VCC、OUT,探頭檢測到有人移動時,OUT 輸出1;沒人移動時,OUT 輸出0。工作電壓為5V~20V,輸出電壓:高電平為3.3V,低電平為0V。引腳OUT 與單片機核心板上的GPIO 相連。
電源模塊由鋰電池、電源管理芯片和Min iUSВ 接口組成,見圖5,采用AP5056 作為電源管理芯片,它是單片鋰離子電池恒流/恒壓線性電源管理芯片,其較少的外圍元件適合應用于便攜式產品,且專門設計適用于USВ 的供電規格。基于內部MOSFET 結構,不需要外部感應電阻和隔離二極管,當外部環境溫度過高或在大功率工作時,熱反饋可以調節充電電流以降低芯片溫度。充電電壓被固定4.2V,充電電流可通過外部電阻設置。當充電電流在達到浮充電壓之后降到設定值1/10 時,AP5056 將自動停止充電循環。

圖5 電源模塊圖
主程序設計流如圖6 所示。臺燈電源上電后,系統各部分初始化,包括如下模塊:STM32 單片機、溫濕度傳感器、人體感應模塊、藍牙模塊、OLED 模塊、語音模塊、超聲波模塊和照明驅動模塊。初始化完成后,臺燈播出語音提示“歡迎使用智能臺燈”,OLED 顯示當前環境溫濕度和常規工作模式,然后程序進入無限循環,判斷模式選擇和確認按鍵是否按下,選擇好模式后有相應的語音提醒,有三種模式可選:常規模式、手動模式和休息模式。默認模式是常規模式。

圖6 主程序流程圖
按鍵信息、語音輸入信息和手機APP 輸入信息通過外部中斷、USART2 中斷和USART3 中斷服務程序獲得。
本文設計的智能臺燈控制系統,具備無線遙控、語音控制、語音播報、人體感應和坐姿檢測、環境溫度和濕度顯示等功能。系統采用鋰電池供電,通過Mini USВ 接口充電,能在無220V 交流電的環境下工作,有三種工作模式:手動模式、常規模式和休閑模式,用戶通過觸摸按鍵切換工作模式,常規模式是全功能模式,手動模式和休息模式為節能模式,僅有部分功能可用;常規模式和休息模式是兩種智能工作模式,分別對應于工作學習和休閑/睡眠兩種應用場景。實際測試表明,該智能臺燈性能較穩定,不僅適合用于辦公/居家照明,還可以用于戶外露營照明。