張啟龍 陳湘萍
摘 要:為了改善傳統(tǒng)臺燈功能單一,與當前家電的智能化、人性化和低碳設計相悖的問題,設計了基于STM32實時操作系統(tǒng)的多功能智能臺燈。本設計采用意法半導體的Cotex-M3核心微控制器STM32作為主控制器,通過硬件電路的構建以及相應軟件程序的編寫,實現(xiàn)智能臺燈的自動亮滅、智能調光、糾正坐姿、打電話等功能,使得臺燈更護眼,更節(jié)能,更加智能化。實驗結果表明,所設計的智能臺燈具有良好的實時性,穩(wěn)定性強,滿足設計要求。
關鍵詞: 智能臺燈;STM32;智能調光;糾正坐姿;打電話
文章編號: 2095-2163(2019)03-0151-06 中圖分類號: TP273.5 文獻標志碼: A
0 引 言
隨著全球變暖和能源危機的加劇,綠色節(jié)能的觀念已經深入人心,追求節(jié)能產品也成為一種潮流[1]。因此,智能臺燈的概念就這樣應運而生。
但是,現(xiàn)有燈具不但功能單一,而且還嚴重浪費資源,因而難以滿足人們的智能化生活需求;同時,近視眼人數(shù)逐年增加,究其原因就在于使用臺燈方法不得當,不論太亮、或是太暗,視力都會受到一定影響[2-4]。若在臺燈下長期駝背躬身學習或者工作,也可能會造成腰椎和頸椎疾病;目前市場上出現(xiàn)的各型燈具,大都價格昂貴,而且未能解決以上弊端?;诖?,本設計選擇STM32F103C8T6單片機作為主控芯片,利用紅外傳感模塊、距離檢測模塊(Distance detection module)、環(huán)境光感知模塊[5]、電話通訊模塊、LED照明模塊等外圍設備隨著外部光線的變化自動改變或熄滅光強度。而且,為了彌補傳統(tǒng)臺燈功能單一的缺點,本款臺燈增加了智能護眼、坐姿提醒[6]和電話呼叫等功能。對此,本文擬展開如下研究論述。
1 硬件設計
1.1 系統(tǒng)結構設計[7-8]
本文以STM32F103C8T6單片機主控模塊為核心,以紅外傳感檢測模塊、距離檢測模塊、環(huán)境光感知模塊(Ambient light perception module)等外圍設備構成的控制系統(tǒng)設計,該系統(tǒng)的整體框架結構如圖1所示。
系統(tǒng)整體設計電路如圖2所示。在圖2中,紅外傳感模塊用于檢測臺燈周圍是否有人,實現(xiàn)人來燈亮、人離開燈熄滅功能;距離檢測模塊與報警模塊協(xié)同,實現(xiàn)糾正坐姿功能;環(huán)境光感知模塊用于檢測外部光強,實現(xiàn)智能調光功能;故障按鈕模塊與通訊模塊協(xié)同,實現(xiàn)撥打電話功能。
1.2 STM32F103C8T6單片機主控模塊設計
控制模塊選擇單片機作為主控制模塊。本文中選用了STM32F103C8T6單片機[9-12]。這是32位基于ARM的CortexTM-M3微控制器,其功能多樣,不僅可以對傳感器采集到的信息進行接收、甚至處理,還可以控制固化設備的功率。經過市場調研,同時結合本系統(tǒng)的設計要求,因而將其選為該系統(tǒng)的核心芯片。STM32F103C8T6單片機主控最小系統(tǒng)原理電路設計如圖3所示。
1.3 紅外傳感模塊設計[13-14]
本模塊采用SD02型熱釋電人體紅外傳感器作為自動控制臺燈亮滅模塊,因為其具有高靈敏度,高可靠性特點。組成框圖如圖4所示。
1.4 距離檢測模塊設計
本模塊采用超聲波測距,且具有指向性強、抗干擾能力強等特點。其原理框圖如圖5所示。
1.5 環(huán)境光感知模塊設計[15]
本模塊采用光敏二極管感知。參考相關信息,探討得到光敏電阻、光電二極管、光電晶體管的主要參數(shù),詳見表1。
1.6 蜂鳴器報警模塊設計
本模塊采用了型號為TMB12A05電磁式5 V一體耐高溫有源蜂鳴器,且具有耐高溫、環(huán)保等特點。該模塊的輸入電路設計如圖6所示。
1.7 電話通訊模塊設計[16-18]
本模塊主要由GSM網(wǎng)絡的SIM900A芯片進行控制。SIM900A是一款工業(yè)級雙頻GSM / GPRS模塊,可實現(xiàn)SMS(SMS)、傳真信息傳輸,甚至低功耗的語音。SIM900A工作頻段雙頻GSM/GPRS90/1 800 MHz,配有1.8/3 V SIM卡,內嵌TCP/IP協(xié)議,支持TCP/UDP通信,支持FTP/HTTP服務。SIM900A的工作電壓范圍為3.3~4.8 V,瞬時電流高達2 A。因此,供電能力不應低于2 A,并且應在VBAT引腳附近使用不小于100 μF的鉭電容。SIM900A具有全功能UART,支持1 200~115 200 bps的通信速率(具有自動波特率檢測功能),并支持AT命令集。本次研究模塊的設計流程如圖7所示。
1.8 LED燈照明模塊設計
為了試驗的方便,本模塊采用3顆小的指示燈代替LED燈。本次設計模塊的輸入電路如圖9所示。
2 軟件設計
2.1 軟件設計的思想
模塊化設計思想,即先分后總的思想,具體操作辦法是分別調試每個硬件模塊,繼而協(xié)調每個模塊的程序的方法。軟件設計結構如圖9所示。
2.2 系統(tǒng)程序流程設計
臺燈亮滅的控制時間是利用定時器來調控,觸發(fā)信號則由單片機的IO口來發(fā)送控制。對于聯(lián)網(wǎng)的控制采用SIM900A。軟件采用STM32CubeMX[19-21]進行初始化,keil5進行軟件的開發(fā)。系統(tǒng)總設計流程如圖10所示。
2.3 STM32F103C8T6工作狀態(tài)判斷程序代碼設計
STM32F103C8T6工作狀態(tài)判斷程序代碼主函數(shù)設計可表述如下。
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ù)初始化
Initial_UART1(115200);
ADC1_Init();
Key_Init();//按鍵初始化
TIM1_Init(); //light初始化
while(1)
{
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)==1) //人體紅外,開關燈
{
ADC_RegularChannelConfig(ADC1,ADC_Channel_8,1,ADC_SampleTime_239Cycles5 )
ADC_SoftwareStartConvCmd(ADC1, ENABLE);//使能指定的ADC1的軟件轉換啟動功能
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待轉換結束
ADC_Value=ADC_GetConversionValue(ADC1);//返回最近一次ADC1規(guī)則組的轉換結果
delay_ms(200); // 延時
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)工作過程及工作效果
3.1 系統(tǒng)工作過程
臺燈通電后,每個模塊都會初始化。為了防止臺燈自動化控制功能出現(xiàn)故障,本設計為此量身定制了一個故障按鈕模塊。在臺燈接通電源之后,隨即按下故障按鈕,假若臺燈出現(xiàn)故障,則點亮的臺燈就不能啟用自動斷電功能,這時臺燈主人將會接到由臺燈處自動撥打的電話提示,主人就可以給臺燈斷電,從而達到了節(jié)能環(huán)保的功效。對如上工作過程可描述為:首先,通電后,按下故障按鈕,當人靠近臺燈時,臺燈就會點亮,而且還能根據(jù)周圍環(huán)境的亮度來自動調節(jié)臺燈燈光的亮度,這就可以保護人的眼睛,防止近視;其次,人坐在臺燈前學習,假若離臺燈太近,內置蜂鳴器就會報警,提醒人糾正坐姿,防止近視和防止人駝背;最后,當人起身離開臺燈20 s后,臺燈就自動斷電,從而達到了節(jié)能設計目的。
3.2 系統(tǒng)工作效果
在通電狀態(tài)下,電源指示燈處于低電平狀態(tài);程序開始運行。首先,當臺燈感應到人的到來時,臺燈自動點亮。當人離開時,臺燈不會感知人體信號,經過20 s的延遲,臺燈自動熄滅,達到節(jié)能的目的;其次,智能臺燈可以根據(jù)當前周圍環(huán)境, 自動調節(jié)出最適合的光照強度, 達到了保護視力的目的;此外在臺燈旁邊安裝超聲測距傳感器, 當人體離臺燈的距離過近時, 智能臺燈觸發(fā)語音提醒模塊, 提醒學生調整距離, 矯正坐姿, 防止近視和頸椎病的發(fā)生;最后,按下故障按鈕,假若臺燈出現(xiàn)故障,則亮著的臺燈就不能實現(xiàn)自動斷電功能,這時臺燈主人就會接到臺燈打來的電話提示,主人就可以給臺燈斷電,從而達到了節(jié)能環(huán)保的功效。上述工作命令的實際效果圖即如圖11所示。
圖11(a)為人來燈亮、人走燈滅效果圖,圖11(b)為環(huán)境光感知的燈光亮暗效果圖,左圖中光敏電阻裸露,右圖中光敏電阻被嚴嚴實實地蓋住;圖11(c)為臺燈自動控制系統(tǒng)出現(xiàn)故障,人走燈不滅,打電話提醒斷電的效果圖。
4 結束語
本設計以STM32F103C8T6單片機為核心制作了一款智能臺燈。該臺燈不僅具有自動照明功能,還具有人走20 s后自動斷電功能;同時也可以根據(jù)房間光線,實現(xiàn)自動調光功能;當人坐在臺燈前學習,假若離臺燈太近,蜂鳴器報警模塊就會報警,提醒人糾正坐姿,防止近視和人駝背;此外,還可以自動撥打主人電話,提醒所有者關閉電源功能,從而節(jié)能。經過室內環(huán)境條件下設計的物體實驗測試,初步測試結果表明,智能臺燈能夠有效實現(xiàn)指令的準確識別,完全滿足設計目的和要求。設計成本適中,可直接應用于智能家居和推廣。
參考文獻
[1]馬國強,辛永田,連夢想,等. 一種智能臺燈的設計與開發(fā)[J]. 物聯(lián)網(wǎng)技術,2018,8(1):93-95.
[2]張紅燕,謝俊秉,王平蓮. 基于51單片機的兒童智能臺燈的設計[J]. 電子制作, 2018(2):6-7,58.
[3]梁計鋒,劉瑞妮,尤國強. 智能護眼臺燈電路的設計[J]. 電子設計工程,2015,23(20):155-157.
[4]田軍委,肖清林,張波,等. 智能護眼臺燈設計[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ā),楊咸陽. 智能臺燈設計[J]. 包裝工程,2017(16):266.
[7]程安寧,王晉,尚相榮. 白光LED的PWM驅動方式分析[J]. 電子設計工程. 2010,18(2):109-111.
[8]宋斌,袁慶慶,楊娜. 基于STM32的智能臺燈系統(tǒng)設計[J]. 電子測量技術,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]傅智河,苗軍林,范宜標,等. 基于STM32F103C8T6多功能健康測試腕表的設計與實現(xiàn)[J]. 赤峰學院學報(自然科學版),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)設計[J]. 重慶理工大學學報(自然科學),2016,30(6):135-142.
[13]郁有文,常健,程繼紅. 傳感器原理及工程應用[M]. 4版. 西安:西安電子科技大學出版社, 2015.
[14]張洪潤. 傳感器技術大全[M]. 北京:北京航空航天大學出版社, 2007.
[15]尹俊,金三梅,李康,等. 基于光電傳感器的智能燈控系統(tǒng)的設計[J]. 電子技術, 2011,38(10):45-46.
[16]李楠,張華衛(wèi).? 基于單片機和SIM900A的智能家居控制系統(tǒng)研究[J]. 自動化與儀器儀表,2017(3):187-189.
[17]霍濤,賈振堂. 基于STM32和SIM900A的無線通信模塊設計與實現(xiàn)[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通信模塊設計[J]. 單片機與嵌入式系統(tǒng)應用,2017(9):46-48,54.
[20]楊紅波,朱磊,張博,等. STM32的W5500以太網(wǎng)通信模塊快速實現(xiàn)方法[J]. 單片機與嵌入式系統(tǒ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.