色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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腳本編程指南》,建議所有用戶都安裝該指南??梢栽谝韵挛恢谜业剿?/p>

“/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

    文章

    4492

    瀏覽量

    91513
  • Raspberry Pi
    +關注

    關注

    2

    文章

    559

    瀏覽量

    22284
收藏 人收藏

    評論

    相關推薦

    Raspberry Pi樹莓派新手指南

    電子發燒友網站提供《Raspberry Pi樹莓派新手指南.pdf》資料免費下載
    發表于 12-23 17:05 ?0次下載

    Raspberry Pi Pico 2

    、可選的RISC?V內核、增強的安全特性,以及升級的接口功能。該器件由RP235x微控制平臺提供支持,此平臺也由Raspberry Pi設計。Pico 2將RP2350與4MB板載QSPI閃存配對
    的頭像 發表于 11-25 15:10 ?607次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico 2

    Banana Pi M5 與 Raspberry Pi 4 – 基準測試

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

    使用MSP430掃描接口和光學傳感進行旋轉和線性運動檢測

    電子發燒友網站提供《使用MSP430掃描接口和光學傳感進行旋轉和線性運動檢測.pdf》資料免費下載
    發表于 10-22 10:03 ?0次下載
    使用MSP430掃描接口和光學傳感<b class='flag-5'>器</b>進行旋轉和線性<b class='flag-5'>運動檢測</b>

    使用串行連接通過 Raspberry Pi 增強的 XRP 項目

    指南更為高級。通過本指南,您將能夠將 Raspberry Pi 連接到的 XRP,從而使的 XRP 項目更上一層樓。 傳輸數據: 在 Raspb
    的頭像 發表于 10-02 15:28 ?261次閱讀
    使用串行連接通過 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 增強<b class='flag-5'>您</b>的 XRP 項目

    MSP430FR2355上集成智能模擬的PIR運動檢測器應用說明

    電子發燒友網站提供《MSP430FR2355上集成智能模擬的PIR運動檢測器應用說明.pdf》資料免費下載
    發表于 09-14 11:07 ?0次下載
    MSP430FR2355上集成智能模擬的PIR<b class='flag-5'>運動檢測器</b>應用說明

    采用低于1GHz Simplelink?無線MCU的無線運動檢測器

    電子發燒友網站提供《采用低于1GHz Simplelink?無線MCU的無線運動檢測器.pdf》資料免費下載
    發表于 09-02 11:12 ?0次下載
    采用低于1GHz Simplelink?無線MCU的無線<b class='flag-5'>運動檢測器</b>

    使用MSPM0進行PIR運動檢測

    電子發燒友網站提供《使用MSPM0進行PIR運動檢測.pdf》資料免費下載
    發表于 08-29 11:38 ?0次下載
    使用MSPM0進行PIR<b class='flag-5'>運動檢測</b>

    使用TLV320ADCx120和PCMx120-Q1中的語音活動檢測器(VAD)

    電子發燒友網站提供《使用TLV320ADCx120和PCMx120-Q1中的語音活動檢測器(VAD).pdf》資料免費下載
    發表于 08-29 09:56 ?0次下載
    使用TLV320ADCx120和PCMx120-Q1中的語音活<b class='flag-5'>動檢測器</b>(VAD)

    使用被動式紅外傳感運動檢測方案

    本文首先討論運動檢測的基本原理,然后展示開發者如何使用與 Microchip DM080104 ATtiny 1627 Curiosity Nano 連接的 PIR 進行運動檢測。最后,介紹一種可
    的頭像 發表于 07-18 10:32 ?674次閱讀
    使用被動式紅外傳感<b class='flag-5'>器</b>的<b class='flag-5'>運動檢測</b>方案

    微功率磁感應檢測)技術的庫門異動檢測器產品優勢

    雙模地磁檢測器 一類用于PIS和PDS應用的一體化NB-IoT無線地磁感應檢測器,在地磁算法的基礎上,結合超低功耗雷達識別技術,進一步提高檢測器的識別準確率。雙模地磁車位檢測器IDM-
    發表于 07-10 09:01

    微波移動檢測器對人體有影響嗎

    、微波移動檢測器的工作原理 微波移動檢測器的工作原理是利用微波信號的反射特性來檢測物體的運動。當微波信號遇到物體時,部分信號會被反射回來,而另一部分信號則會被物體吸收。通過分析反射回來
    的頭像 發表于 05-27 16:11 ?842次閱讀

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

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

    震驚!居然有人給 Raspberry Pi 5 做 X 射線!

    ? Jeff Geerling 會做一些莫名其妙的怪事,比如用信鴿來對抗網速,不過這也是我們喜歡他視頻的原因。最近,杰夫對 Raspberry Pi 5 進行了 X 光透視,揭示了
    的頭像 發表于 01-10 16:42 ?492次閱讀
    震驚!居然有人給 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 5 做 X 射線!

    微功率磁感應檢測技術的庫門異動檢測器檢測原理

    倉門開關檢測基于MP-AMR(微功率磁感應檢測)技術的庫門異動檢測器, 5G/NB-IoT網絡倉門開關檢測是可在糧庫監測場景下,在設定ROI區域內,通過
    的頭像 發表于 01-08 09:50 ?496次閱讀
    微功率磁感應<b class='flag-5'>檢測</b>技術的庫門異<b class='flag-5'>動檢測器</b><b class='flag-5'>檢測</b>原理
    主站蜘蛛池模板: S货SAO死你BL大点声叫BL| 国产精品久久久久影院嫩草| 好大好爽CAO死我了BL| 亚洲人视频在线观看| 久久怡红院国产精品| 99久久蜜臀AV免费看蛮| 色偷偷男人天堂| 国产综合欧美区在线| 自拍视频亚洲综合在线精品| 秋霞午夜一级理论片久久| 国产精品成人A蜜柚在线观看 | 全身无赤裸裸美女网站| 国产激情视频在线| 在线亚洲免费| 三级黄在线| 性感尼姑风流寺| 久久伊人天堂视频网| 第一次破女视频出血视频| 野花日本免费完整版高清版动漫 | 欧美午夜精品久久久久久浪潮| 国产360激情盗摄全集| 综合亚洲桃色第一影院| 偷拍国产精品在线播放| 国产精品ⅴ视频免费观看| 伊人精品久久久大香线蕉99| 热99RE久久精品国产| 久久受www免费人成_看片中文| 国产传媒精品1区2区3区| 748亚洲大胆国模人体| 亚洲 欧美 另类 中文 在线| 欧美久久综合网| 久久九九亚洲精品| 国产日韩精品SUV| proburn中文破解版下载| 影音先锋影院中文无码| 午夜福利体验试看120秒| 欧美日韩视频高清一区| 久久国产精品久久国产精品| 国产精品热久久高潮AV袁孑怡| 99re6热这里在线精品视频| 亚洲色欲色欲无码AV|