戴忠祥
(江蘇大學京江學院,江蘇鎮江,212013)
智能家居的目標是為人類提供一個安全、舒適、高效和方便的生活環境。隨著社會科技水平的不斷發展,智能家居產業在互聯網影響下呈現物聯化的發展趨勢,日益受到研發人員的關注。其中,綠色環保照明研究成為照明設施研發的重要方向。現有的臺燈雖能滿足基本的照明要求,但無法根據周圍環境科學地調整適合學習和工作的光照強度,隨著人們用眼量的不斷增加,越來越多的人飽受視力下降的困擾[1],因此研制一種自動化程度高、能實現自動調光、保護視力的智能臺燈顯得尤為必要。
發光二極管(LED)是距今為止電光轉換效率最高的發光材料,采用LED 作為光源的照明設備已廣泛應用于各行各業,正逐步替代傳統光源照明設備。它具有高效節能、發熱量低、體積微小、經久耐用、響應快速和低壓安全等優點[2]。本文采用柔光LED 作為光源器件,設計一款集自動調節光強、聲控啟動、紅外測距、測溫和屏顯等功能為一體的視力保護智能LED 臺燈,以滿足用戶的日常照明需求。
Arduino 是一款基于AVR 單片機的硬件電路和軟件開發環境共同開源的控制系統,它可提供交互式編程學習媒介,是為嵌入式開發學習而研發的一種控制終端[3]。Arduino 平臺由硬件(微處理器系統、Arduino 電路板等)和軟件(編程語言Arduino IDE)兩部分組成,Arduino編程軟件與 java、C 語言等程序開發環境類似,可使用 Arduino 語言與多種軟件進行跨平臺互動和融合,并可以在Windows、Linux 等操作系統上運行,具有良好的兼容性。
臺燈基于Arduino 開源電子原型平臺,利用子系統模塊設計開發了自動調光、聲控啟動、紅外測距、測溫和屏顯等功能模塊,框架如圖1 所示。其中包括七個模塊:(1)柔光LED 照明模塊;(2)光強采集模塊,光敏電阻傳感器采集光強信息,轉換為模擬電信號輸出;(3)臺燈光照強度的手動調光則由電位器完成,調節旋鈕即可改變光強;(4)聲控傳感模塊,黑暗環境下通過聲音強度來開啟臺燈電源;(5)手動和自動模式切換,由電容型的觸摸傳感器實現,觸摸一次臺燈則工作模式自動切換;(6)紅外測距模塊,能自主發射和接收特征頻率的紅外線并檢測距離,并附帶提示音功能;(7)周圍環境溫度信號采集由LM35 溫度傳感器完成,直接輸出對應的電平模擬壓值,程序處理后在LCD1602 液晶顯示屏上顯示。

圖1
半導體材料受到光照時,若入射光子能量大于半導體材料的禁帶寬度,就會產生電子空穴對,被光激發所產生的載流子留在材料內部,使器件的電阻率變小的現象稱為內光電效應。依據內光電效應制作而成的光敏電阻傳感器,受到光照時,光照越強,阻值越低。入射光消失,電子空穴對逐漸復合,電阻也逐漸恢復原值。通過阻值的變化來改變電壓,最終實現調節光強的目的。
在自動調光模式下,光敏電阻優先檢測環境原始光強。為使光強達到最適合人眼的光照強度,通過調節對應的模擬電壓值,運行自動調光子程序,使得光敏電阻傳感器采集的環境光強信號與LED 的亮度之和保持為設定光強,即可達到自動調光的目的。當環境光強小于此設定值時,LED 的亮度隨環境光照強度的減弱而增加,以自動補償缺失的光強。
傳統的電位器主要是依靠機械結構帶動滑片運動來改變電阻值,進而改變分壓比率,達到調節LED 亮度的目的。此模式下,可根據用戶需求自行定義,隨意調節LED 的亮度,不受環境光照強度的限制。
聲控傳感器內無接觸點,在特定環境光線下采用聲響效果激發拾音器進行聲電轉換來控制用電器的開啟,廣泛應用于智能家居設備中,用戶可以通過聲音對家庭設備進行遙控。該聲音傳感器可檢測周圍環境的聲音強度。此模式下,若未開手動模式,方便用戶在黑暗環境下臨時使用。通過調節聲音感應器靈敏度,識別聲音,且輸出形式為數字開關輸出(0 或1)。環境聲音的強度小于設定的閾值時,D0 口輸出高電平1,經非門轉換后最終輸出低電平0。反之,環境聲音強度超過設定閾值時,最終輸出高電平1,以開啟臺燈。
為防止臺燈使用者距離太近或坐姿不正,降低近視概率,添加紅外測距模塊,它能自主發射和接收特征頻率的紅外線,若檢測距離小于設定值時,傳感器發出蜂鳴實時提示音,以提醒使用者調節距離和調整坐姿。本設計選用2Y0A21 紅外測距傳感器模塊連接到單片機中,該傳感器的可調感應距離范圍約為10~80cm,亦可設置程序參數自主調節感應距離。
LM35 是一款Celsius 集成溫度傳感器,能精確地將溫度轉換為電壓的線性關系輸出[4]。輸出信號可以分為模擬電壓信號和數字電壓信號兩種形式。當單片機與溫度傳感器通信時,通過一個上拉電阻連接,這樣單片機和溫度芯片都能夠識別高低電平。可精確感知并實時通過液晶顯示臺燈周圍環境的溫度,以提高臺燈安全系數,直觀方便。
LCD1602 為液晶顯示芯片,為工業字符型LED,具有體積小、功耗低、顯示容量大、接口簡單、穩定耐久,方便顯示字母、數字、符號等優點,可同時顯示32 個字符。運用液晶的物理性質,通過電壓來控制它的顯示區域和圖形。LCD1602 與單片機之間的接線相對簡單,LCD1602 由若干5×7(或5×11)點陣字符位組成,每個點陣字符位都可以顯示一個獨立字符。為方便顯示,分割字符和線條,每位之間有一個點距的間隔,每行之間也保持間距。1602 代表2行16 個字符,采用標準的16 腳接口,第1 引腳GND 為電源地;第2 引腳VCC 接電源(+5V);第3 引腳V0 為對比度調節;第4 引腳RS 可實現輸入模式(0 輸入指令,1 輸入數據);第5 引腳RW 為輸入讀寫模式(0 為寫入LCD,1 從LCD 讀取);第6 引腳H,為輸入使能信號;第7-14引腳連接數據總線實現輸入輸出功能;第15 引腳LCA 接LCD 背光電源正極;第16 引腳LCB 接LCD 背光電源負極[5]。
智能臺燈控制系統的硬件電路主要有單片機控制電路、光強檢測電路、聲音檢測電路、溫度顯示電路組合,如圖2所示。用電容、晶振設計晶振電路來設定電路的周期并與單片機的XTAL1、XTAL2 的端口相連。用電阻、電容、按鍵的結合,設定了復位電路,與單片機的RST 端口相連。采用20 個LED 作為發光源并采用并聯方式。P0.0—P0.7作為液晶顯示器1602 的數據接口,P2.0—P2.2 分別連接1602 的數據或命令選擇端,RW 為讀寫端,H 為使能端。P3.4 為信號的輸出端,用于調光控制。S8 為亮度調節鍵,S9 為模式調節鍵。

圖2


工作狀態下,可輕觸觸摸傳感器切換當前臺燈的工作模式。若為手動模式,無論環境光強大小和聲音強弱,均可由手動按鈕開關打開臺燈總電源,通過電位器調節臺燈亮度;自動模式下,可通過聲音傳感器來打開電源,根據環境光強能自動調光。距離太近觸發傳感器發出蜂鳴實時提示音,LCD1602 液晶顯示屏顯示當前環境溫度。
本臺燈基于Arduino 開源電子原型平臺,以光敏電阻傳感器為輔助器件,提出了一種自動調節臺燈光強的新思路,該系統能直接通過軟件對光強信號進行設置和調節,達到自動調光目的,以增加人眼的舒適性。以各種傳感器作為擴展功能模塊,實現聲控啟動、紅外測距、測溫顯示等功能,使臺燈更加智能化。根據個人需求,增加手動調光功能,通過電位器的分壓以達到控制LED 亮度的效果。本智能臺燈經過多次調試和改進后,總體設計具有安全可靠,設計簡單,節能環保等特點,具有一定的實用性。