0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過(guò)Raspberry Pi和Python使用PIR運(yùn)動(dòng)傳感器

而無(wú)返還 ? 來(lái)源:而無(wú)返還 ? 作者:而無(wú)返還 ? 2023-02-25 17:44 ? 次閱讀

這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。紅外線(xiàn)是一種沒(méi)有特殊設(shè)備的輔助就無(wú)法看到的光線(xiàn),但是我們可以通過(guò)熱量感受到它的存在。這種光線(xiàn)被稱(chēng)為“紅外線(xiàn)”,是因?yàn)樗牟ㄩL(zhǎng)超出了可見(jiàn)光譜中的紅色光線(xiàn)邊界。

這引起了設(shè)備制造商的興趣,有一部分原因是人類(lèi)、動(dòng)物和物體會(huì)一直輻射紅外線(xiàn)。

pYYBAGPzHW-AEcDOAAAkrG2hKas681.png

雖然這聽(tīng)起來(lái)很奇怪,但是其實(shí)您應(yīng)該已經(jīng)對(duì)某些類(lèi)似的東西很熟悉了:火,溫度非常高,會(huì)發(fā)出熱量和可見(jiàn)光。

雖然火可以達(dá)到足夠高的溫度來(lái)發(fā)出可見(jiàn)光,但是我們的身體不會(huì),而且我們所輻射的光—紅外線(xiàn)—人眼是無(wú)法看到的。

如果Raspberry Pi可以利用紅外線(xiàn)來(lái)查看是否有人出現(xiàn),會(huì)不會(huì)有人覺(jué)得很便利呢?

通過(guò)使用非常便宜、可用、耐用、可靠和經(jīng)濟(jì)的組件,我們可以做到這一點(diǎn)!
這種設(shè)備叫“被動(dòng)紅外運(yùn)動(dòng)傳感器”,通常稱(chēng)為“被動(dòng)紅外傳感器”或者簡(jiǎn)稱(chēng)“PIR傳感器”。

PIR運(yùn)動(dòng)傳感器是如何工作的

PIR運(yùn)動(dòng)傳感器由一對(duì)熱釋電傳感器上的透鏡組成:一種晶體材料,當(dāng)它接收到紅外光時(shí)會(huì)產(chǎn)生電壓。
但是任何含有一定熱量的物體都會(huì)輻射出一些紅外線(xiàn)。這意味著單個(gè)熱釋電傳感器會(huì)一直產(chǎn)生電壓,即使視野中的所有物體都是完全靜止的。
那么如何將它變成一個(gè)運(yùn)動(dòng)傳感器呢?這很簡(jiǎn)單,但是很有技巧性。將兩個(gè)熱釋電傳感器進(jìn)行連接,這種連接使得來(lái)自環(huán)境紅外線(xiàn)的信號(hào)可以相互抵消。
當(dāng)足夠大且具有一定溫度的物體在鏡頭前移動(dòng)時(shí),兩個(gè)信號(hào)將會(huì)停止相互抵消,傳感器會(huì)報(bào)告有物體在移動(dòng)。

PIR運(yùn)動(dòng)傳感器可能會(huì)產(chǎn)生誤報(bào)

當(dāng)您將PIR運(yùn)動(dòng)傳感器連接到電源時(shí),它需要30秒到60秒才能穩(wěn)定下來(lái)。在還沒(méi)有穩(wěn)定的時(shí)候就運(yùn)行可能會(huì)引發(fā)誤報(bào),這在某些電路中會(huì)很讓人頭疼。在Raspberry Pi項(xiàng)目中,很容易編寫(xiě)出軟件來(lái)讓它在啟動(dòng)后等待片刻再運(yùn)行。
更大的問(wèn)題是由動(dòng)物、昆蟲(chóng)甚至陣風(fēng)所觸發(fā)的傳感器響應(yīng)。
您通??梢詫⒔M件校準(zhǔn)到更低的敏感度,這樣可以阻止您的小貓或者小狗觸發(fā)警報(bào)。而對(duì)于在傳感器前飛行的昆蟲(chóng)來(lái)說(shuō),這種調(diào)整的作用不大。
但是,不要把這些誤報(bào)看作是一個(gè)破壞者,而是想想如何聰明地處理它們。

Python中處理PIR運(yùn)動(dòng)傳感器

從可視化編程工具(如Scratch down)到“close-to-the-metal(能夠以編程方式管理操作系統(tǒng)內(nèi)存)”的編程語(yǔ)言(例如C),有很多方法可以將PIR運(yùn)動(dòng)傳感器和Raspberry Pi進(jìn)行連接。
在這里,我們將使用Python 和GPIO Zero庫(kù),這些庫(kù)已經(jīng)幫我們整理好了大部分的細(xì)節(jié)內(nèi)容。
如果您從來(lái)沒(méi)有寫(xiě)過(guò)Python代碼,可以嘗試學(xué)習(xí)來(lái)自“Automate the Boring Stuff With Python(用Python將枯燥的工作自動(dòng)化)”的一些教程。如果您不打算了解這些內(nèi)容,也可以直接使用下面的代碼,如果您能理解下文代碼中的內(nèi)容,將會(huì)學(xué)到更多的知識(shí)。
本文假設(shè)您對(duì)GPIO 引腳有了基本的了解。如果它對(duì)您來(lái)說(shuō)是全新的知識(shí),請(qǐng)查看過(guò)去的指南。下面的圖表會(huì)提醒您有哪些相關(guān)基礎(chǔ)知識(shí)。

poYBAGPzHXGAPlPDAACLfuvo1LY065.png

將PIR運(yùn)動(dòng)傳感器連接到Raspberry Pi

為了開(kāi)始構(gòu)建您的Raspberry Pi 運(yùn)動(dòng)傳感器,您將需要:

一個(gè)帶電源的Raspberry Pi以及一個(gè)安裝了Raspbian的SD
一個(gè)面包板
一個(gè)GPIO 擴(kuò)展板(可選,但是推薦使用)
一個(gè)PIR 運(yùn)動(dòng)傳感器
(我使用的是XC-4444)

您還需要一些可以讓您輸入代碼的設(shè)備,例如USB鍵盤(pán)或者SSH連接。

將組件連接到面包板

從背面看這臺(tái)XC-4444,可以看到引腳在底部,這些引腳為:
? 左邊用于5伏電源
? 中間用于數(shù)字輸出
? 右邊用于接地
雖然PIR運(yùn)動(dòng)傳感器往往大同小異,但是不同型號(hào)上的引腳可能順序會(huì)有所不同。如果您不確定的話(huà),請(qǐng)查看組件規(guī)格。
將Raspberry Pi上的5伏引腳連接到正電源軌,然后將接地引腳連接到負(fù)電源軌。
然后,讓鏡頭背對(duì)您,將運(yùn)動(dòng)傳感器的電源引腳連接到正電源軌,將接地引腳連接到負(fù)電源軌,并將數(shù)字輸出引腳連接到面包板中間的某處。
最后,將該面包板行連接到GPIO引腳,我使用的是引腳13。

pYYBAGPzHXuAHSwYAAAwjK_vk6E904.jpg

將其與GPIO Zero接合

現(xiàn)在是時(shí)候編寫(xiě)一個(gè)快速腳本了。啟用命令提示符,并通過(guò)輸入以下內(nèi)容打開(kāi)文本編輯器:
nano intruderAlarm.py
GPIO Zero已經(jīng)為我們的運(yùn)動(dòng)傳感器創(chuàng)建了一個(gè)類(lèi),所以我們直接導(dǎo)入這個(gè)類(lèi),并導(dǎo)入來(lái)自time模塊的sleep函數(shù)。
from time import sleep
from gpiozero import MotionSensor
現(xiàn)在我們編寫(xiě)一個(gè)函數(shù),功能為當(dāng)傳感器檢測(cè)到運(yùn)動(dòng)物體時(shí)將消息打印到屏幕上。
def detectIntruders():
pir.wait_for_motion()
print(‘Intruder Alert!’)
sleep(5)
sleep指令表示打印完消息后將等待5秒鐘。如果沒(méi)有該指令,我們的腳本將在脈沖持續(xù)時(shí)間內(nèi)用消息填滿(mǎn)整個(gè)屏幕,這樣的話(huà)就很難了解運(yùn)行狀況了。
如果我們不對(duì)MotionSensor對(duì)象進(jìn)行初始化,那么detectIntruders()函數(shù)將無(wú)法工作,所以讓我們將其設(shè)置為引腳13:
pir = MotionSensor(13)
您能相信到此我們已經(jīng)快要完成了嗎?現(xiàn)在我們只需要一個(gè)循環(huán)程序來(lái)運(yùn)行我們的函數(shù)就可以完成了。
while True:
detectIntruders()
按下Ctrl+O來(lái)保存腳本,然后按下Ctrl+X退出文本編輯器。想要運(yùn)行程序,請(qǐng)輸入:
python3 intruderAlarm.py
現(xiàn)在起身并走過(guò)傳感器,您看到打印的信息了么?
如果不起作用,請(qǐng)檢查所有引腳是否正確連接。PIR運(yùn)動(dòng)傳感器的接地和電源引腳很容易混淆。
如果想要停止腳本的運(yùn)行,請(qǐng)按下Ctrl+C。

校準(zhǔn)PIR運(yùn)動(dòng)傳感器

這款XC-4444有兩個(gè)關(guān)鍵指標(biāo):一個(gè)是脈沖長(zhǎng)度,標(biāo)記為T(mén)x,另一個(gè)是靈敏度,標(biāo)記為Sx。
在某些項(xiàng)目中,調(diào)整脈沖長(zhǎng)度可能會(huì)很有用,但是我傾向于保持它的大小,通過(guò)編寫(xiě)代碼來(lái)處理Raspberry Pi對(duì)信號(hào)的響應(yīng)工作。
調(diào)整靈敏度會(huì)更有趣。您可以通過(guò)調(diào)整靈敏度來(lái)決定傳感器需要檢測(cè)出什么程度的運(yùn)動(dòng)才能發(fā)出信號(hào)。
一些PIR運(yùn)動(dòng)傳感器具有更多的控件。對(duì)于一些響應(yīng)特征,比如只要檢測(cè)到運(yùn)動(dòng),脈沖就一直維持,或者模塊是否發(fā)處重復(fù)的脈沖,這些傳感器會(huì)有所不同。

PIR運(yùn)動(dòng)傳感器有多種用途

我們剛剛探討的工作原理不僅僅只適用于警報(bào)。
它們還適用于各種家庭中的自動(dòng)化項(xiàng)目:照明、溫度控制、開(kāi)門(mén),甚至還可以在您下班回家時(shí)為您播放一些專(zhuān)業(yè)的摔跤風(fēng)格的入口音樂(lè)。
如果您想要在某人出現(xiàn)的時(shí)候獲悉消息,這將會(huì)是您的得力助手。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    55

    文章

    4768

    瀏覽量

    84376
  • 運(yùn)動(dòng)傳感器

    關(guān)注

    9

    文章

    162

    瀏覽量

    30739
  • PIR
    PIR
    +關(guān)注

    關(guān)注

    0

    文章

    74

    瀏覽量

    17856
  • Raspberry Pi
    +關(guān)注

    關(guān)注

    1

    文章

    555

    瀏覽量

    22149
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Banana Pi M5 與 Raspberry Pi 4 – 基準(zhǔn)測(cè)試

    Banana Pi M5 基準(zhǔn)測(cè)試已成為我的網(wǎng)站上最受歡迎的作品之一,而且似乎人們真正想看到的是它與其 Raspberry 口味的表親之間的直接比較,所以這里就是 Banana Pi M5 與
    的頭像 發(fā)表于 10-28 10:28 ?218次閱讀
    Banana <b class='flag-5'>Pi</b> M5 與 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 4 – 基準(zhǔn)測(cè)試

    e絡(luò)盟開(kāi)售Raspberry Pi AI 攝像頭

    安富利旗下全球電子元器件產(chǎn)品與解決方案分銷(xiāo)商e絡(luò)盟開(kāi)售全新 Raspberry Pi AI攝像頭,這是 Raspberry Pi 的最新產(chǎn)品,擴(kuò)大了 e絡(luò)盟的人工智能設(shè)備范圍。
    的頭像 發(fā)表于 10-10 10:09 ?163次閱讀
    e絡(luò)盟開(kāi)售<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> AI 攝像頭

    使用串行連接通過(guò) Raspberry Pi 增強(qiáng)您的 XRP 項(xiàng)目

    指南更為高級(jí)。通過(guò)本指南,您將能夠?qū)?Raspberry Pi 連接到您的 XRP,從而使您的 XRP 項(xiàng)目更上一層樓。 傳輸數(shù)據(jù): 在 Raspberry
    的頭像 發(fā)表于 10-02 15:28 ?181次閱讀
    使用串行連接<b class='flag-5'>通過(guò)</b> <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 增強(qiáng)您的 XRP 項(xiàng)目

    MSP430FR2355上集成智能模擬的PIR運(yùn)動(dòng)檢測(cè)器應(yīng)用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《MSP430FR2355上集成智能模擬的PIR運(yùn)動(dòng)檢測(cè)器應(yīng)用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 11:07 ?0次下載
    MSP430FR2355上集成智能模擬的<b class='flag-5'>PIR</b><b class='flag-5'>運(yùn)動(dòng)檢測(cè)器</b>應(yīng)用說(shuō)明

    使用MSPM0進(jìn)行PIR運(yùn)動(dòng)檢測(cè)

    電子發(fā)燒友網(wǎng)站提供《使用MSPM0進(jìn)行PIR運(yùn)動(dòng)檢測(cè).pdf》資料免費(fèi)下載
    發(fā)表于 08-29 11:38 ?0次下載
    使用MSPM0進(jìn)行<b class='flag-5'>PIR</b><b class='flag-5'>運(yùn)動(dòng)</b>檢測(cè)

    基于PIR傳感器的電路圖 帶Arduino的PIR傳感器設(shè)計(jì)

    PIR傳感器,全稱(chēng)“Passive Infrared Sensor”,又稱(chēng)“人體紅外線(xiàn)傳感器”,是一種能夠探測(cè)人體熱量的電子元件。它通過(guò)檢測(cè)周?chē)h(huán)境中的紅外線(xiàn)輻射來(lái)感知人體的存在,因此
    的頭像 發(fā)表于 07-03 18:02 ?1327次閱讀
    基于<b class='flag-5'>PIR</b><b class='flag-5'>傳感器</b>的電路圖 帶Arduino的<b class='flag-5'>PIR</b><b class='flag-5'>傳感器</b>設(shè)計(jì)

    樹(shù)莓派5,Raspberry Pi 5 評(píng)測(cè)

    Raspberry Pi Zero的15針接線(xiàn),而不是原先的22針接線(xiàn)。還要注意的是,現(xiàn)在有兩個(gè)相鄰的接頭,我們現(xiàn)在可以連接兩個(gè)攝像頭、兩個(gè)DSI顯示
    發(fā)表于 06-19 14:51

    如何將CYKIT-028 TFT模塊與Raspberry Pi和ESP32微控制結(jié)合使用?

    我目前正在探索如何將 CYKIT-028 TFT 模塊與 Raspberry Pi 和 ESP32 微控制結(jié)合使用。 不過(guò),在選擇集成開(kāi)發(fā)環(huán)境(IDE)和使用 PSOC Creator 的必要性
    發(fā)表于 05-21 07:36

    5分鐘內(nèi)將Raspberry Pi Pico變成簡(jiǎn)單的示波器+波形發(fā)生

    5 分鐘內(nèi)將 Raspberry Pi Pico(或任何 RP2040 板)變成簡(jiǎn)單的示波器+波形發(fā)生
    的頭像 發(fā)表于 03-04 09:14 ?1862次閱讀
    5分鐘內(nèi)將<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico變成簡(jiǎn)單的示波器+波形發(fā)生<b class='flag-5'>器</b>

    構(gòu)建一個(gè)PIR運(yùn)動(dòng)傳感器

     在這個(gè)項(xiàng)目中,我們將學(xué)習(xí)如何在不需要微控制的情況下制作運(yùn)動(dòng)傳感器燈。當(dāng)運(yùn)動(dòng)傳感器感應(yīng)到附近的運(yùn)動(dòng)
    的頭像 發(fā)表于 02-11 12:11 ?1116次閱讀
    構(gòu)建一個(gè)<b class='flag-5'>PIR</b><b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>傳感器</b>燈

    震驚!居然有人給 Raspberry Pi 5 做 X 射線(xiàn)!

    ? Jeff Geerling 會(huì)做一些莫名其妙的怪事,比如用信鴿來(lái)對(duì)抗網(wǎng)速,不過(guò)這也是我們喜歡他視頻的原因。最近,杰夫?qū)?Raspberry Pi 5 進(jìn)行了 X 光透視,揭示了
    的頭像 發(fā)表于 01-10 16:42 ?443次閱讀
    震驚!居然有人給 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 做 X 射線(xiàn)!

    基于Raspberry Pi 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目

    今天小拜年給大家?guī)?lái)的是來(lái)自美國(guó)的Maker Rob Lauer的基于樹(shù)莓派5的蜂窩網(wǎng)絡(luò)項(xiàng)目,了解如何為新的 Raspberry Pi 5 單板計(jì)算機(jī)添加低帶寬蜂窩連接。
    的頭像 發(fā)表于 12-25 10:55 ?1191次閱讀
    基于<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5的蜂窩物聯(lián)網(wǎng)項(xiàng)目

    傳感器數(shù)據(jù)融合算法python代碼

    算法的原理和應(yīng)用,并給出一些使用Python編程語(yǔ)言實(shí)現(xiàn)傳感器數(shù)據(jù)融合算法的示例代碼。 首先,讓我們來(lái)了解傳感器數(shù)據(jù)融合算法的原理。傳感器數(shù)據(jù)融合算法的一個(gè)關(guān)鍵概念是
    的頭像 發(fā)表于 12-15 10:28 ?1327次閱讀

    基于運(yùn)動(dòng)傳感器成為移動(dòng)應(yīng)用的價(jià)值倍增

    電子發(fā)燒友網(wǎng)站提供《基于運(yùn)動(dòng)傳感器成為移動(dòng)應(yīng)用的價(jià)值倍增.pdf》資料免費(fèi)下載
    發(fā)表于 11-28 11:30 ?0次下載
    基于<b class='flag-5'>運(yùn)動(dòng)</b>的<b class='flag-5'>傳感器</b>成為移動(dòng)應(yīng)用的價(jià)值倍增<b class='flag-5'>器</b>

    RP2040和Raspberry Pi的區(qū)別

    (IC) 上的小型計(jì)算機(jī),包括微處理、存儲(chǔ)和輸入/輸出 (I/O) 外圍設(shè)備。它旨在以緊湊的外形控制特定任務(wù)并執(zhí)行特定功能。微控制的主要作用是通過(guò)收集
    的頭像 發(fā)表于 11-16 17:37 ?875次閱讀
    RP2040和<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b>的區(qū)別