国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Geekcraft:構建您自己的Raspberry Pi運動檢測器

楊海清 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-03-01 11:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這篇文章來源于DevicePlus.com英語網站的翻譯稿。

目錄

1. PIR傳感器簡介
1.1 優點和缺點
1.2 您將要學習的內容
2. 將PIR傳感器與Raspberry Pi連接
2.1 設置環境
2.2 GPIO引腳編號方案
2.3 示例PIR電路和代碼

1. PIR傳感器簡介

PIR是被動紅外的首字母縮寫,具有很棒的性能,因為它不發射任何紅外光(這意味著低功耗),只用于檢測其視場中快速變化的紅外光。

傳感部分是一個雙金屬熱釋電傳感器,由對紅外光響應方式不同的兩種材料組成,其微弱的電輸出信號會被低噪JFET放大,以產生可用的電壓輸出。

由于熱釋電傳感器板是平的,不適合用于諸如110度這樣的視場,所以可以添加一個菲涅爾透鏡進行聚焦,這與美國宇航局的深空天線非常相似。該圓形塑料部件位于傳感器前側,旨在將紅外線反射到構成熱釋電傳感器的兩個金屬板上,從而讀取紅外熱像的變化。

根據設計,通過放大級,PIR傳感器能夠觸發繼電器(例如打開燈光)或向附近的裝置發送信號,通知它在特定區域有運動發生。這種功能在我們的現代生活中無處不在,比如您附近每一次低沉的“咔嗒”聲和突然的照明,都是通過使用這些先進的傳感器實現的。

pYYBAGPzG1eAK89eAAEtgS-sK5g404.jpg

1.1 優點和缺點

PIR傳感器可靠性好、壽命長,最重要的是,可以靈活應用于很多場景,通常具有可調節的紅外閾值和開啟時間。

然而,PIR傳感器也存在局限性。它們容易出現誤報(出于一些常見的情況,如氣流),而高度準確的運動檢測最好使用微波傳感器,例如,昂貴的汽車報警器都會使用微波傳感器。

PIR在首次通電時還需要長達30-60秒的時間才能穩定下來,并且通常首次通電時會在信號引腳上觸發至少一個誤報。這是因為它們會響應不斷變化的紅外熱像,而通電構成了變化。這意味著您的設備可能不得不延遲操作,直到PIR穩定下來。具體情況取決于不同的應用場景,這可能會有點麻煩。

1.2 您將會學到的內容

在后文中我們將要使用的基于Raspberry Pi的 HC-SR501帶有很多旋鈕和控制桿。您可以對所有的功能和交互方式進行調整來為您的應用提供完美的感應輸入信息。

您的PIR傳感器必需要與其他元件連接,否則不會有任何作用。通過本文,您將學習如何將其與您的Raspberry Pi連接。我們提供了示例代碼,在shell腳本中使用了WiringPi的“gpio”庫。

您可以根據自己的意愿對其進行修改,這很容易,尤其是參照《高級Bash腳本編程指南》的話,我們接下來就會安裝該指南。

2. 將PIR傳感器與Raspberry Pi連接

您需要先設置自己的Raspberry Pi,請根據本指南快速完成此操作。

2.1 設置環境

完成后,將下面的腳本復制到您的Raspberry Pi,然后運行它:


sudo bash rpi_prepare.sh

該命令將用于安裝與GPIO硬件接口相關的大多數軟件包。“abs-guide”包將用于安裝《高級Bash腳本編程指南》,建議所有用戶都安裝該指南。可以在以下位置找到它:

“/usr/share/doc/abs-guide/html/index.html”。

專業提示:作為用戶“pi”,將以下內容粘貼到您的終端中:


cd /usr/share/doc/abs-guide/html && 
python -m SimpleHTTPServer >/dev/null 2>&1 &
cd -

并在 http://raspberry.local:8000 查看指南—如果您的工作站和Pi之間的mDNS無法正常運行,請使用:


hostname -I

然后獲取IP地址,接下來訪問 http://pi-ip:8000 …

— 或者,可以點擊此處下載PDF格式文件。

即使您不打算編寫腳本,而只是使用終端,本指南也會非常有用。

[ begin rpi_prepare.sh ]


#! /usr/bin/env bash
set -eu -o pipefail



export DEBIAN_FRONTEND DEBIAN_PRIORITY DEBCONF_NOWARNINGS

_pkg_list="vim zip unzip curl wget pigpio wiringpi rsync wiringpi 
python-rpi.gpio python3-rpi.gpio rpi.gpio-common git python3-serial 
python-serial abs-guide python-gpiozero python-gpiozero-doc 
python3-gpiozero"

# Upgrade system and installed packages
sudo apt update || ech o failed to update index list 
sudo dpkg --configure -a || ech o failed to fix 
interrupted upgrades
sudo apt --fix-broken --fix-missing install || ech o 
failed to fix conflicts 
sudo apt -y --allow-downgrades --fix-broken 
--fix-missing dist-upgrade 

# Install $_pkg_list
sudo apt update
sudo apt-get -y install $_pkg_list

[ end rpi_prepare.sh ]

如果您在無頭模式下運行Raspberry Pi 并希望添加SSH連接,請在 微SD的第一個分區(/boot)上創建一個名為“ssh”的文件,以允許在首次啟動時進行SSH訪問。如果您使用的是USB-TTL適配器,請發出以下命令以確保串行連接:


sudo ech o 'enable_uart=1' >> /PATH/TO/BOOT/MOUNTPOINT/config.txt

2.2 GPIO引腳編號方案

中級/高級用戶可以跳過此部分。剛接觸GPIO的人需要了解一下該部分內容。在Raspberry Pi系統上,引腳的編號至少有兩種方案:BCM和BOARD。BCM方式晦澀難懂,但是很便攜。而BOARD簡單易懂,就像“1-2-3”這樣,GPIO引腳位于板的右側,微SD槽在背對您的位置。但請注意,這可能會因具體情況有所變化!

引腳1為3V3,引腳2為5V,以此類推。此編碼方案可以讓您從頂部開始計數,直到找到所需引腳為止。第三個是WiringPi的編號方案,可以直接使用GPIO編號,我不選擇使用這個方法,也不推薦您使用。請使用BCM或BOARD編號,這絕對是正確的選擇。

您可以通過以下命令使用“wiringpi”軟件中的gpio實用程序來臨時查看這些編號方案的編號對應方式。


gpio readall

輸出內容如下所示:
pYYBAGPzG1mACQC_AADANg_NBDs747.png

顯示內容可能會因所使用開發板的不同而不同。請參閱Pinout.xyz網站了解所有Raspberry Pi板的引腳圖信息,這可以節省很多時間!

2.3 示例PIR電路和代碼

您將需要以下元件來構建
電路:

BOM:

Raspberry Pi 4 https://www.amazon.com/Raspberry-Model-2019-Quad-Bluetooth/dp/B07TD42S27/ref=sr_1_3?keywords=raspberry+pi+4&qid=1581051818&sr=8-3
HC-SR501 PIR 傳感器 https://protosupplies.com/product/hc-sr501-pir-motion-sensing-module/
杜邦電線 https://www.amazon.com/Elegoo-EL-CP-004-Multicolored-Breadboard-arduino/dp/B01EV70C78/ref=sr_1_2?keywords=dupont+wire&qid=1581051893&sr=8-2
面包板 https://www.amazon.com/Pcs-MCIGICM-Points-Solderless-Breadboard/dp/B07PCJP9DY/ref=sr_1_8?keywords=breadboard&qid=1581051922&sr=8-8
ROHM SLR343BC4TT32 3mm LED https://www.digikey.com/products/en?keywords=ROHM%20SLR343BC4TT32
2x 1kOhm 電阻 https://www.amazon.com/Projects-100EP5121K00-Ohm-Resistors-Pack/dp/B0185FIJ9A/ref=sr_1_3?keywords=resistor+1k+ohm&qid=1581052039&sr=8-3

一旦您把元件組裝在了一起,完成面包板上的電路連接就很容易了。請按照下圖連接,特別注意您要連接的Pi GPIO引腳。
poYBAGPzG16AcU1xAAQtgKQEeBQ711.png

HC-SR501接受5到12V的輸入電壓,因此請從5V引腳(既然我們已經熟練掌握引腳編號方案了,可以直接說是BOARD2和BOARD4)拉一根條線到面包板的5V/紅色電源軌。

然后將一根條線從GND(BOARD6)拉到黑色軌上。

從那里將5V連接到HC-SR501的引腳3,并將GND連接到引腳1。

在PIR的引腳2和Raspberry Pi的BCM25/BOARD22引腳之間放置一個1kOhm的電阻,以延長Pi引腳的使用壽命,且信號不會受到影響。這就是我們的輸入。

poYBAGPzG2KAbzqfAAQ6S60CujI215.jpg

當您希望調整信號引腳3V3上信號的IR靈敏度、觸發行為(位置為H和L的3P接頭)以及導通時間時,請參閱HC-SR501的指南。技術規格書可點擊此處獲取。

在下文中您會看到我將跳線設置為“無重復”(L),這意味著只要有運動,它的信號就會保持在3V3—這有點不可靠。電容器看起來也不可靠,但是只要使用一些熱膠,它們就永遠不會脫離模塊。

在第二張圖片中,您會看到兩個電位器。左側用于調整靈敏度(CW用于增加,反之用于減少),右側用于調整導通時間(CW用于增加,反之用于減少)。非常簡潔。

pYYBAGPzG2mASQKYAAPq2jki28M238.jpg

pYYBAGPzG2yAVQyMAAKVlrG_zLU593.jpg

我們還想添加一個小LED用于在檢測到運動時發出指示。我用的是藍色 ROHM SLR343BC4TT32 3mm LED。需要將一個限流電阻與Pi的BCM25/BOARD18引腳和LED的陽極(長腿)串聯,限流電阻至少為1kOhm。將LED的陰極連接到GND軌,就完成了。

在示例應用程序中,我們將使用WiringPi的“gpio”庫從PIR讀取3V3/0V到Pi。我傾向于捕捉上升沿并忽略整個信號導通時間,但這需要一個硬件濾波器(2個1kOhm電阻、1個0kOhm電阻和1個100nF電解電容器)來消除抖動。

也許還需要加上一個軟件過濾器(檢查,等待5毫秒,再次檢查)以可靠地進行工作。不需要確定引腳的狀態,但是您會發現相比于Arduino,在Raspberry Pi上捕捉瞬間波形需要做更多的工作。

[ begin pir_wiringpi.sh ]


#! /bin/bash 
# Detects when BOARD22/BCM25/WiringPi6 goes to 3V3, 
# and lights a LED for $_action_time seconds when this
# happens.
# Notes: 
# * Depends on 'gpio' utility from the wiringpi package. Install it 
#   with 'apt-get -y install wiringpi'.
# * Give PIR sensor 30-60s to adjust to ambient IR, you may
#   want to delay before reading signal from it.
set -eu -o pipefail
PATH=/bin:/usr/bin
_pir_pin=25 # BCM25/BOARD22/WiringPi6
_led_pin=24 # BCM24/BOARD18/WiringPi5
# How long should the action run?
_action_time=5

# Clean up on ^C and TERM, use 'gpio unexportall' to flush everything manually.
trap "gpio unexport $_pir_pin ; gpio unexport $_led_pin" INT TERM

# Explicitly uses BCM_GPIO pin numbering, no '-g' flag needed.
gpio export $_pir_pin in 
gpio export $_led_pin out

# Let PIR settle to ambient IR to avoid false positives? 
# Uncomment line below.
#sleep 30

while true
do
  _ret=$( gpio -g read $_pir_pin )
  if [ $_ret -eq 1 ] 
  then
    ech o "[!] PIR is tripped, LED on ..."
    ech o "( Do real stuff here ... helloworld with a bullhorn *wink* )"
    # ...
    gpio -g write $_led_pin 1
    s leep $_action_time
    elif [ $_ret -eq 0 ]
    then
      gpio -g write $_led_pin 0
    fi
  s leep 0.1
done

[ end pir_wiringpi.sh ]

這段代碼大約是使用了相同RPi.GPIO庫的Python3腳本長度的一半,但是更清晰。

您可能會對腳本剛開始的“陷阱”感到困惑—它只是一個shell信號處理程序。如果按下CTRL+C退出正在運行的程序,GPIO狀態將會被清除。

除此之外,該腳本都用于執行相關程序,檢查PIR引腳的讀數是0(0V)還是1(3V3)。如果讀數為0,則沒有任何反應;如果讀數為1,則會在5秒內執行一些新的動作。

這個新的動作究竟是什么完全取決于您!

如果您沒什么想法,可以考慮一下我去年萬圣節想到的反向門鈴。用PIR代替按鈕,用室外擴音器代替室內門鈴(我有一個36W的擴音器,這很棒!)。那么這個裝置什么時候可以派上用場呢?

只是在萬圣節嗎?可以通過拒絕給別人家的孩子糖果來對抗兒童糖尿病!做一個新穎的慈善家!

pYYBAGPy03uAbR05AAAG6J_TkQQ048.jpg

Lasse Efrayim Jespersen

Lasse出生于以色列,后移居到緯度較冷的地區。出于個人天然的興趣愛好,他一步步走近了直接的Perl、高效的C/C++、以及優雅的MicroPython。他非常喜歡用ESP8266/ESP32/Raspberry Pi和Arduino來構建機器。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 檢測
    +關注

    關注

    5

    文章

    4865

    瀏覽量

    94169
  • Raspberry Pi
    +關注

    關注

    2

    文章

    622

    瀏覽量

    24029
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單探頭金屬雙張檢測器 - 雙通道檢測 - 8200S 操作視頻# 雙張檢測器#

    檢測器
    阿童木(廣州)智能科技有限公司
    發布于 :2026年02月04日 13:26:30

    ?基于STEVAL-BLUEPIRV1的藍牙低功耗運動檢測技術解析

    STMicroelectronics STEVAL-BLUEPIRV1無線運動檢測器基于無源紅外 (PIR) 傳感,具有藍牙?低功耗無線連接功能。得益于低功耗和低成本
    的頭像 發表于 10-30 09:32 ?565次閱讀
    ?基于STEVAL-BLUEPIRV1的藍牙低功耗<b class='flag-5'>運動檢測</b>技術解析

    汽車沖壓產線疊料檢測應用--阿童木單探頭金屬雙張檢測器

    檢測器
    阿童木(廣州)智能科技有限公司
    發布于 :2025年08月26日 14:53:36

    如何在 M55M1 系列微控制上以低功耗模式使用運動檢測功能?

    如何在 M55M1 系列微控制上以低功耗模式使用運動檢測功能。根據物體檢測結果,系統將動態啟用或禁用運動檢測塊,以實現最佳性能和能效。
    發表于 08-19 06:56

    雙張檢測器檢測瓶蓋墊片

    檢測器
    阿童木(廣州)智能科技有限公司
    發布于 :2025年08月08日 16:13:39

    表面貼裝混頻/檢測器肖特基二極管 skyworksinc

    電子發燒友網為你提供()表面貼裝混頻/檢測器肖特基二極管相關產品參數、數據手冊,更有表面貼裝混頻/檢測器肖特基二極管的引腳圖、接線圖、封裝手冊、中文資料、英文資料,表面貼裝混頻
    發表于 07-17 18:32
    表面貼裝混頻<b class='flag-5'>器</b>/<b class='flag-5'>檢測器</b>肖特基二極管 skyworksinc

    表面貼裝混頻檢測器肖特基二極管 skyworksinc

    電子發燒友網為你提供()表面貼裝混頻檢測器肖特基二極管相關產品參數、數據手冊,更有表面貼裝混頻檢測器肖特基二極管的引腳圖、接線圖、封裝手冊、中文資料、英文資料,表面貼裝混頻
    發表于 07-17 18:31
    表面貼裝混頻<b class='flag-5'>器</b>和<b class='flag-5'>檢測器</b>肖特基二極管 skyworksinc

    G-sensor運動檢測功能開源:解鎖硬件創新的無限可能!

    G-sensor(重力傳感)作為感知加速度變化的核心技術,如今其運動檢測功能的完整源碼全面開放。開發者可深入內核算法,定制靈敏度和檢測模型,從智能設備到工業監測,這項開源技術為硬件創新提供了
    的頭像 發表于 07-07 10:13 ?1372次閱讀
    G-sensor<b class='flag-5'>運動檢測</b>功能開源:解鎖硬件創新的無限可能!

    帶功率檢測器的 5 GHz 前端模塊 skyworksinc

    電子發燒友網為你提供()帶功率檢測器的 5 GHz 前端模塊相關產品參數、數據手冊,更有帶功率檢測器的 5 GHz 前端模塊的引腳圖、接線圖、封裝手冊、中文資料、英文資料,帶功率檢測器的 5 GHz 前端模塊真值表,帶功率
    發表于 06-19 18:35
    帶功率<b class='flag-5'>檢測器</b>的 5 GHz 前端模塊 skyworksinc

    Analog Devices Inc. ADL5507對數射頻功率檢測器數據手冊

    Analog Devices ADL5507對數射頻功率檢測器設計用于測量10MHz至12GHz頻率范圍內的射頻信號。完整的低功耗寬帶對數ADL5507射頻功率檢測器經過優化,可在55dB動態范圍
    的頭像 發表于 06-06 14:42 ?991次閱讀
    Analog Devices Inc. ADL5507對數射頻功率<b class='flag-5'>檢測器</b>數據手冊

    貿澤開售Raspberry Pi用于嵌入式和IIoT應用的RP2350微控制

    RP2350 微控制。RP2350建立在Raspberry PI RP2040的成功基礎上,旨在以實惠的價格提供更高的性能和安全性,非常適合嵌入式計算和工業物聯網應用。 ? Raspberr
    發表于 05-27 14:50 ?1510次閱讀

    變頻動檢測功能的詳解

    變頻的自動檢測功能,也被稱為“自學習”功能,是矢量控制變頻的一個重要特性。這一功能主要用于自動檢測并設定被控制電動機的相關參數,從而確保變頻
    的頭像 發表于 05-11 17:08 ?1530次閱讀
    變頻<b class='flag-5'>器</b>自<b class='flag-5'>動檢測</b>功能的詳解

    如何在Raspberry Pi OS上安裝SDK?

    Raspberry Pi OS 上安裝 SDK
    發表于 04-30 06:45

    樹莓派制成的 — 帶運動檢測和攝像頭的安防系統

    自動布防/撤防、運動檢測、帶圖片的移動通知項目所用物品硬件組件RaspberryPi1ModelA+一個:任何支持攝像頭模塊的RaspberryPi均可RaspberryPi攝像頭模塊一個
    的頭像 發表于 03-25 09:45 ?820次閱讀
    樹莓派制成的 — 帶<b class='flag-5'>運動檢測</b>和攝像頭的安防系統

    汽車行業專用雙張檢測器防雙張檢測-阿童木金屬雙張檢測器# 汽車#雙料

    檢測器
    阿童木(廣州)智能科技有限公司
    發布于 :2025年03月12日 14:12:32