楊顯斌
摘 要:基于STM32微處理器設(shè)計一種智能學習型臺燈,通過檢測環(huán)境光線強度實現(xiàn)PWM自動調(diào)光,檢測學習者附身距離、預(yù)設(shè)學習時間及語音提醒等,達到護眼目的。文章介紹了智能學習型臺燈的系統(tǒng)設(shè)計方案,給出了主要功能模塊的軟硬件設(shè)計方法。
關(guān)鍵詞:智能學習型臺燈;STM32;自動調(diào)光;距離檢測;語音提醒
臺燈是人們學習時常用的工具之一。很多人長時間伏案學習,由于坐姿不正確、燈光使用不當及作息時間不規(guī)律等,極易造成視覺疲勞,以致影響視力[1]。目前市面上常用的臺燈大多是手動調(diào)光,功能較簡單,少有護眼功能。如果設(shè)計一款臺燈,能根據(jù)環(huán)境光強自動調(diào)節(jié)臺燈亮度,通過檢測附身距離語音提醒學習者糾正坐姿,并提供學習時間播報、時鐘日歷及溫濕度顯示等功能,將能為學習者養(yǎng)成良好的學習與用眼習慣提供支持。本文設(shè)計的基于STM32的智能學習型臺燈即具有上述功能。
1 系統(tǒng)設(shè)計方案
智能學習型臺燈的系統(tǒng)組成如圖1所示。
STM32微處理器是整個系統(tǒng)的核心。光強傳感器采集環(huán)境光線強度經(jīng)I2C傳輸給STM32微處理器,通過PWM輸出到恒流源自動調(diào)節(jié)LED燈的亮度,升壓電路為恒流源及LED燈珠提供所需的直流電源。利用超聲波距離傳感器檢測學習者的附身距離,通過STM32微處理器控制語音芯片來驅(qū)動喇叭發(fā)聲。按鍵用來預(yù)設(shè)學習時間及調(diào)整時鐘日歷,學習時間、時鐘日歷和環(huán)境溫濕度數(shù)據(jù)在LCD屏上顯示。
2 硬件設(shè)計
2.1 主控芯片
基于Cortex-M3內(nèi)核的STM32f103vet6芯片具有運算速度快、精度高、功耗低、極高的性價比等特點[2],可滿足系統(tǒng)的功能要求,適合作本設(shè)計的主控芯片。
2.2 光強檢測與燈光控制電路
采用BH1750FVI光強傳感器和PWM數(shù)字調(diào)光技術(shù),電路如圖2所示。
BH1750FVI具有廣泛的輸入光范圍(1-65535LUX),接近視覺靈敏度的光譜靈敏度特性[3],通過I2C與主控芯片連接。
主控芯片根據(jù)BH1750FVI采集的光強數(shù)據(jù)控制PWM的輸出頻率,經(jīng)恒流源PT4115調(diào)節(jié)LED亮度。PT4115是一款連續(xù)電感電流導通模式的降壓恒流源,最大可輸出1.2 A的恒定電流[4],通過DIM引腳進行LED開關(guān)可實現(xiàn)很寬范圍的PWM調(diào)光。采用XL6009 DC-DC升壓模塊可獲得4 A\5~35 V的穩(wěn)定直流電壓供恒流源和LED燈珠使用。
LED燈采用日光白和暖白兩種燈珠,通過觸摸按鍵進行選擇,可消除單一光源引起的視覺疲勞。
2.3 距離檢測及語音控制電路
采用HC-SR04+超聲波傳感器檢測學習者與LED光源的距離,當檢測距離小于設(shè)定的最小值時,WT588D語音芯片驅(qū)動揚聲器提醒學習者調(diào)整坐姿。
HC-SR04+包括超聲波發(fā)射器、接收器和控制電路。將HC-SR04+的脈沖觸發(fā)引腳(TRIG)和回波引腳(ECHO)分別與STM32f103vet6的GPIO引腳相連,當主控芯片給TRIG一個不小于10 μs的高電平信號,模塊自動發(fā)出8個40 kHz方波[5],同時ECHO自動置高電平,直到接收到返回超聲波止,則:測試距離=(回波高電平時間×聲速)/2。
WT588D是一款功能強大的可重復(fù)擦寫的語音單片機芯片,支持最多500段用于編輯的語音,采用PWM輸出可直接推動0.5 W/8 Ω的揚聲器[6],用于附身距離提醒、學習時間播報等。
2.4 時間設(shè)置與顯示
分別利用主控芯片的通用定時器(TIM)和獨立的實時時鐘(Real-Time Clock,RTC)實現(xiàn)學習時間倒計時和時鐘日歷等功能,通過按鍵對學習時間、時鐘日歷進行設(shè)置。
本設(shè)計還采用DHT11數(shù)字溫濕度傳感器采集環(huán)境溫濕度。
學習時間、時鐘日歷和溫濕度信息顯示在LCD12864液晶顯示器上,為學習者提供時間和環(huán)境舒適度等相關(guān)信息。
3 軟件設(shè)計
智能學習型臺燈軟件系統(tǒng)采用模塊化設(shè)計方法,基于STM32庫函數(shù)編程實現(xiàn)[7]。軟件系統(tǒng)主要包括主程序,光強檢測、PWM調(diào)光、距離檢測、語音提醒和溫濕度檢測等模塊。
主程序模塊通過系統(tǒng)初始化及調(diào)用外設(shè)模塊子程序來完成系統(tǒng)的主要邏輯操作,在while(1)中掃描按鍵并對學習時間和時鐘日歷等進行調(diào)設(shè),主程序流程如圖3所示。
通過調(diào)用BH1750光強檢測、I2C傳輸和PWM輸出等子程序?qū)崿F(xiàn)自動調(diào)光功能;調(diào)用HC-SR04超聲波測距子程序和WT558D語音子程序等實現(xiàn)學習者附身距離提醒功能;調(diào)用溫濕度檢測子程序來采集環(huán)境溫濕度數(shù)據(jù)。利用定時中斷實現(xiàn)每1 s更新光強和溫濕度數(shù)據(jù),每3 s檢測附身距離。
此外,系統(tǒng)還設(shè)有學習時間倒計時、時鐘日歷和LCD液晶顯示等程序模塊。
4 結(jié)語
我們采用基于STM32f103vet主控芯片設(shè)計一種智能學習型臺燈,通過試做樣品在室內(nèi)測試,在不同光亮環(huán)境下能自動調(diào)整LED燈亮度,燈光柔和;當學習者與超聲波傳感器的距離小于設(shè)定值或預(yù)設(shè)學習時間到時能語音提醒,時鐘日歷、環(huán)境溫濕度顯示等功能正常。本設(shè)計的智能學習型臺燈成本低、性能優(yōu)越、實用性強,具有良好的應(yīng)用前景。
[參考文獻]
[1]梁計鋒,劉瑞妮,尤國強.智能護眼臺燈電路的設(shè)計[J].電子設(shè)計工程,2015(20):155-157.
[2]STMicroelectronics.STM32F103VET6 Datasheet[EB/OL].(2018-06-06)[2019-02-16].http://www.st.com.
[3]陳小青.室內(nèi)溫度濕度照度測量的實現(xiàn)[J].科技經(jīng)濟導刊,2016(6):115.
[4]麻朋威.基于PT4115的LED照明燈系統(tǒng)設(shè)計[J].科技視界,2015(16):69-70.
[5]蘇琳.基于HC-SR04的超聲波測距器的設(shè)計[J].科技信息,2012(9):124-125.
[6]謝輝程,郭莉.基于stm32的無線環(huán)境監(jiān)控系統(tǒng)設(shè)計[J].軟件,2014(12):5-7.
[7]鄭杰.ARM嵌入式系統(tǒng)開發(fā)與應(yīng)用完全手冊[M].北京:中國鐵道出版社,2013.