張啟龍 陳湘萍
摘 要:為了改善傳統(tǒng)臺(tái)燈功能單一,與當(dāng)前家電的智能化、人性化和低碳設(shè)計(jì)相悖的問(wèn)題,設(shè)計(jì)了基于STM32實(shí)時(shí)操作系統(tǒng)的多功能智能臺(tái)燈。本設(shè)計(jì)采用意法半導(dǎo)體的Cotex-M3核心微控制器STM32作為主控制器,通過(guò)硬件電路的構(gòu)建以及相應(yīng)軟件程序的編寫(xiě),實(shí)現(xiàn)智能臺(tái)燈的自動(dòng)亮滅、智能調(diào)光、糾正坐姿、打電話等功能,使得臺(tái)燈更護(hù)眼,更節(jié)能,更加智能化。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的智能臺(tái)燈具有良好的實(shí)時(shí)性,穩(wěn)定性強(qiáng),滿(mǎn)足設(shè)計(jì)要求。
關(guān)鍵詞: 智能臺(tái)燈;STM32;智能調(diào)光;糾正坐姿;打電話
文章編號(hào): 2095-2163(2019)03-0151-06 中圖分類(lèi)號(hào): TP273.5 文獻(xiàn)標(biāo)志碼: A
0 引 言
隨著全球變暖和能源危機(jī)的加劇,綠色節(jié)能的觀念已經(jīng)深入人心,追求節(jié)能產(chǎn)品也成為一種潮流[1]。因此,智能臺(tái)燈的概念就這樣應(yīng)運(yùn)而生。
但是,現(xiàn)有燈具不但功能單一,而且還嚴(yán)重浪費(fèi)資源,因而難以滿(mǎn)足人們的智能化生活需求;同時(shí),近視眼人數(shù)逐年增加,究其原因就在于使用臺(tái)燈方法不得當(dāng),不論太亮、或是太暗,視力都會(huì)受到一定影響[2-4]。若在臺(tái)燈下長(zhǎng)期駝背躬身學(xué)習(xí)或者工作,也可能會(huì)造成腰椎和頸椎疾病;目前市場(chǎng)上出現(xiàn)的各型燈具,大都價(jià)格昂貴,而且未能解決以上弊端?;诖?,本設(shè)計(jì)選擇STM32F103C8T6單片機(jī)作為主控芯片,利用紅外傳感模塊、距離檢測(cè)模塊(Distance detection module)、環(huán)境光感知模塊[5]、電話通訊模塊、LED照明模塊等外圍設(shè)備隨著外部光線的變化自動(dòng)改變或熄滅光強(qiáng)度。而且,為了彌補(bǔ)傳統(tǒng)臺(tái)燈功能單一的缺點(diǎn),本款臺(tái)燈增加了智能護(hù)眼、坐姿提醒[6]和電話呼叫等功能。對(duì)此,本文擬展開(kāi)如下研究論述。
1 硬件設(shè)計(jì)
1.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)[7-8]
本文以STM32F103C8T6單片機(jī)主控模塊為核心,以紅外傳感檢測(cè)模塊、距離檢測(cè)模塊、環(huán)境光感知模塊(Ambient light perception module)等外圍設(shè)備構(gòu)成的控制系統(tǒng)設(shè)計(jì),該系統(tǒng)的整體框架結(jié)構(gòu)如圖1所示。
系統(tǒng)整體設(shè)計(jì)電路如圖2所示。在圖2中,紅外傳感模塊用于檢測(cè)臺(tái)燈周?chē)欠裼腥?,?shí)現(xiàn)人來(lái)燈亮、人離開(kāi)燈熄滅功能;距離檢測(cè)模塊與報(bào)警模塊協(xié)同,實(shí)現(xiàn)糾正坐姿功能;環(huán)境光感知模塊用于檢測(cè)外部光強(qiáng),實(shí)現(xiàn)智能調(diào)光功能;故障按鈕模塊與通訊模塊協(xié)同,實(shí)現(xiàn)撥打電話功能。
1.2 STM32F103C8T6單片機(jī)主控模塊設(shè)計(jì)
控制模塊選擇單片機(jī)作為主控制模塊。本文中選用了STM32F103C8T6單片機(jī)[9-12]。這是32位基于ARM的CortexTM-M3微控制器,其功能多樣,不僅可以對(duì)傳感器采集到的信息進(jìn)行接收、甚至處理,還可以控制固化設(shè)備的功率。經(jīng)過(guò)市場(chǎng)調(diào)研,同時(shí)結(jié)合本系統(tǒng)的設(shè)計(jì)要求,因而將其選為該系統(tǒng)的核心芯片。STM32F103C8T6單片機(jī)主控最小系統(tǒng)原理電路設(shè)計(jì)如圖3所示。
1.3 紅外傳感模塊設(shè)計(jì)[13-14]
本模塊采用SD02型熱釋電人體紅外傳感器作為自動(dòng)控制臺(tái)燈亮滅模塊,因?yàn)槠渚哂懈哽`敏度,高可靠性特點(diǎn)。組成框圖如圖4所示。
1.4 距離檢測(cè)模塊設(shè)計(jì)
本模塊采用超聲波測(cè)距,且具有指向性強(qiáng)、抗干擾能力強(qiáng)等特點(diǎn)。其原理框圖如圖5所示。
1.5 環(huán)境光感知模塊設(shè)計(jì)[15]
本模塊采用光敏二極管感知。參考相關(guān)信息,探討得到光敏電阻、光電二極管、光電晶體管的主要參數(shù),詳見(jiàn)表1。
1.6 蜂鳴器報(bào)警模塊設(shè)計(jì)
本模塊采用了型號(hào)為T(mén)MB12A05電磁式5 V一體耐高溫有源蜂鳴器,且具有耐高溫、環(huán)保等特點(diǎn)。該模塊的輸入電路設(shè)計(jì)如圖6所示。
1.7 電話通訊模塊設(shè)計(jì)[16-18]
本模塊主要由GSM網(wǎng)絡(luò)的SIM900A芯片進(jìn)行控制。SIM900A是一款工業(yè)級(jí)雙頻GSM / GPRS模塊,可實(shí)現(xiàn)SMS(SMS)、傳真信息傳輸,甚至低功耗的語(yǔ)音。SIM900A工作頻段雙頻GSM/GPRS90/1 800 MHz,配有1.8/3 V SIM卡,內(nèi)嵌TCP/IP協(xié)議,支持TCP/UDP通信,支持FTP/HTTP服務(wù)。SIM900A的工作電壓范圍為3.3~4.8 V,瞬時(shí)電流高達(dá)2 A。因此,供電能力不應(yīng)低于2 A,并且應(yīng)在VBAT引腳附近使用不小于100 μF的鉭電容。SIM900A具有全功能UART,支持1 200~115 200 bps的通信速率(具有自動(dòng)波特率檢測(cè)功能),并支持AT命令集。本次研究模塊的設(shè)計(jì)流程如圖7所示。
1.8 LED燈照明模塊設(shè)計(jì)
為了試驗(yàn)的方便,本模塊采用3顆小的指示燈代替LED燈。本次設(shè)計(jì)模塊的輸入電路如圖9所示。
2 軟件設(shè)計(jì)
2.1 軟件設(shè)計(jì)的思想
模塊化設(shè)計(jì)思想,即先分后總的思想,具體操作辦法是分別調(diào)試每個(gè)硬件模塊,繼而協(xié)調(diào)每個(gè)模塊的程序的方法。軟件設(shè)計(jì)結(jié)構(gòu)如圖9所示。
2.2 系統(tǒng)程序流程設(shè)計(jì)
臺(tái)燈亮滅的控制時(shí)間是利用定時(shí)器來(lái)調(diào)控,觸發(fā)信號(hào)則由單片機(jī)的IO口來(lái)發(fā)送控制。對(duì)于聯(lián)網(wǎng)的控制采用SIM900A。軟件采用STM32CubeMX[19-21]進(jìn)行初始化,keil5進(jìn)行軟件的開(kāi)發(fā)。系統(tǒng)總設(shè)計(jì)流程如圖10所示。
2.3 STM32F103C8T6工作狀態(tài)判斷程序代碼設(shè)計(jì)
STM32F103C8T6工作狀態(tài)判斷程序代碼主函數(shù)設(shè)計(jì)可表述如下。
int main(void)
{
u16 ADC_Value;
char str1[]="ATE1\\r\\n";
char str2[]="AT+COLP=1\\r\\n";
char str3[]="ATD15761697691;\\r\\n";
u16 adcnum;
int bobao_delay;
int num=0;
int OFF_FLAG=0;
u16 count = 0;
u8 close_flag=0;
u8 open=0,close=0;
u8 key = 0;
u8 hongwai;
SystemInit();
delay_init();//延時(shí)函數(shù)初始化
Initial_UART1(115200);
ADC1_Init();
Key_Init();//按鍵初始化
TIM1_Init(); //light初始化
while(1)
{
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==1) //人體紅外,開(kāi)關(guān)燈
{
ADC_RegularChannelConfig(ADC1,ADC_Channel_8,1,ADC_SampleTime_239Cycles5 )
ADC_SoftwareStartConvCmd(ADC1, ENABLE);//使能指定的ADC1的軟件轉(zhuǎn)換啟動(dòng)功能
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待轉(zhuǎn)換結(jié)束
ADC_Value=ADC_GetConversionValue(ADC1);//返回最近一次ADC1規(guī)則組的轉(zhuǎn)換結(jié)果
delay_ms(200); // 延時(shí)
TIM_SetCompare1(TIM1,ADC_Value);
}
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==0)//燈滅
{
BEEP_OFF;
TIM_SetCompare1(TIM1,0);
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)==0)
{
UART1_Put_String(str1);
delay_ms(300);
UART1_Put_String(str2);
delay_ms(300);
UART1_Put_String(str3);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
TIM_SetCompare1(TIM1,1000);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
delay_ms(500);
TIM_SetCompare1(TIM1,0);
}
}
}
}
3 系統(tǒng)工作過(guò)程及工作效果
3.1 系統(tǒng)工作過(guò)程
臺(tái)燈通電后,每個(gè)模塊都會(huì)初始化。為了防止臺(tái)燈自動(dòng)化控制功能出現(xiàn)故障,本設(shè)計(jì)為此量身定制了一個(gè)故障按鈕模塊。在臺(tái)燈接通電源之后,隨即按下故障按鈕,假若臺(tái)燈出現(xiàn)故障,則點(diǎn)亮的臺(tái)燈就不能啟用自動(dòng)斷電功能,這時(shí)臺(tái)燈主人將會(huì)接到由臺(tái)燈處自動(dòng)撥打的電話提示,主人就可以給臺(tái)燈斷電,從而達(dá)到了節(jié)能環(huán)保的功效。對(duì)如上工作過(guò)程可描述為:首先,通電后,按下故障按鈕,當(dāng)人靠近臺(tái)燈時(shí),臺(tái)燈就會(huì)點(diǎn)亮,而且還能根據(jù)周?chē)h(huán)境的亮度來(lái)自動(dòng)調(diào)節(jié)臺(tái)燈燈光的亮度,這就可以保護(hù)人的眼睛,防止近視;其次,人坐在臺(tái)燈前學(xué)習(xí),假若離臺(tái)燈太近,內(nèi)置蜂鳴器就會(huì)報(bào)警,提醒人糾正坐姿,防止近視和防止人駝背;最后,當(dāng)人起身離開(kāi)臺(tái)燈20 s后,臺(tái)燈就自動(dòng)斷電,從而達(dá)到了節(jié)能設(shè)計(jì)目的。
3.2 系統(tǒng)工作效果
在通電狀態(tài)下,電源指示燈處于低電平狀態(tài);程序開(kāi)始運(yùn)行。首先,當(dāng)臺(tái)燈感應(yīng)到人的到來(lái)時(shí),臺(tái)燈自動(dòng)點(diǎn)亮。當(dāng)人離開(kāi)時(shí),臺(tái)燈不會(huì)感知人體信號(hào),經(jīng)過(guò)20 s的延遲,臺(tái)燈自動(dòng)熄滅,達(dá)到節(jié)能的目的;其次,智能臺(tái)燈可以根據(jù)當(dāng)前周?chē)h(huán)境, 自動(dòng)調(diào)節(jié)出最適合的光照強(qiáng)度, 達(dá)到了保護(hù)視力的目的;此外在臺(tái)燈旁邊安裝超聲測(cè)距傳感器, 當(dāng)人體離臺(tái)燈的距離過(guò)近時(shí), 智能臺(tái)燈觸發(fā)語(yǔ)音提醒模塊, 提醒學(xué)生調(diào)整距離, 矯正坐姿, 防止近視和頸椎病的發(fā)生;最后,按下故障按鈕,假若臺(tái)燈出現(xiàn)故障,則亮著的臺(tái)燈就不能實(shí)現(xiàn)自動(dòng)斷電功能,這時(shí)臺(tái)燈主人就會(huì)接到臺(tái)燈打來(lái)的電話提示,主人就可以給臺(tái)燈斷電,從而達(dá)到了節(jié)能環(huán)保的功效。上述工作命令的實(shí)際效果圖即如圖11所示。
圖11(a)為人來(lái)燈亮、人走燈滅效果圖,圖11(b)為環(huán)境光感知的燈光亮暗效果圖,左圖中光敏電阻裸露,右圖中光敏電阻被嚴(yán)嚴(yán)實(shí)實(shí)地蓋住;圖11(c)為臺(tái)燈自動(dòng)控制系統(tǒng)出現(xiàn)故障,人走燈不滅,打電話提醒斷電的效果圖。
4 結(jié)束語(yǔ)
本設(shè)計(jì)以STM32F103C8T6單片機(jī)為核心制作了一款智能臺(tái)燈。該臺(tái)燈不僅具有自動(dòng)照明功能,還具有人走20 s后自動(dòng)斷電功能;同時(shí)也可以根據(jù)房間光線,實(shí)現(xiàn)自動(dòng)調(diào)光功能;當(dāng)人坐在臺(tái)燈前學(xué)習(xí),假若離臺(tái)燈太近,蜂鳴器報(bào)警模塊就會(huì)報(bào)警,提醒人糾正坐姿,防止近視和人駝背;此外,還可以自動(dòng)撥打主人電話,提醒所有者關(guān)閉電源功能,從而節(jié)能。經(jīng)過(guò)室內(nèi)環(huán)境條件下設(shè)計(jì)的物體實(shí)驗(yàn)測(cè)試,初步測(cè)試結(jié)果表明,智能臺(tái)燈能夠有效實(shí)現(xiàn)指令的準(zhǔn)確識(shí)別,完全滿(mǎn)足設(shè)計(jì)目的和要求。設(shè)計(jì)成本適中,可直接應(yīng)用于智能家居和推廣。
參考文獻(xiàn)
[1]馬國(guó)強(qiáng),辛永田,連夢(mèng)想,等. 一種智能臺(tái)燈的設(shè)計(jì)與開(kāi)發(fā)[J]. 物聯(lián)網(wǎng)技術(shù),2018,8(1):93-95.
[2]張紅燕,謝俊秉,王平蓮. 基于51單片機(jī)的兒童智能臺(tái)燈的設(shè)計(jì)[J]. 電子制作, 2018(2):6-7,58.
[3]梁計(jì)鋒,劉瑞妮,尤國(guó)強(qiáng). 智能護(hù)眼臺(tái)燈電路的設(shè)計(jì)[J]. 電子設(shè)計(jì)工程,2015,23(20):155-157.
[4]田軍委,肖清林,張波,等. 智能護(hù)眼臺(tái)燈設(shè)計(jì)[J]. 電子設(shè)計(jì)工程,2015,23(17):161-163.
[5]GUO Jiaxu,LONG Ling. The intelligent desk lamp designed for special populations[J]. Applied Mechanics and Materials, 2014, 571-572:980-984.
[6]黃金發(fā),楊咸陽(yáng). 智能臺(tái)燈設(shè)計(jì)[J]. 包裝工程,2017(16):266.
[7]程安寧,王晉,尚相榮. 白光LED的PWM驅(qū)動(dòng)方式分析[J]. 電子設(shè)計(jì)工程. 2010,18(2):109-111.
[8]宋斌,袁慶慶,楊娜. 基于STM32的智能臺(tái)燈系統(tǒng)設(shè)計(jì)[J]. 電子測(cè)量技術(shù),2017,40(6):67-71,75.
[9]YUAN Zhonghu, XU Manyang, QI Xiaoxuan. The bearing vibration signal collecting system based on STM32F103C8T6[J]. Advanced Materials Research, 2014, 971-973:1376-1379.
[10]傅智河,苗軍林,范宜標(biāo),等. 基于STM32F103C8T6多功能健康測(cè)試腕表的設(shè)計(jì)與實(shí)現(xiàn)[J]. 赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2016, 32(18):9-11.
[11]LIN Xueyan, CHEN Binwei. A research about acquisition and transmission of the water meter's image based on STM32[J]. Advanced Materials Research, 2014, 1037:187-190.
[12]王東,莫先. 基于 STM32和 HC-SR501智能家居的智能照明系統(tǒng)設(shè)計(jì)[J]. 重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2016,30(6):135-142.
[13]郁有文,常健,程繼紅. 傳感器原理及工程應(yīng)用[M]. 4版. 西安:西安電子科技大學(xué)出版社, 2015.
[14]張洪潤(rùn). 傳感器技術(shù)大全[M]. 北京:北京航空航天大學(xué)出版社, 2007.
[15]尹俊,金三梅,李康,等. 基于光電傳感器的智能燈控系統(tǒng)的設(shè)計(jì)[J]. 電子技術(shù), 2011,38(10):45-46.
[16]李楠,張華衛(wèi).? 基于單片機(jī)和SIM900A的智能家居控制系統(tǒng)研究[J]. 自動(dòng)化與儀器儀表,2017(3):187-189.
[17]霍濤,賈振堂. 基于STM32和SIM900A的無(wú)線通信模塊設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子設(shè)計(jì)工程,2014,22(17):106-110,114.
[18]LI Min. The design of SMS alarm system on CORTEX M3 + SIM900A[C]//2016 International Conference on Robots & Intelligent System. Zhangjiajie, China: IEEE, 2016:436-439.
[19]羅瑤,魏忠義,朱磊,等. STM32CubeMX的高速USB通信模塊設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2017(9):46-48,54.
[20]楊紅波,朱磊,張博,等. STM32的W5500以太網(wǎng)通信模塊快速實(shí)現(xiàn)方法[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2018,18(8):11-16.
[21]XU Pengcheng, LI Xiaobo. Combined embedded development method of MATLAB and STM32CubeMX[J]. Microcontrollers & Embedded Systems, 2016(10):14-16.