李學滿 雷金輝



摘要:在對燈光密集的場所燈光控制方式分析的基礎上,提出了采用安卓智能終端控制,WiFi作為通信方式,單片機執行控制動作的點陣式燈光智能控制系統。適用于燈光排布整齊且燈源較多的餐館、娛樂場所等。通過專用的安卓客戶端即能控制點陣式燈光的整體明暗效果,摒棄了傳統的多開關控制或單開關卻無法對燈光進行單獨控制的弊端。對節約電能,提高燈光照明美觀度,保證照明質量起到了很大的作用。
關鍵詞:嵌入式系統;點陣式燈光;WiFi傳輸;安卓智能終端;智能控制
0引言
燈光照明設備是現代建筑中必不可少的部分,隨著物聯網技術的迅速發展,燈光控制的智能化成為發展的必然趨勢。傳統的燈光控制是通過手動扳動固定在某一位置的機械開關進行明暗控制。這種控制方式的一個弊端是不能進行遠程控制,而且在沒有燈光照明的情況下,找到開關位置往往較為困難,容易發生磕碰。解決這種問題的一個方式便是實現無線遠程控制,WiFi具有速度快(最高帶寬可達11 Mbps),可靠性高的特性,在開放性區域,通信距離可達305米,在封閉性區域,通信距離為76-122米。而且WiFi發射功率約為60-70毫瓦,而手機的發射功率約為200毫瓦至1瓦,且無線網絡不直接接觸人體,所以應該是絕對安全的,不限制接觸人群。因此提出了通過安卓智能設備通過WiFi遠程控制的設計方案。
傳統開關控制還有另一個弊端,就是在影院、大型會議室、餐館等地方,往往有大量的燈光需要控制,傳統的控制方式是用一個開關控制一整列燈光,或是控制全部燈光。無法實現燈光的自由控制,不能根據需求調整需要打開的燈光位置,會造成不必要的電能的浪費。而現在智能照明要求足夠人性化、個性化、能夠一鍵化便捷控制。因此提出了通過單片機進行點陣式控制的設計方案,來實現一個安卓設備控制整個場所的燈光按需開關。
1系統整體設計
點陣式燈光智能控制系統最基本的功能就是對點陣式燈光進行整體控制,系統主要分為兩個部分,安卓控制終端部分和動作執行部分。用戶只需使用安卓智能設備安裝專用客戶端就可以對燈光進行控制。安卓智能設備通過WiFi與動作執行部分鏈接,動作執行部分包含WiFi模塊,MCU和繼電器模塊,動作執行部分負責對接收到的信號進行處理,執行對繼電器模塊的控制動作。當用戶在安卓終端中選取燈光模式后,安卓端將對應的控制信號發送給單片機,單片機負責對信號進行檢測,檢測信號是否有變化,并獲取信號中的有用信息。進而根據獲取信息執行控制動作,實現燈光的多樣控制。設計假設需要控制的燈光為8x8點陣式排列。這種點陣實現簡單的漢字顯示效果也是可行的。
系統模塊圖如圖1所示,安卓控制終端與WiFi模塊的通信使用面向連接的可靠的TCP通信協議,WiFi模塊與單片機之間通過串口進行信息傳輸,點陣式燈光組采用LED光源,其體積小、功效高、啟動快、控制方便。
2硬件設計
2.1動作執行模塊設計
動作執行模塊由WiFi芯片,MCU,繼電器開關組組成。MCU采用STCl2C5A60S2單片機,該處理芯片內部具有高達60 k的Flash存儲區,設計所要求功能代碼生成文件小于10 k,不需外接存儲器,能夠滿足本系統處理需求。WiFi采用ESP8266模塊,該模塊支持AP模式和STA+AP組合模式,可以根據用戶的需要進行配置、調整,能夠滿足設計對于控制模塊作為AP的要求。支持socketAT指令,AT是TEN T10N碼必須位于語句的開頭,命令可以是AT命令集中的一個或多個命令,每行以回車結束,可以通過指令對其快捷配置,支持UART數據通信接口,符合使用串口通過指令控制WiFi芯片的設計思路。WiFi信號強度大,足夠室內范圍使用,可用于智能燈光控制。繼電器開關選擇松樂SRD-05VDC-SL-C電磁繼電器,松樂SRD-05VDC.SL-C電磁繼電器支持最高250 V交流電壓,10A電流,可以接人家庭電路使用。為實現8x8的燈光點陣控制,繼電器開關一共需要64個。系統動作執行模塊硬件設計框圖如下。
虛線框中繼電器模塊為8x8點陣式排列,每個模塊中包含驅動電路和繼電器,共64個。每個CD4081芯片包含四個2輸入端與門,一個芯片可供四個繼電器模塊使用,所以與門組中一共包括16個CD4081芯片。74HC595和74LSl38輸出信號經與門處理,輸出同為高電平時有效,經與門輸出的信號驅動繼電器,控制繼電器的通斷。從而實現了使用74HC595對繼電器模塊進行列選,38譯碼器進行行選的點陣式控制方式。
晶體管驅動電路如圖3所示,為NPN型驅動電路,高電平時導通低電平時截止。
3軟件設計
3.1安卓控制終端軟件設計
設計中安卓設備通過WiFi連接到路由器,通過路由器與WiFi模塊建立連接,采用TCP通信協議。因此程序中完成了WiFi通信的建立、配置過程。將安卓設備端定義為通信的服務器端,通過程序創建server服務,在程序控制界面中設置了button按鈕控件,專門用于對服務的開啟關閉進行控制,當客戶端連接成功時,在狀態欄中將連接成功狀態反饋給用戶??刂平缑嬷性O有燈光控制的總控開關,當按鈕關閉時,所有燈光處于熄滅狀態。燈光的模式是通過Spinner下拉菜單控件來進行選擇的,下拉列表中有8個選項,對應8種燈光模式。在總控開關開啟的條件下,能夠對各種模式進切換。八種燈光狀態定義如圖4所示,實心點代表燈光開啟狀態,空心為關閉狀態。
每當切換燈光狀態時,安卓服務器端向客戶端發送狀態信息,發送的信息分別為“AAAA”,“BBBB”……“FFFF”8種,分別代表8種不同的燈光狀態。
3.2動作執行模塊軟件設計
動作執行模塊程序基于單片機編寫。單片機通過串口與WiFi模塊進行通信,程序中實現了串口通信的過程,定義了發送單一字符和發送字符串的函數。單片機的指令由串口發送給WiFi模塊,WiFi模塊支持AT指令集,可使用AT指令對WiFi模塊進行配置。程序運行時每隔一秒發送一遍配置信息給WiFi模塊,同時從WiFi模塊獲取安卓端發送的數據,單片機對發送過來的數據進行處理,數據以ASCII碼的形式進行傳送,算上回車換行符一共41字符,將其存于數組中,第12-15個字符為安卓服務器端傳送的信息,程序自動截取第12個字符。并根據截取的信息,控制繼電器狀態。endprint
數據格式為:+IPD,2,(返回字數):服務器返回數據OK
以用戶選擇燈光模式(1)為例,單片機接受到的ASCII碼為:0D 0A2B 49 50 44 2C 32 2C 34 3A4141 41 41 0D 0A4F 4B 0D 0A
繼電器陣列由74LSl38和74HC595芯片進行掃描控制。74HC595能夠實現數據的串入并出,將要顯示的圖形編碼存儲在數組中,將數組中的每個元素串行移入,同一時間并行輸出,控制此刻一行中各個位所處的高低電平。數組中的圖形編碼通過點陣取模軟件獲取,程序中預先定義好了八種燈光模式的圖形編碼數組,分別與安卓控制端的8種模式相對應。根據接收到的WiFi信號中截取的數據決定選取哪個數組。74LSl38用于進行行選,對哪一行處于高電平進行控制,由單片機P3.0、P3.1、P3.2三個端口控制,由上到下順序選取,每次選取一行。處于行和列高電平交叉點位置輸出高電平,驅動繼電器處于開啟狀態。由于74LSl38一個時刻只能選取一行,要控制整個8x8點陣則需要動態的掃描來實現。每當74HC595并行輸出圖形編碼數組中的一個元素,74LSl38變換選取一行,每行持續15 ms。只要沒有接收到關閉信號,此過程反復循環執行。松樂SRD-05VDC-SL-C電磁繼電器機械切換速度最大是300 operation/min,即頻率為5 Hz。當每個行的延時時間為15 ms時,掃描完8行時間為120 ms,掃描頻率約為8.3 Hz,大于繼電器最大切換頻率,所以在74LSl38選取一行顯示時,其他行處于短暫的低電平,也能夠保持原有開關狀態,不會因為掃描使繼電器狀態發生切換,滿足了設計要求。
4實驗驗證
最后對控制的有效性進行了驗證,在沒有任何遮擋的室內體育館內,將WiFi模塊設置為AP模式,不經過路由器通過手機直接與其相連,在不同距離下反復發送100次控制命令,驗證控制的有效性,記錄測試數據如下:
由表格可見,在沒有經過無線路由器,直接由手機和控制模塊直接相連的情況下,在150 m范圍能能夠實現對燈光的穩定有效控制。隨著距離增大WiFi信號穩定性減弱,當達到300 m時手機與開關控制模塊斷開連接。
對于較小的室內不經無線路由器可直接滿足使用需求。對于空間較大且遮擋物較多的室內可以通過無線路由器作為中介,手機和開關控制模塊通過無線路由器連接到同一網段網絡中,即可實現有網即可控,則不受距離和障礙物限制。
5結論
點陣式燈光控制適用于燈源較多且排布整齊的場景,能通過安卓智能設備控制燈光的多種照明模式,可以根據對燈光的需求選用不同模式,既能達到節約能源的效果,又能使燈光照明更美觀。不用再為了單獨控制燈光而手動的扳動眾多開關。使用安卓客戶端即可實現簡單快捷的控制,為控制燈光帶來極大的便利。endprint