王 冉,孟 磊
(西安職業(yè)技術學院,陜西 西安 710032)
課題組采用HC-05嵌入式藍牙串口通信模塊,其內部原理圖如圖1所示,該模塊具有命令響應工作模式和自動連接工作模式。當模塊處于自動連接工作模式時,將自動根據(jù)事先設定方式連接數(shù)據(jù)傳輸;當模塊處于命令響應工作模式時能執(zhí)行下述所有AT命令,用戶可向模塊發(fā)送各種AT指令,為模塊設定控制參數(shù)或發(fā)布控制命令。通過控制模塊外部引腳(PIO11)輸入電平,可以實現(xiàn)模塊工作狀態(tài)的動態(tài)轉換。自動連接工作模式模塊又可分為主環(huán)(Master)、從環(huán)(Slave)和回環(huán)(Loopback)三種工作角色。
圖1 HC-05藍牙串口通信模塊內部原理圖
物體的顏色是其表面吸收白光的一部分有色部分,而另一部分反射到人眼的反應。德國物理學家赫姆霍茲(Helinholtz)的三原色理論提出各種顏色是由不同比例的三原色(紅R、綠G、藍B)混合而成的,三基色原理如圖2所示。對于顏色傳感器,當選擇一個顏色濾波器時,只允許某種特定的原色通過,而阻止其他原色,通過改變紅、藍、綠色光的光強,就可以分析傳感器通過的顏色。項目小組選用TCS3200顏色傳感器,其內部原理圖如圖3所示。
圖2 三基色原理
圖3 TCS3200顏色傳感器內部原理圖
用單片機播放音樂是按照特定的頻率,輸出一連串的方波。設單片機的晶振為12 MHz,那么定時器將在1μs進行1次加1,加到65 536會出現(xiàn)中斷,即可計算出定時器定時半個周期所需的初值。單片機發(fā)出不同頻率的方波,就像樂器發(fā)出不同的音調。
課題組設計的智能家居終端控制系統(tǒng)以單片機最小系統(tǒng)為核心控制器[1],主要實現(xiàn)智能終端控制界面設計、炫麗舞臺(智能燈)控制、智能音樂墻控制、智能泳池控制等功能。智能家居控制系統(tǒng)總體結構圖如圖4所示。
圖4 智能家居控制系統(tǒng)總體結構圖
智能家居控制系統(tǒng)主界面設計如圖5所示,主要包括網(wǎng)絡搜索連接(開始搜索)、炫麗舞臺、音樂控制界面、智能泳池控制以及生活管家等[2]。
圖5 智能家居控制系統(tǒng)主界面
炫麗舞臺實現(xiàn)智能燈的控制,通過顏色識別智能識別開啟燈光的顏色,已實現(xiàn)紅色、綠色、藍色燈的開關。音樂墻實現(xiàn)手機APP開啟播放不同音樂的功能[3]。智能泳池根據(jù)液位及水溫判斷,開啟自動放水并選擇放熱水還是冷水的功能,智能泳池控制界面如圖6所示。后續(xù)將進一步完善生活管家設計等功能[4]。
圖6 智能泳池控制界面
如圖5所示,系統(tǒng)開啟后首先搜索藍牙信息,藍牙連接成功后手機就和單片機通信連接成功,進而可以通過手機APP“浪漫滿屋”控制燈光、音樂[5]。其智能控制界面軟件設計部分代碼如表1所示。
表1 智能控制界面軟件設計部分代碼
本設計顏色識別TCS3200采用手機控制的同時采用LCD1602實時顯示,軟件設計先定義顏色識別模塊、單片機連接(S2接單片機P1.0,S3接單片機P1.1)及函數(shù)聲明,再完成LCD模塊相關程序、白平衡程序,最后完成顏色測試、按鍵控制等。其部分代碼如下:
celiang();//顏色測試
DisplayOneChar(0,0,'R');//以十進制顯示RGB中紅色的分值
DisplayOneChar(0,1,rb/100+0x30);//顯示百位數(shù)據(jù)
DisplayOneChar(0,2,rb/10%10+0x30);//顯示十位數(shù)據(jù)
DisplayOneChar(0,3,rb%10+0x30);//顯示個位數(shù)據(jù)
DisplayOneChar(0,5,'G');//以十進制顯示RGB中綠色的分值
DisplayOneChar(0,6,gb/100+0x30);//顯示百位數(shù)據(jù)
DisplayOneChar(0,7,gb/10%10+0x30);
DisplayOneChar(0,8,gb%10+0x30);
DisplayOneChar(0,10,'B');//以十進制顯示RGB中藍色的分值
DisplayOneChar(0,11,bb/100+0x30);
DisplayOneChar(0,12,bb/10%10+0x30);
DisplayOneChar(0,13,bb%10+0x30);
音樂播放模塊主要通過手機控制音樂播放,在家居生活中緩解壓力、提高生活品質[6]。課題組主要設計歌曲《不可說》《刀劍如夢》《Let it go》的播放。其程序部分代碼如下:
sbit LED4=P1^3; //78歌曲1不可說
//不可說
uchar code bukeshuo[][2]={{0,4},
{26,12},{31,4},{33,4},{33,4},{29,4},{28,8},{26,2},{24,2},{26,6},{26,4},{21,4},{21,4},{14,8},{14,4},{14,12},{12,8},{16,4},{14,12},{14,8},{0xFF,0xFF}};
//刀劍如夢
uchar code daojianrumeng[][2]={{0,4},
{16,12},{23,16},{21,4},{23,4},{21,4},{19,12},{0,8},{19,4},{19,4},{19,4},{18,4},{16,8},{14,4},{16,16},{0,16},{26,4},{28,24},{0xFF,0xFF}};
//Let it go
uchar code Letitgo[][2]={{0,4},
{17,2},{17,4},{17,4},{17,4},{17,2},{17,2},{17,2},{15,2},{13,2},{13,2},{13,4},
,{15,2},{15,2},{0xFF,0xFF}};
if(DART_data==0x31){LED1=0;LED2=1;LED3=1;LED4=1;}//1開啟紅毯模式
if(DART_data==0x32){LED1=1;LED2=1;LED3=1;LED4=1;}//2關閉紅毯模式
if(DART_data==0x33){LED1=1;LED2=0;LED3=1;LED4=1;}//3RGB燈光
if(DART_data==0x34){LED1=1;LED2=1;LED3=1;LED4=1;}//4RGB燈光
if(DART_data==0x35){LED1=1;LED2=1;LED3=0;LED4=1;}//56熱水控制
if(DART_data==0x36){LED1=1;LED2=1;LED3=1;LED4=1;}//56熱水控制
if(DART_data==0x37){LED1=1;LED2=1;LED3=1;LED4=0;}//78歌曲1不可說
if(DART_data==0x38){LED1=1;LED2=1;LED3=1;LED4=1;}//78歌曲1不可說
智能泳池控制有自動控制和手動控制兩種方式,通過溫度傳感器和液位傳感器將采集到的溫度數(shù)據(jù)和液位數(shù)據(jù)傳遞到單片機,自動實現(xiàn)加水和排水功能,并實時監(jiān)測溫度和液位信息[7]。
課題組所設計的智能家居控制系統(tǒng),主要實現(xiàn)對家居的智能控制,已經(jīng)測試實現(xiàn)手機與藍牙模塊的連接,進而實現(xiàn)對燈光、音樂按鍵等的控制。在調試過程中因為手機型號不同會有顯示差異,在顏色識別模塊測試過程中,受光線影響明顯,需要反復測試和判斷。通過對軟件調試和硬件測試,可實現(xiàn)預期的設計要求,同時也為后續(xù)的研究指明方向,可通過語音控制、自然語言處理、視覺識別等人工智能技術達到家居控制的智能化[8-9]。