本系列文章為作者原創(chuàng),未經(jīng)作者書面同意,不得轉(zhuǎn)載!
現(xiàn)在很多有老人的家庭都會(huì)在衛(wèi)生間安裝一種感應(yīng)燈,當(dāng)人進(jìn)入衛(wèi)生間時(shí),燈就會(huì)發(fā)光,過一會(huì)兒就自動(dòng)關(guān)閉了。這種燈比傳統(tǒng)的聲控?zé)粢茖W(xué)一下,尤其晚上,不會(huì)打擾到家人,非常方便。

今天就教大家來制作一盞人體感應(yīng)燈!
我們還是先來將我們要做的人體感應(yīng)燈的功能定義一下,做項(xiàng)目嘛,需求要先明確:人體感應(yīng)燈能夠在4米范圍內(nèi)感知人體,然后自動(dòng)開啟照明,人離開30秒后自動(dòng)關(guān)閉照明。
1 本章您將學(xué)到
在這個(gè)項(xiàng)目中,您將學(xué)到的:
- 學(xué)會(huì)使用人體紅外傳感器
- 學(xué)習(xí)模擬信號(hào)輸入操作
2 工具和組件
2.1 工具列表
本項(xiàng)目不需要額外的工具。
2.2 元器件列表
| 元器件 | 型號(hào) | 數(shù)量 | 備注 |
|---|---|---|---|
| 主控板 | arduino Uno | 1 | |
| 人體紅外傳感器 | HC-SR501 | 1 | |
| 電阻 | 220歐姆 | 1 | |
| 面包板 | 1 | ||
| 杜邦線 | 若個(gè) | ||
| 數(shù)據(jù)線 | Uno數(shù)據(jù)線 | 1 |
2.3 工具和元器件介紹
2.3 工具和元器件介紹
2.3.1 HC-SR501人體紅外傳感器

2.3.1.1 工作原理
自然界中任何的物體都會(huì)輻射出紅外線,只不過物體不同,輻射出來的紅外線波長(zhǎng)不相同而已。
小知識(shí):
常見顏色光的波長(zhǎng)分布:
光線 波長(zhǎng) 紫光 0.4-0.43μm 藍(lán)光 0.43-0.47μm 青光 0.47-0.50μm 綠光 0.50-0.56μm 黃光 0.56-0.59μm 橙光 0.59-0.62μm 紅光 0.62-0.76μm 紅外 0.76-100μm
人的體溫一般在37度左右,所以會(huì)發(fā)出特定波長(zhǎng)10UM左右的紅外線,HC-SR501人體紅外傳感器就是根據(jù)人體輻射出的波長(zhǎng)大約在10000nm左右的紅外線,從而感應(yīng)出人體的接近與遠(yuǎn)離。
人體發(fā)射的10UM左右的紅外線通過菲泥爾濾光片增強(qiáng)后聚集到紅外感應(yīng)源上。下圖就是HC-SR501人體紅外傳感器上的費(fèi)列爾透鏡:

費(fèi)列爾透鏡:
根據(jù)菲涅耳原理制成,菲涅耳透鏡分為折射式和反射式兩種形式,其作用一是聚焦作用,將熱釋的紅外信號(hào)折射(反射)在PIR(熱釋電紅外傳感器)上;二是將檢測(cè)區(qū)內(nèi)分為若干個(gè)明區(qū)和暗區(qū),使進(jìn)入檢測(cè)區(qū)的移動(dòng)物體能以溫度變化的形式在PIR上產(chǎn)生變化熱釋紅外信號(hào),這樣PIR就能產(chǎn)生變化電信號(hào),使熱釋電人體紅外傳感器(PIR)靈敏度大大增加。
HC-SR501-04.png
紅外感應(yīng)源通常采用熱釋電元件,這種元件在接收到人體紅外輻射溫度發(fā)生變化時(shí)就會(huì)失去電荷平衡,向外釋放電荷,后續(xù)電路經(jīng)檢測(cè)處理后就能產(chǎn)生電信號(hào)。

2.3.1.2 技術(shù)參數(shù)
| 技術(shù)參數(shù) | 模塊指標(biāo) |
|---|---|
| 使用電壓 | DC 5V-20V |
| 靜態(tài)電流 | 65微安 |
| 電平輸出 | 高3.3V,低0V |
| 延時(shí)時(shí)間 | 可調(diào)(0.3秒~18秒) |
| 封鎖時(shí)間 | 0.2秒 |
| 觸發(fā)方式 | L不可重復(fù),H可重復(fù),默認(rèn)值為H(跳帽選擇) |
| 感應(yīng)范圍 | 小于120度錐角,7米以內(nèi) |
| 工作溫度 | -15~+70度 |
2.3.1.3 觸發(fā)方式
通過模塊上的跳線選擇:L不可重復(fù),H可重復(fù)。
- 不可重復(fù)觸發(fā)方式:即感應(yīng)輸出高電平后,延時(shí)時(shí)間一結(jié)束,輸出將自動(dòng)從高電平變?yōu)榈碗娖健?/li>
- 可重復(fù)觸發(fā)方式: 即感應(yīng)輸出高電平后,在延時(shí)時(shí)間段內(nèi),如果有人體在其感應(yīng)范圍內(nèi)活動(dòng),其輸出將一直保持高電平,直到人離開后才延時(shí)將高電平變?yōu)榈碗娖?感應(yīng)模塊檢測(cè)到人體的每一次活動(dòng)后會(huì)自動(dòng)順延一個(gè)延時(shí)時(shí)間段,并且以最后一次活動(dòng)的時(shí)間為延時(shí)時(shí)間的起始點(diǎn))。
下圖是跳線位置,圖中的跳線選擇在:L不可重復(fù)。

2.3.1.4 感應(yīng)時(shí)間延遲調(diào)節(jié)及感應(yīng)距離調(diào)節(jié)
時(shí)間延遲調(diào)節(jié):旋鈕形式,用于調(diào)節(jié)檢測(cè)到當(dāng)前紅外信號(hào)后的延遲時(shí)間,感應(yīng)模塊在每一次感應(yīng)輸出后(高電平變?yōu)榈碗娖?,可以緊跟著設(shè)置一個(gè)封鎖時(shí)間,在此時(shí)間段內(nèi)感應(yīng)器不接收任何感應(yīng)信號(hào)。此功能可以實(shí)現(xiàn)(感應(yīng)輸出時(shí)間和封鎖時(shí)間)兩者的間隔工作,可應(yīng)用于間隔探測(cè)產(chǎn)品;同時(shí)此功能可有效抑制負(fù)載切換過程中產(chǎn)生的各種干擾。(默認(rèn)封鎖時(shí)間2.5S),調(diào)節(jié)延時(shí)旋鈕順時(shí)針旋轉(zhuǎn),感應(yīng)延時(shí)加長(zhǎng)(約300S),反之,感應(yīng)延時(shí)減短(約 0.5S)。
感應(yīng)距離調(diào)節(jié):旋鈕形式,用于調(diào)節(jié)模塊的靈敏度,調(diào)節(jié)旋鈕順時(shí)針旋轉(zhuǎn),感應(yīng)距離增大(約 7 米),反之,感應(yīng)距離減小(約 3 米)。

2.3.1.5 光敏控制
HC-SR501模塊預(yù)留有光敏電阻位置,可設(shè)置光敏控制,白天或光線強(qiáng)時(shí)不感應(yīng)。光敏控制為可選功能,出廠時(shí)未安裝光敏電阻。

2.3.1.6 引腳說明

- VCC:供電 5-20V DC
- 輸出引腳:模擬輸出
- GND:接地,電源負(fù)極
2.3.1.7 安裝方式
HC-SR501人體紅外傳感器只能安裝在室內(nèi),其誤報(bào)率與安裝的位置和方式有極大的關(guān)系,正確的安裝應(yīng)滿足下列條件:
- 紅外線熱釋電傳感器應(yīng)離地面2.0-2.2米。
- 紅外線熱釋電傳感器遠(yuǎn)離空調(diào), 冰箱,火爐等空氣溫度變化敏感的地方。
- 紅外線熱釋電傳感器探測(cè)范圍內(nèi)不得隔屏、家具、大型盆景或其他隔離物。
- 紅外線熱釋電傳感器不要直對(duì)窗口,否則窗外的熱氣流擾動(dòng)和人員走動(dòng)會(huì)引起誤報(bào),有條件的最好把窗簾拉上。紅外線熱釋電傳感器也不要安裝在有強(qiáng)氣流活動(dòng)的地方。
另外,紅外線熱釋電傳感器對(duì)人體的敏感程度還和人的運(yùn)動(dòng)方向關(guān)系很大。熱釋電紅外傳感器對(duì)于徑向移動(dòng)反應(yīng)最不敏感,,而對(duì)于橫切方向 (即與半徑垂直的方向)移動(dòng)則最為敏感. 在現(xiàn)場(chǎng)選擇合適的安裝位置是避免紅外探頭誤報(bào)、求得最佳檢測(cè)靈敏度極為重要的一環(huán)。
3 電路設(shè)計(jì)
3.1 電路圖
根據(jù)我們的項(xiàng)目需求,設(shè)計(jì)電路圖如下:

3.2 電路原理
這個(gè)電路圖比較簡(jiǎn)單,大家需要注意的還是LED燈的限流電阻。
4 程序設(shè)計(jì)
4.1 主程序設(shè)計(jì)
/*
*名稱:人體紅外感應(yīng)燈
*功能:
*作者:YXK
*時(shí)間:2018.6.6
*/
const int sensorPin = A0; //定義SR501人體紅外的引腳
const int ledPin = 10; //定義LED燈的引腳
int sensorValue = 0; //聲明傳感器數(shù)據(jù)變量
void setup()
{
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin,LOW);
pinMode(sensorPin, INPUT);
}
void loop()
{
sensorValue = analogRead(sensorPin); //讀取傳感器數(shù)據(jù)
if(sensorValue > 300){ //判斷是否有人接近
digitalWrite(ledPin,HIGH); //點(diǎn)亮LED燈
delay(30000); //延時(shí)30秒
digitalWrite(ledPin,LOW); //關(guān)閉LED燈
}
}
4 安裝調(diào)試
由于電路比較簡(jiǎn)單,我就不上我的最終連接圖了,大家按照電路圖進(jìn)行連接,上傳程序即可。
5 總結(jié)擴(kuò)展
人體紅外傳感器HC-SR501其實(shí)可以用來創(chuàng)作的空間很大,比如,做一個(gè)人體感應(yīng)報(bào)警器,您可以參考本文自己來設(shè)計(jì),活學(xué)活用!
如果您喜歡本文,您可以點(diǎn)擊一下下面的喜歡按鈕,您也可以關(guān)注我,謝謝您的支持!
