賈文輝,陳越超
(長春師范大學工程學院,吉林 長春 130032)
電子臺燈是家居必用品,與人們的生活息息相關,特別是對于學生來說更是必不可缺的學習工具。傳統的臺燈光型固定、功能單一,無法根據環境的改變來調節自身的亮度,這也是造成近年來學生近視度普遍增高的一個因素。普通的臺燈,對于節能減排方面,沒有做出相應的改變,已經無法滿足當今時代對智能化的要求了,因此設計了一款基于PWM 的智能電子調光臺燈,具有8 檔調光功能,可以滿足多種環境下的光照需求,適應性大大提升,同時可以實現手動模式和自動模式的切換,更加靈活方便,方便不同的群體進行選擇。對于學生而言,使用臺燈的時間較長,容易影響視力,而這款智能電子臺燈的多檔調光可以提供最佳的照明環境,并且設計了久坐提醒的特殊功能,極具人性化,從而避免了學生用眼過度,降低患近視的概率。
本系統是采用ATMEGA2560 單片機作為主控板,使用情景分為手動和自動兩種模式。手動模式下,通過物理按鍵,實現8 檔亮度調節;自動模式下,選擇光強度傳感器進行環境光采集,將采集到的信息傳輸到ATMEGA2560 主控板的模擬輸入口,經過運算處理,進而實現自動調節臺燈亮度的功能。利用超聲波測距傳感器,檢測使用者與臺燈之間的距離,判斷人是否離開,若未離開,依據預定的使用時間,通過蜂鳴器模塊進行久坐提醒;若離開,則執行熄滅命令。通過LCD1602 顯示模塊,對學習時間、光照亮度等級、使用者與臺燈的距離進行實時顯示,豐富系統功能,提高臺燈智能化。系統設計框圖如圖1所示[1-6]。

圖1 系統設計框圖
Arduino Mega2560 單片機其核心是ATMEGA2560。Mega2560 單片機的工作性能十分出眾,并且自身帶有很多的引腳,具有54 路數字的輸入輸出(其中有16 個可以作為PWM 輸出),16 路模擬輸入,4 路UART 接口,一個16MHz晶體振蕩器,USB口,電源插座,ICSP header和一個復位按鈕非常適合需要大量引腳的設計。相比于C51,STM32單片機,Arduino Mega2560 的編譯環境更加簡單、方便,各種功能的調用也是十分便捷,特別是AD轉換。Arduino Mega2560可以直接通過模擬輸入口將模擬量以數字量顯示出來,而C51需要做外部拓展才可以使用AD轉換。Arduino Mega2560可以滿足系統的功能要求,適合作為本次設計的主控芯片。
本系統采用光敏電阻模塊,利用其阻值會隨著外界光照強度的增大而減小的特性,進行環境光采集。
將光敏電阻與主控板的模擬輸入口相連,通過AD 轉換,將光照強度這個模擬量以數字量的形式顯示出來。在設計時,使用光敏電阻測量出在白天正常情況下以及在晚上黑暗狀態下外界光照強度的數值,利用AD轉換得到一個光照強度數字量的變化區間,然后將這個區間分成八等份,每一個小區間代表一個亮度檔位。
手動調光電路中最核心的部分是可控硅模塊,該模塊可以實現交流電的無觸點控制,以小電流控制大電流。在設計時,可控硅模塊的一端通過接線端子和外部220V 的交流電相連接,另一端分出5V 的電壓和主控板連接在一起,利用主控板I/O 口輸出的PWM 脈沖寬度控制可控硅模塊,調節220V 的電壓,通過不同的占空比使外接交流220V 電源轉變為預定的電壓值,進而控制小燈的亮度。最后經過不斷實驗得出了對應八檔亮度的脈沖寬度,使小燈實現了八檔調節。可控硅模塊電路原理圖如圖2所示。

圖2 可控硅模塊電路原理圖
在本系統中主要是利用超聲波測距傳感器來檢測使用者和臺燈的距離,HC-SR04 超聲波測距傳感器的電路原理圖如圖3 所示,超聲波測距傳感器的輸入端Trig 和輸出端Echo與主控板的IO口相連接,當IO口輸出一個高電平信號時,高電平所持續的時間就是超聲波從發出到返回的時間,測試的距離=(高電平時間/2)*(340m/s)。利用測得的距離可以實現臺燈的一些功能。一是久坐報警功能,系統內部設定了一個距離范圍為測定的使用者正常使用時和臺燈的距離和一個久坐判定時間,當使用者在該距離下使用且時間達到設定的久坐判別時間時主控板控制蜂鳴器發出警報聲。二是人走燈滅的功能,使用者可自行設置一個距離為人離開的距離,當超聲波測距傳感器所測的距離大于等于該設定值并且達到設定時間的時候臺燈將會自動熄滅,當人回來的時候超聲波測距傳感器的測量值小于設定的距離值,臺燈重新點亮。

圖3 超聲波測距模塊電路原理圖
程序設計流程圖如圖4所示,智能電子調光臺燈的軟件系統采用模塊化的設計,基于Arduino 庫函數編程實現,本系統主要包括主程序、光敏電阻檢測、PWM調光、超聲波距離檢測、蜂鳴器報警等模塊。

圖4 程序設計框流程圖
主程序模塊首先進行系統的初始化,然后調用子程序模塊來完成整體的邏輯控制。通過按鍵進行模式的選擇,手動模式下,通過掃描按鍵調用PWM調光子程序實現手動調節臺燈亮度。自動模式下,通過調用光敏電阻檢測子程序實現亮度自動調節,然后調用超聲波距離檢測子程序來實時檢測使用者和臺燈的距離,實現人離開后一定時間臺燈自動熄滅的功能,同時當使用者正常使用臺燈達到預定時間時調用蜂鳴器報警程序實現久坐報警功能。
本款智能電子臺燈采用Arduino Atmega2560作為系統主控制器,利用光強度傳感器、超聲波模塊進行外界信息檢測,從而實現雙模式調光功能,實用性大大提升,操作更加方便。針對學生使用臺燈時間過長問題,系統增加了久坐警報提醒功能,人性化程度高。通過測試,表明該款臺燈反應敏銳、識別準確,各項功能都能正常實現,具有結構簡單、能耗小、成本低等特點,適合進行推廣。當然,電子產品迭代更新已成為必然,為了順應時代發展的潮流,還需要不斷完善和創新,未來可以進行坐姿提醒、便攜等方面的優化。