(2019/04/09)
前幾天把要去參加貓咪盃擺攤用的智能屋(智能家居系統)大致完成了,今天把詳細內容記錄一下,由於功能很多,加上NodeMCU腳位有限,所以分成兩塊NodeMCU來呈現其功能,由於要擺攤位,到時可能沒網路,就沒有採用上網的功能,如遠端控制電器(MQTT功能)、或有人入侵時會傳LINE告知(IFTTT功能),也就是控制板用Arduino來做也可以!
一、智能家居系統能做到什麼功能
燈光控制
APP遠程定時開關、情景一鍵控制、聯動控制
安防系統
遠程視頻監控,火災探測報警,燃氣泄漏報警及處理,入侵報警
音樂系統
APP遠程定時開關、漸強漸弱隨機等背景音樂播放、情景智能聯動
門窗系統
遠程定時開關門、窗、窗簾,門鎖可以指紋、APP、密碼、刷卡、鑰匙開鎖,防撬鎖報警,情景智能聯動
環境系統
室內溫濕度檢測,遠程定時開關空調風扇等,睡眠曲線溫度空調控制
語音系統
可通過智能機器人語音控制智能家居,兒童學習及感情陪護,家庭娛樂等功能
二、本系統的功能
第一塊NodeMCU的功能,如下
環境系統
(1)天黑請開燈的系統:光敏電阻(A0,GPIO17)、LED燈(D0,GPIO16)
(2)天熱請開電扇系統:DHT11溫濕度感應器(D5,GPIO14)、繼電器(D4,GPIO2)、電扇
安防系統
(3)入侵警報1:超音波測距感應器HC-SR04:Trig(D7,GPIO13);Echo(D8,GPIO15);
(4)入侵警報2:霍爾感應器 (D9,GPIO3)
(5)火災探測報警:火焰感應器 (D10,GPIO1)
燈光控制
(6)按鍵控制LED燈及繼電器(電扇):按鍵(D3,GPIO0)
顯示系統
(7)顯示各項資訊:LCD顯示器(SDA(D2,GPIO4);SCL(D1,GPIO5)
音樂系統
(8)發出警報聲或音樂聲:蜂鳴器(D6,GPIO12)
第二塊NodeMCU的功能,如下
燈光控制
(1)遙控器控制三色LED燈:紅外線接收器(D8,GPIO15)、三色LED燈(D0,GPIO16、D1,GPIO5、D2,GPIO4)
(2)遙控器控制伺服馬達:伺服馬達(D7,GPIO13)
(3)聲音控制三色LED燈:麥克風(A0,GPIO17)
三、NodeMCU使用腳位的整理
第一塊NodeMCU(沒有連上網)的腳位使用,全部都使用到了,如下
D0(GPIO16):LED燈
D1(GPIO5):LCD顯示器的SCL
D2(GPIO4):LCD顯示器的SDA
D3(GPIO0):按鍵
D4(GPIO2):繼電器
D5(GPIO14):DHT11溫濕度感應器
D6(GPIO12):蜂鳴器
D7(GPIO13):超音波測距感應器的TRIG
D8(GPIO15):超音波測距感應器的ECHO
D9(GPIO3、RX):霍爾感應器
D10(GPIO、TX):火焰感應器
A0(GPIO17):光敏電阻
第二塊NodeMCU(有連上網)的腳位使用,如下
D0(GPIO16):三色LED燈的紅燈
D1(GPIO5):三色LED燈的綠燈
D2(GPIO4):三色LED燈的藍燈
D3(GPIO0):X
D4(GPIO2):X
D5(GPIO14):X
D6(GPIO12):X
D7(GPIO13):伺服馬達
D8(GPIO15):紅外線接收器
D9(GPIO3、RX):X
D10(GPIO、TX):X
A0(GPIO17):麥克風
四、圖形說明
第一塊NodeMCU(沒有連上網)的相關圖形說明
NodeMCU全部腳位都用光了
利用小麵包板來延伸(3.3V、GND)及(5V、GND)
用到5V電的有:LCD顯示器、超音波測距感應獸、繼電器 、另一塊的是紅外線接收器
(1)天黑請開燈的系統:
光敏電阻(A0,GPIO17);電源接3.3V
LED燈(D0,GPIO16)
(2)天熱請開電扇系統:
DHT11溫濕度感應器(D5,GPIO14);電源接3.3V
繼電器(D4,GPIO2)、電扇
(3)入侵警報1:超音波測距感應器HC-SR04:Trig(D7,GPIO13);Echo(D8,GPIO15);
(4)入侵警報2:霍爾感應器 (D9,GPIO3)
(5)火災探測報警:火焰感應器 (D10,GPIO1)
(6)按鍵控制LED燈及繼電器(電扇):按鍵(D3,GPIO0)
(7)顯示各項資訊:LCD顯示器(SDA(D2,GPIO4);SCL(D1,GPIO5)
(8)發出警報聲或音樂聲:蜂鳴器(D6,GPIO12)
第二塊NodeMCU的相關圖片說明
(1)遙控器控制三色LED燈:紅外線接收器(D8,GPIO15),接5V電源;三色LED燈(D0,GPIO16、D1,GPIO5、D2,GPIO4)
(2)遙控器控制伺服馬達:伺服馬達(D7,GPIO13)
(3)聲音控制三色LED燈:麥克風(A0,GPIO17)
四、程式說明
進入iotBlockly網站:https://iotblockly.com/iotblockly_v1.5/demos/code/index.html (慧手科技Motoduino網站)
第一塊NodeMCU的程式
由於iotblockly積木程式無法呈現GPIO0、GPIO1、GPIO3這幾個腳位,所以關於這幾個腳位到Arduino IDE再做如下的修改
第二塊NodeMCU的程式
五、其他注意事項
第一塊板子,所有腳位都用滿了,包括D9(RX)及D10(TX)腳位,所以在燒錄程式時,記得把這兩個腳位先拔除再燒錄(上傳)。
第二塊板子,有使用到紅外線接收器,建議燒錄程式時,把這個腳位(D8)先拔除再燒錄(上傳),比較不會出問題。