在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何在Arduino上使用PIR運動檢測器

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-12-02 16:57 ? 次閱讀

概述

在本課程中,您將學習如何在Arduino上使用PIR運動檢測器,以及讓Arduino與計算機上運行的Python程序進行通信,以便在檢測到運動時發送電子郵件thesensor。

Arduino是該項目的核心。它“偵聽” PIR傳感器,并在檢測到運動時通過USB端口指示計算機發送電子郵件。

如何在Arduino上使用PIR運動檢測器

零件

要構建本課中描述的項目,您將需要以下零件。

您還需要一臺具有Internet連接的計算機(因此您可以通過它發送電子郵件)!

Part 數量

PIR傳感器 1

Arduino Uno R3

1

半面包板 1

跳線束

電路板布局

您要連接到Arduino的唯一東西是PIR傳感器,因此,如果您愿意,只需將連接到PIR傳感器的電線直接推入Arduino,就可以了。但是,來自傳感器的電線在Arduino插座中有點松動,因此最好使用下面的面包板布局。

Arduino代碼

只要檢測到運動,Arduino就會通過USB串行連接發送一條消息。但是,這可能會產生大量電子郵件。因此,如果Arduino太早就無法發送另一個電子郵件,則它會發送不同的消息。

下載:文件

復制代碼

int pirPin = 7;

int minSecsBetweenEmails = 60; // 1 min

long lastSend = -minSecsBetweenEmails * 1000l;

void setup()

{

pinMode(pirPin, INPUT);

Serial.begin(9600);

}

void loop()

{

long now = millis();

if (digitalRead(pirPin) == HIGH)

{

if (now 》 (lastSend + minSecsBetweenEmails * 1000l))

{

Serial.println(“MOVEMENT”);

lastSend = now;

}

else

{

Serial.println(“Too soon”);

}

}

delay(500);

} int pirPin = 7;

int minSecsBetweenEmails = 60; // 1 min

long lastSend = -minSecsBetweenEmails * 1000l;

void setup()

{

pinMode(pirPin, INPUT);

Serial.begin(9600);

}

void loop()

{

long now = millis();

if (digitalRead(pirPin) == HIGH)

{

if (now 》 (lastSend + minSecsBetweenEmails * 1000l))

{

Serial.println(“MOVEMENT”);

lastSend = now;

}

else

{

Serial.println(“Too soon”);

}

}

delay(500);

}

可以將變量“ minSecsBetweenEmails”更改為您認為合理的值。此處設置為60秒,因此不會以超過一分鐘的速度發送電子郵件。

為跟蹤上次發送電子郵件發送請求的時間,使用了變量“ lastSend” 。初始化為負數,該負數等于“ minSecsBetweenEmails”變量中指定的毫秒數的負數。這確保了可以在Arduino草圖啟動后立即觸發PIR。

在循環中,函數“ millis()”用于獲取自Arduino啟動以來的毫秒數,并將其與上次觸發警報的時間進行比較,并且僅在自上次啟動以來超過指定的秒數時才結束消息“ MOVEMENT”。否則,即使已檢測到運動,它也只會發送消息“太早了”。

在將內容鏈接到Python程序之前,只需在Arduino IDE上打開串行監視器即可測試Arduino設置。

安裝Python和PySerial

如果您使用的是Macor Linux計算機,則已經安裝了Python。如果您使用的是Windows,則需要安裝它。無論哪種情況,您都還需要安裝PySerial庫以允許與Arduino通信。

在Windows上安裝Python

要在Windows上安裝Python,請從http://www.python.org/getit/下載安裝程序。

此項目是使用Python 2.7.3構建的

在Windows上,使用Python 3的PySerial存在一些已報告的問題,因此請堅持使用Python 2。

一旦安裝了Python,您會在“開始”菜單上找到一個新的程序組。但是,我們將對Windows進行更改,以允許您使用命令提示符中的Python。您將需要此文件才能安裝PySerial。

我們將向PATH環境變量中添加一些內容。

為此,您需要轉到Windows“控制”面板并找到“系統屬性”控件。然后單擊標記為“環境變量”的按鈕,然后在彈出的窗口的底部選擇“路徑”(系統變量)。單擊“編輯”,然后在“變量值”末尾而不刪除已有的任何文本,添加文本:; C: Python27

Don不要忘記“;”在新位之前!

要測試其是否正常,請啟動新的命令提示符(DOS Prompt)并輸入命令“ python”。您應該會看到類似這樣的內容:

安裝PySerial

無論您使用什么操作系統,請從https://pypi.python.org/pypi/pyserial

下載PySerial 2.6的.tar.gz安裝包。這將為您提供一個名為pyserial-2.6.tar.gz

如果使用的是Windows,則需要將其解壓縮到文件夾中。不幸的是,這不是正常的zip文件,因此您可能需要下載7-zip(http://www.7-zip.org/)之類的工具。

如果您使用的是Macor Linux計算機,然后在下載pyserial-2.6.tar.gz的任何地方打開終端會話“ cd”,然后發出以下命令來解壓縮安裝文件夾。

下載:文件

復制代碼

$ tar -xzf pyserial-2.6.tar.gz $ tar -xzf pyserial-2.6.tar.gz

無論您使用什么操作系統,其余過程均相同。使用您的ComamndPrompt/Terminal會話并“ cd”進入pyserial-2.6文件夾,然后運行命令:

下載:文件

復制代碼

sudo python setup.py install sudo python setup.py install

Python代碼

現在,您需要創建Python程序。為此,請將下面的代碼復制到一個名為“ movement.py”的文件中。在Mac/Linux上,您可以使用“ nano”編輯器,在Windows上,使用Python編輯器“ IDLE”來創建文件可能是最簡單的,該編輯器可從開始菜單的Python程序組中獲得。

下載:文件

復制代碼

import time

import serial

import smtplib

TO = ‘[email protected]’

GMAIL_USER = ‘[email protected]’

GMAIL_PASS = ‘putyourpasswordhere’

SUBJECT = ‘Intrusion!!’

TEXT = ‘Your PIR sensor detected movement’

ser = serial.Serial(‘COM4’, 9600)

def send_email():

print(“Sending Email”)

smtpserver = smtplib.SMTP(“smtp.gmail.com”,587)

smtpserver.ehlo()

smtpserver.starttls()

smtpserver.ehlo

smtpserver.login(GMAIL_USER, GMAIL_PASS)

header = ‘To:’ + TO + ‘ ’ + ‘From: ’ + GMAIL_USER

header = header + ‘ ’ + ‘Subject:’ + SUBJECT + ‘ ’

print header

msg = header + ‘ ’ + TEXT + ‘ ’

smtpserver.sendmail(GMAIL_USER, TO, msg)

smtpserver.close()

while True:

message = ser.readline()

print(message)

if message[0] == ‘M’ :

send_email()

time.sleep(0.5)

import time

import serial

import smtplib

TO = ‘[email protected]’

GMAIL_USER = ‘[email protected]’

GMAIL_PASS = ‘putyourpasswordhere’

SUBJECT = ‘Intrusion!!’

TEXT = ‘Your PIR sensor detected movement’

ser = serial.Serial(‘COM4’, 9600)

def send_email():

print(“Sending Email”)

smtpserver = smtplib.SMTP(“smtp.gmail.com”,587)

smtpserver.ehlo()

smtpserver.starttls()

smtpserver.ehlo

smtpserver.login(GMAIL_USER, GMAIL_PASS)

header = ‘To:’ + TO + ‘ ’ + ‘From: ’ + GMAIL_USER

header = header + ‘ ’ + ‘Subject:’ + SUBJECT + ‘ ’

print header

msg = header + ‘ ’ + TEXT + ‘ ’

smtpserver.sendmail(GMAIL_USER, TO, msg)

smtpserver.close()

while True:

message = ser.readline()

print(message)

if message[0] == ‘M’ :

send_email()

time.sleep(0.5)

在運行Python程序之前,需要進行一些配置更改。這些都位于文件頂部附近。

程序假定電子郵件是通過gmail帳戶設置的。因此,如果您沒有一個,則即使您只為這個項目,也可能要自己做一個。

將“ TO”旁邊的電子郵件地址更改為要接收通知的電子郵件。

這不必是您的電子郵件地址。

將“ GMAIL_USER”旁邊的電子郵件地址更改為您的gmailaddress電子郵件地址,并將下一行的密碼更改為該密碼

如果需要,還可以在隨后的幾行上更改要發送的郵件的主題行和文本。

您還需要設置通過編輯以下行來更改Arduino的串行端口:

下載:文件

復制代碼

ser = serial.Serial(‘COM4’, 9600) ser = serial.Serial(‘COM4’, 9600)

對于Windows,這將類似于Mac和Linux上的“ COM4”,而類似于“/dev/tty”。 usbmodem621”。您可以通過打開Arduino IDE并在右下角找到它,它會向您顯示連接到Arduino的端口。

進行這些更改后,可以使用以下命令從命令提示符/終端運行程序:

下載:文件

復制代碼

python movement.py python movement.py

觸發運動后,您應該會得到這樣的跟蹤,并且在anemail到達收件箱后不久。

也請注意“ Toosoon”消息。

其他要做的事情

現在,您可以從Arduino發送電子郵件,這開辟了各種各樣的可能性,您可以添加不同類型的傳感器,也許每小時發送一次通過電子郵件發送溫度報告。

PIR傳感器可以直接與Arduino一起使用,以發出警告音或打開LED

責任編輯:wv

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

    關注

    1

    文章

    888

    瀏覽量

    48489
  • Arduino
    +關注

    關注

    189

    文章

    6493

    瀏覽量

    190283
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    LPV801 單路、5.5V、8kHz、超低靜態電流 (450nA)、1.6V 最小電源電壓、RRO 運算放大器技術手冊

    ,可最大限度降低運行電池壽命至關重要的設備(如 CO 檢測器、煙霧檢測器PIR 運動檢測器)消耗的功率。
    的頭像 發表于 05-01 16:00 ?292次閱讀
    LPV801 單路、5.5V、8kHz、超低靜態電流 (450nA)、1.6V 最小電源電壓、RRO 運算放大器技術手冊

    LPV802 雙路、5.5V、8kHz、超低靜態電流 (320nA)、1.6V 最小電源電壓、RRO 運算放大器技術手冊

    ,可最大限度降低運行電池壽命至關重要的設備(如 CO 檢測器、煙霧檢測器PIR 運動檢測器)消耗的功率。
    的頭像 發表于 04-24 14:10 ?289次閱讀
    LPV802 雙路、5.5V、8kHz、超低靜態電流 (320nA)、1.6V 最小電源電壓、RRO 運算放大器技術手冊

    運行SCRFD人臉檢測器,在CPU輸出錯誤是怎么回事?

    試圖運行 SCRFD 人臉檢測器 在 CPU 獲得錯誤輸出,但 GPU 正確無誤
    發表于 03-07 07:55

    開源項目!基于Arduino做的“魷魚游戲”BOSS面具,支持動作檢測

    一個更穩定的電路和原型。 組件包括: Arduino Nano(主控制) DFPlayer MP3模塊(用于聲音) PIR傳感運動檢測
    發表于 10-28 10:18

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

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

    使用MSP430F2013進行超低功耗運動檢測

    電子發燒友網站提供《使用MSP430F2013進行超低功耗運動檢測.pdf》資料免費下載
    發表于 10-22 09:29 ?0次下載
    使用MSP430F2013進行超低功耗<b class='flag-5'>運動檢測</b>

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

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

    高效液相色譜儀的檢測器有哪些

    高效液相色譜儀(HPLC)是一種廣泛應用于化學分析、生物醫藥、環境監測等領域的分離和檢測技術。HPLC的檢測器是整個系統的關鍵部分,它能夠將色譜柱分離出的組分轉化為可測量的信號,從而實現對樣品的定量
    的頭像 發表于 08-08 10:43 ?2854次閱讀

    電路檢測器和電流檢測器的區別

    1. 引言 電路檢測器和電流檢測器是電子工程中常用的工具,它們幫助工程師和技術人員診斷和監測電子設備的性能。 2. 電路檢測器 定義和功能 :電路檢測器是一種用于
    的頭像 發表于 07-19 16:34 ?1886次閱讀

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

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

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

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

    基于PIR傳感的電路圖 帶ArduinoPIR傳感設計

    PIR傳感,全稱“Passive Infrared Sensor”,又稱“人體紅外線傳感”,是一種能夠探測人體熱量的電子元件。它通過檢測周圍環境中的紅外線輻射來感知人體的存在,因此
    的頭像 發表于 07-03 18:02 ?4347次閱讀
    基于<b class='flag-5'>PIR</b>傳感<b class='flag-5'>器</b>的電路圖 帶<b class='flag-5'>Arduino</b>的<b class='flag-5'>PIR</b>傳感<b class='flag-5'>器</b>設計
    主站蜘蛛池模板: 天天做天天爱天天射 | 日本黄页网 | 亚洲乱码一二三四区 | 兔费看全黄三级 | 99久久国产免费 - 99久久国产免费 | 美女h片| 国产精品福利午夜h视频 | 国产精品露脸脏话对白 | 国产免费成人在线视频 | 欧美四虎 | 狠狠色噜噜狠狠狠狠97影音先锋 | 电影天堂在线观看三级 | 黄色小视频免费看 | 在线免费黄色 | 国产三级香港三级人妇 | 日本小视频免费 | 国产婷婷综合丁香亚洲欧洲 | 免费观看在线观看 | avtt天堂网 手机资源 | 亚洲欧美一区二区三区另类 | 99久久香蕉国产综合影院 | 啪啪网站色大全免费 | 美女屁屁免费视频网站 | 1024 在线观看视频免费 | 性满足久久久久久久久 | 国产网站免费看 | 日本一区二区三区不卡在线视频 | 欧美videosex性欧美成人 | 亚洲乱码一二三四区 | 好吊操免费视频 | 可以免费观看的一级毛片 | 四虎免费影院在线播放 | 天天色天天摸 | 高清欧美日本视频免费观看 | 亚洲色图激情 | 婷婷亚洲综合五月天在线 | 欧美特级生活片 | 亚洲电影av | 黄色特级录像 | 国产色婷婷亚洲 | 亚洲一级香蕉视频 |