陳晶晶 吳治帆 宋 康
(四川大學(xué)機(jī)械工程學(xué)院,四川 成都 610065)
綠色環(huán)保照明研究成為照明設(shè)施研發(fā)的重要方向。臺燈是學(xué)生桌前必備的照明工具[1],現(xiàn)有的臺燈僅能滿足學(xué)生的照明要求,無法根據(jù)周圍環(huán)境科學(xué)地調(diào)整適合學(xué)習(xí)的光照強(qiáng)度,為學(xué)生提供良好的光照環(huán)境[2]。
LED 作為照明光源,有節(jié)能環(huán)保、壽命長、體積小、發(fā)熱小、響應(yīng)速度快、安全電壓低、耐候性好、方向性好等優(yōu)點(diǎn)[4]。因此該文采用LED 作為光照器件,設(shè)計一款具備自動調(diào)節(jié)亮度、溫度顯示和聲控開關(guān)等功能的智能LED 臺燈,滿足人們的學(xué)習(xí)需求。
溫美遜等人設(shè)計的基于ARDUINO 的視力保護(hù)儀,使用光敏電阻、四電壓比較器LM339 和發(fā)光二極管組成的光檢測電路來實現(xiàn)測量周圍光線、及時補(bǔ)充和調(diào)整光源的功能。另外還利用超聲波測距模塊提醒使用者調(diào)整自己的坐姿,同時附加定時中斷提醒功能,系統(tǒng)工作一段時間之后報警提醒使用者休息,功能豐富[3]。
該文提出一種新的自動調(diào)整光源的方案。光敏電阻傳感器采集光照強(qiáng)度,ARDUINO 開發(fā)板收集信息并進(jìn)行程序處理,自動控制臺燈的亮度,簡單方便。
臺燈系統(tǒng)基于ARDUINO 開發(fā)板,圍繞著其最小應(yīng)用系統(tǒng)設(shè)計開發(fā)了自動調(diào)光、聲控開關(guān)和溫度顯示等功能模塊。系統(tǒng)如圖1 所示。其中包括6 個模塊。1)照明設(shè)備。2)聲控開關(guān)模塊,通過判斷聲音強(qiáng)度來開啟臺燈總電源,方便在黑暗情況下打開臺燈。3)光強(qiáng)采集模塊,光敏電阻傳感器采集光強(qiáng)信息,直接輸出模擬電壓值。4)模式切換由電容型的觸摸傳感器實現(xiàn),觸摸一次臺燈則工作模式自動切換。5)臺燈光照強(qiáng)度的手動改變則由電位器完成,調(diào)節(jié)旋鈕即可改變光強(qiáng)。6)環(huán)境溫度信號采集由LM35 溫度傳感器完成,直接輸出對應(yīng)的電模擬壓值,程序處理后在LCD1602 液晶顯示屏上顯示。
ARDUINO 是一款基于AVR 單片機(jī)的硬件電路和軟件開發(fā)環(huán)境共同開源的控制系統(tǒng),是交互式編程學(xué)習(xí)的一種媒介,是為嵌入式開發(fā)學(xué)習(xí)而研發(fā)的一種控制終端[5]。
ARDUINO 包括硬件(各種型號的ARDUINO 板)和軟件(ARDUINO IDE)。ARDUINO 板通過USB 接口供電,電壓為5 V。復(fù)位按鍵(Reset Button)可以使ARDUINO 重新啟動,并且開始運(yùn)行程序。ARDUINO UNO 有14 個數(shù)字輸入/輸出端口,6 個模擬輸入端口。ARDUINO 編程環(huán)境可以跨平臺,并且該軟件可以在Windows、Macintosh OSX、Linux 操作系統(tǒng)上運(yùn)行。另外ARDUINO 控制板價格低廉,可自行組裝,也可以購買完整的產(chǎn)品[6]。
2.2.1 光敏電阻傳感器
光敏電阻的電阻值與光線有關(guān),照射在感光面的光線亮度增加時,電阻值會變小,亮度減少時電阻值會加大。當(dāng)環(huán)境光比較強(qiáng)時,光敏電阻的阻值減小,相反環(huán)境光較弱時,它的阻值增大,從而實現(xiàn)光電轉(zhuǎn)換[7]。
圖1 智能LED 臺燈系統(tǒng)框圖
2.2.2 自動調(diào)光模式
自動調(diào)光模式下,由于光敏電阻傳感器采集的環(huán)境光強(qiáng)信號與LED 的亮度之和保持在一個定值,即最適合人眼的光照強(qiáng)度。當(dāng)環(huán)境光強(qiáng)小于此定值時,LED 的亮度隨環(huán)境光照強(qiáng)度的減弱而增加。當(dāng)環(huán)境光強(qiáng)大于此定值時,LED的亮度為零,即直接通過程序處理達(dá)到自動調(diào)光的目的,保護(hù)眼睛。
2.3.1 電位器
傳統(tǒng)的電位器主要是依靠機(jī)械結(jié)構(gòu)帶動滑片運(yùn)動,以此來對改變電阻值。電位器又稱為可變電阻器(VR,Variable Resistor)或簡稱可變電阻,其是一種具有3 個端子,其中包括2 個固定接點(diǎn)與一個滑動接點(diǎn),可經(jīng)由滑動而改變滑動端與2 個固定端間電阻值的電子零件,屬于被動元件,使用時可形成不同的分壓比率,改變滑動點(diǎn)的電位。
2.3.2 手動調(diào)光模式
通過電位器的分壓來改變LED 的亮度。轉(zhuǎn)動旋鈕,即可改變當(dāng)前臺燈的亮度。在此模式下,LED 的亮度可隨意調(diào)節(jié),不受環(huán)境光照強(qiáng)度的限制,滿足人們的不同需求。
2.4.1 LM35簡介
LM35 是一款精密的Celsius 集成溫度傳感器,其輸出電壓和溫度呈線性關(guān)系[8]。
LM35 是一種電壓型輸出傳感器,每升高11 ℃,溫度從-50 ℃上升至150 ℃,電壓增加10 mV[9]。通過對LM35傳感器的輸出電壓值進(jìn)行處理得到空氣溫度。
2.4.2 LM35測溫
LM35 感受溫度并將溫度信號轉(zhuǎn)換成可用的輸出信號,輸出信號有模擬電壓信號和數(shù)字電壓信號2 種,下面的公式采用的輸出信號為模擬電壓。由LM35 的靈敏度可算溫度計算公式:
式中:U為ARDUINO 開發(fā)板內(nèi)部的工作電壓,通常為5 V。k為LM35 的靈敏度,k=10 mV/℃。temp 為當(dāng)前環(huán)境溫度,單位℃。analogRead(wendu)為ARDUINO 開發(fā)板讀取到溫度對應(yīng)的模擬電壓值,單位mV。
LCD1602 為工業(yè)字符型LED,可同時顯示32 個字符。LCD1602 專門用來顯示字母、數(shù)字、符號等。它由若干個5×7 或者5×11 等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符,每位之間有一個點(diǎn)距的間隔,每行之間也有間隔,從而分割字符和線條。1602 表示2 行16 個字符。
1602 采用標(biāo)準(zhǔn)的16 腳接口,其中特殊的第3 引腳:V0為液晶顯示器對比度調(diào)整端,實踐時可以通過調(diào)節(jié)10 K 的電位器來調(diào)節(jié)第15~16 腳:空腳或背燈電源。第15 引腳為背光電源正極,第16 引腳為背光電源負(fù)極[10]。
聲控裝置是智能家居設(shè)備中的重要組成部分,用戶可以通過聲音對家庭設(shè)備進(jìn)行控制。
該聲音傳感器可檢測周圍環(huán)境的聲音強(qiáng)度。但是只能識別聲音的有無,不能識別聲音強(qiáng)度的大小或者特定頻率的聲音,但對于該系統(tǒng)來說已經(jīng)足夠,靈敏度可調(diào),且輸出形式為數(shù)字開關(guān)量輸出(0 和1 高低電平)。環(huán)境聲音的強(qiáng)度小于設(shè)定的閾值時,DO 口輸出高電平1,反之,環(huán)境聲音強(qiáng)度超過設(shè)定閾值時,模塊輸出低電平0。
void AUTO( )//光敏電阻傳感器實現(xiàn)自動調(diào)光
{
sensorval=analogRead(analogguangpin);//將傳感器輸出轉(zhuǎn)換成對應(yīng)的模擬量
if(sensorval<300)//設(shè)定最適于人眼的光強(qiáng)對應(yīng)模擬電壓值為300
{
analogWrite(ledpin,sensorval*0.3);//根據(jù)環(huán)境光強(qiáng)自動控制LED 亮度
}
else
analogRead(ledpin,300*0.3);//設(shè)定最適于人眼的光強(qiáng)對應(yīng)模擬電壓值為300
}
void HAND( )//電位器實現(xiàn)手動調(diào)光
{
sensorval=analogRead(analogrestpin);//將電位器分壓值輸出轉(zhuǎn)換成對應(yīng)的模analogWrite(ledpin,sensorval*0.25);//根據(jù)電位器分壓手動控制LED 亮度
}
if(digitalRead(song)==HIGH)//檢測聲音傳感器狀態(tài)
{
j=!j;
}
if(j or digitalRead(allpin))//聲控開關(guān)或按鍵開關(guān)打開之后顯示溫度
{
lcd.setCursor(0,0);//設(shè)置光標(biāo)到第二行第一列,1 表示第二行,從0 開始數(shù))
int temp=analogRead(wendu);//讀取溫度信號并轉(zhuǎn)換成模擬電壓值
lcd.print(5*100*temp/1024);//計算溫度值并顯示在LCD1602
lcd.print(“C”);
delay(100);//模式切換
if(digitalRead(chumo)==HIGH) //讀取觸摸傳感器的
狀態(tài)
{
i=!i;//記錄每一次觸摸傳感器的變化
}
if(i==HIGH) AUTO( );//切換到自動模式
if(i==LOW) HAND( );//切換到手動模式
}
else
digitalWrite(ledpin,LOW);
}
實驗得到結(jié)果,無論環(huán)境光強(qiáng)處于何種大小情況下,均可由按鈕開關(guān)打開臺燈總電源,或者可通過聲音傳感器來打開總電源。工作狀態(tài)下,LCD1602 液晶顯示屏顯示當(dāng)前環(huán)境溫度,觸碰觸摸傳感器可改變當(dāng)前臺燈的工作模式。
自動模式下,當(dāng)前環(huán)境亮度與系統(tǒng)設(shè)定的定值比較,環(huán)境亮度小于定值時,臺燈的亮度隨環(huán)境亮度的增強(qiáng)而減弱。而當(dāng)環(huán)境亮度大于定值時臺燈的亮度不再改變,此時臺燈亮度為0,環(huán)境光照強(qiáng)度和臺燈亮度綜合后維持在最適于人眼的狀態(tài)。自動模式下調(diào)節(jié)電位器旋鈕不會改變臺燈亮度。如圖2 所示,環(huán)境光強(qiáng)由強(qiáng)到弱變化時,臺燈亮度逐漸變強(qiáng)。
圖2 環(huán)境光強(qiáng)逐漸減弱的臺燈亮度增強(qiáng)
手動模式下,環(huán)境光強(qiáng)不會對電位器的調(diào)節(jié)產(chǎn)生影響,可任意旋轉(zhuǎn)電位器旋鈕得到不同亮度。如圖3 所示,調(diào)節(jié)電位器使臺燈亮度逐增強(qiáng)。
圖3 電位器分壓逐漸增大時臺燈亮度增強(qiáng)
ARDUINO 軟件執(zhí)行代碼,將模擬輸出的LED 模擬電壓值打印到串口,串口數(shù)據(jù)見表1,串口顯示的結(jié)果與自動調(diào)光模式實驗(圖2)與手動調(diào)光模式(圖3)相符。
表1 串口顯示輸出電壓結(jié)果
該文以ARDUINO 開發(fā)板為核心,以光敏電阻傳感器為輔助器件,提出了一種自動調(diào)節(jié)臺燈光強(qiáng)的新思路,其能直接對光強(qiáng)信號進(jìn)行軟件處理,達(dá)到自適應(yīng)的目的,節(jié)約硬件的使用,簡單方便。以各種傳感器作為其他功能模塊,實現(xiàn)聲控開關(guān)、溫度顯示等功能,體現(xiàn)其智能化。根據(jù)個人需求的不同,增加手動調(diào)光功能,通過電位器的分壓以及ARDUINO 開發(fā)板引腳的PWM 輸出,達(dá)到控制LED亮度的效果。
此外,該臺燈系統(tǒng)還存在不完善的地方,可以擴(kuò)展一些其他功能,比如防止靠近桌面提醒、定時提醒和手機(jī)聯(lián)網(wǎng)控制等功能,因此,還可以進(jìn)一步提高臺燈系統(tǒng)的智能化程度。