林敏
摘 要:隨著科技的進步,家用電器逐步走向智能化,網絡化。市場上有很多現成的智能家居方案,功能各有不同,但是大多成本較高,一定程度上影響了大面積推廣應用。本項目主要利用arduino結合藍牙模塊以及相關的繼電器等器件,實現通過手機客戶端控制電燈、插座等家用電器。
關鍵詞:arduino 藍牙 家用電器
中圖分類號:TP274 文獻標識碼:A 文章編號:1672-3791(2017)09(b)-0001-02
智能家居(英文:smart home, home automation)是以住宅為平臺,利用綜合布線技術、網絡通信技術、安全防范技術、自動控制技術、音視頻技術將家居生活有關的設施集成,構建高效的住宅設施與家庭日程事務的管理系統,提升家居安全性、便利性、舒適性、藝術性,并實現環保節能的居住環境。目前市場上的智能家居產品很多,功能各有特點,但是大多成本較高,一定程度上影響了大面積推廣應用。
本項目利用現在非常流行的開源硬件arduino,結合藍牙模塊等外部設備,實現簡單的智能家居遙控,具有體積小巧,可靠性高,成本低廉,擴展改造性強等特點。
1 Arduino簡介
Arduino是一款便捷靈活、方便上手的開源電子原型平臺,包含硬件(各種型號的Arduino板)和軟件(arduino IDE)。它適用于藝術家、設計師、愛好者和對于“互動”有興趣的朋友們。Arduino能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他的裝置來反饋、影響環境。
2 項目目標
本項目設想通過Arduino來控制兩只電燈、一個插座來模擬簡單的家用電器場景,在手機上安裝客戶端,通過藍牙和Arduino建立連接,然后就可以在手機端通過點擊不同的按鈕來實現對電燈、插座等的遙控,并在手機端實時反應出來。
3 項目設計方案
3.1 硬件電路設計
本項目的電路原理圖如圖1所示,電源模塊將220V市電轉換為5V直流電源輸出給Arduino uno控制器供電,Arduino通過HC-05主從機一體藍牙模塊和手機進行通信,D3-D5這3個數字輸出口分別控制KA1,KA2,KA3繼電器的線圈,繼電器的觸電又控制相應的電燈和插座,這樣,Arduino控制器的D3-D5這3個數字輸出口的狀態就直接控制了電燈及插座的工作狀態。
3.2 軟件設計
本項目的軟件包括兩部分:Arduino uno控制器的控制程序,手機端控制程序,下面分別介紹。
(1)Arduino uno控制器控制程序。
控制程序如下所示:
long val;int l1=3;int l2=4;int k1=5;
void setup()
{ Serial.begin(9600);pinMode( l1 , OUTPUT);pinMode( l2 , OUTPUT);pinMode( k1 , OUTPUT);}
void loop()
{ val=Serial.read();if(val=='1'){digitalWrite( l1 , 1 );}else if(val=='2'){digitalWrite( l1 , 0 );}else if(val=='3'){digitalWrite( l2 , 1 ); }else if(val=='4'){digitalWrite( l2 , 0 ); }else if(val=='5'){digitalWrite( k1 , 1 ); } else if(val=='6'){digitalWrite( k1 , 0 ); }}
簡要說明:本控制程序中int l1=3;int l2=4;int k1=5;這段是將Arduino控制器上D3——D5端口聲明為整形變量l1、l2、k1;Serial.begin(9600)是打開Arduino控制器的串口并設置波特率為9600;pinMode( l1 ,OUTPUT);
pinMode( l2 , OUTPUT);pinMode( k1 , OUTPUT);這段是把D3——D5端口設置為輸出模式;val=Serial.read()這句是將通過藍牙模塊接收到的手機端發送的信息賦值給val;然后開始判斷,如果收到的信息為“1“(if(val=='1'))則將D3口輸出高電平(digitalWrite( l1 , 1 ) );如果收到的信息為“2“(if(val=='2'))則將D3口輸出低電平(digitalWrite( l1 , 0 ) )。D4、D5端口的控制類似。
(2)手機端控制軟件
手機端的控制軟件,采用谷歌開源的安卓開發工具App Inventor來開發,App Inventor 原是Google實驗室的一個子計劃,由一群Google工程師勇于挑戰的Google使用者共同參與。App Inventor是一個完全在線開發的Android編程環境,拋棄復雜的程序代碼而使用積木式的堆疊法來完成您的Android程式。對于Android初學者或是簡單應用開發者來說是一大福音。因為他們不大需要太華麗的界面,只要使用基本元件例如按鈕、文字輸入輸出即可。App Inventor非常適合這類開發。
4 總結
經過調試和實際測試,手機端可以在20米范圍內連接成功并實現對相應終端的控制,連接穩定,控制反應迅速,體積小巧,功耗較低,經測試可以24小時不間斷運行,本項目做為南京機電職業技術學院2017年度三創大賽參賽作品,目前在后期改進工作中,下一步主要改進方向是:1、增加控制對象數量;2、改進控制軟件,增加控制功能,比如延時打開或關閉,預約定時打開或關閉等等。
參考文獻
[1] simon monk ,創客電子電子制作DIY指南,人民郵電出版社,2014
[2] simon monk ,arduino編程從零開始,科學出版社,2013.
[3] 陳呂洲,arduino程序設計基礎,北京航空航天大學出版社,2015.endprint