第一步是連接一個PIR傳感器。 PIR通過識別人體發(fā)出的焦點(diǎn)區(qū)域中紅外發(fā)射的增加來檢測“運(yùn)動”。
我們從亞馬遜獲得了PIR傳感器。
將PIR的3個引腳連接到+ 5vdc,Arduino引腳2(數(shù)據(jù)輸出)和地。
步驟2:SSR
SSR是固態(tài)繼電器。它由一個光電晶體管和一個三端雙向可控硅開關(guān)元件以及支持電路組成。這樣可以將120vac負(fù)載與Arduino隔離開,因此不會發(fā)生高壓交流電造成的損壞。 。
將螺絲端子4接地,將螺絲端子3連接到Arduino Pin 13,并將螺絲端子1和2插入系列(這很重要),并將HOT電線連接到設(shè)備(如果進(jìn)行硬接線,請確保拔下電源線或斷開斷路器的連接)。
第3步:手動控制開關(guān)
我們希望有一種方法可以覆蓋PIR,并提供自動(PIR),手動打開和手動關(guān)閉模式。我們添加了一個SPDT開關(guān),其中心處于關(guān)閉狀態(tài),并將中心引腳連接到+ 5vdc,并將兩個外部引腳連接到Arduino引腳11和12。兩個外部引腳還具有一個10k歐姆的電阻器(每個)接地。 Radio Shack帶有5包電阻,價格為$ 1.20左右。
我們從亞馬遜獲得了帶有中心關(guān)閉開關(guān)的SPDT。
有關(guān)SPDT和其他類型開關(guān)的更多信息,請參閱http://en.wikipedia.org/Wiki/Single_pole,_double_throw#Contact_terminology
第4步:Arduino代碼
使這一切發(fā)生的代碼如下所示:
int inPin1 = 11;//開關(guān)連接到數(shù)字引腳11
int inPin2 = 12;//開關(guān)連接到數(shù)字引腳12
int ssrPin = 13;
int pirPin = 2;
int motionDetect = 0;
int manualSwitch = 0;
int motionSwitch = 0;
void setup(){ pinMode(ssrPin,OUTPUT);
pinMode(pirPin,INPUT);
pinMode(inPin1,INPUT);
pinMode(inPin2,INPUT);
digitalWrite (ssrPin,LOW);
}
void loop(){ manualSwitch = digitalRead(inPin2);
if(motionSwitch == HIGH)//運(yùn)動模式
{
motionDetect = digitalRead(pirPin);
如果(motionDetect == HIGH)
{
digitalWrite(ssrPin,HIGH);
延遲(180000);//可選3分鐘延遲關(guān)閉
digitalWrite(ssrPin,LOW);
}
}
否則(manualSwitch == HIGH)//手動打開
{
digitalWrite(ssrPin ,HIGH);
}
else//手動關(guān)閉
{
digitalWrite(ssrPin,LOW);
}
}
Step 5:原理圖
這是顯示所有接線的原理圖:
步驟6:使用燈光傳感器(LDR/CdS)
一種選擇是,如果環(huán)境光強(qiáng)度超過一定量,則阻止光亮。這是室外運(yùn)動傳感器的典型操作。如果太陽升起,則燈不亮。本CdS教程將幫助您開始添加該選項。如果讀數(shù)超過一定值,請禁用“點(diǎn)亮”功能。
-
Arduino
+關(guān)注
關(guān)注
188文章
6472瀏覽量
187322
發(fā)布評論請先 登錄
相關(guān)推薦
評論