99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

如何在Arduino上使用PIR運(yùn)動(dòng)檢測(cè)器

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-12-02 16:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

在本課程中,您將學(xué)習(xí)如何在Arduino上使用PIR運(yùn)動(dòng)檢測(cè)器,以及讓Arduino與計(jì)算機(jī)上運(yùn)行的Python程序進(jìn)行通信,以便在檢測(cè)到運(yùn)動(dòng)時(shí)發(fā)送電子郵件thesensor。

Arduino是該項(xiàng)目的核心。它“偵聽(tīng)” PIR傳感器,并在檢測(cè)到運(yùn)動(dòng)時(shí)通過(guò)USB端口指示計(jì)算機(jī)發(fā)送電子郵件。

如何在Arduino上使用PIR運(yùn)動(dòng)檢測(cè)器

零件

要構(gòu)建本課中描述的項(xiàng)目,您將需要以下零件。

您還需要一臺(tái)具有Internet連接的計(jì)算機(jī)(因此您可以通過(guò)它發(fā)送電子郵件)!

Part 數(shù)量

PIR傳感器 1

Arduino Uno R3

1

半面包板 1

跳線束

電路板布局

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

Arduino代碼

只要檢測(cè)到運(yùn)動(dòng),Arduino就會(huì)通過(guò)USB串行連接發(fā)送一條消息。但是,這可能會(huì)產(chǎn)生大量電子郵件。因此,如果Arduino太早就無(wú)法發(fā)送另一個(gè)電子郵件,則它會(huì)發(fā)送不同的消息。

下載:文件

復(fù)制代碼

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”更改為您認(rèn)為合理的值。此處設(shè)置為60秒,因此不會(huì)以超過(guò)一分鐘的速度發(fā)送電子郵件。

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

在循環(huán)中,函數(shù)“ millis()”用于獲取自Arduino啟動(dòng)以來(lái)的毫秒數(shù),并將其與上次觸發(fā)警報(bào)的時(shí)間進(jìn)行比較,并且僅在自上次啟動(dòng)以來(lái)超過(guò)指定的秒數(shù)時(shí)才結(jié)束消息“ MOVEMENT”。否則,即使已檢測(cè)到運(yùn)動(dòng),它也只會(huì)發(fā)送消息“太早了”。

在將內(nèi)容鏈接到Python程序之前,只需在Arduino IDE上打開(kāi)串行監(jiān)視器即可測(cè)試Arduino設(shè)置。

安裝Python和PySerial

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

在Windows上安裝Python

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

此項(xiàng)目是使用Python 2.7.3構(gòu)建的

在Windows上,使用Python 3的PySerial存在一些已報(bào)告的問(wèn)題,因此請(qǐng)堅(jiān)持使用Python 2。

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

我們將向PATH環(huán)境變量中添加一些內(nèi)容。

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

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

要測(cè)試其是否正常,請(qǐng)啟動(dòng)新的命令提示符(DOS Prompt)并輸入命令“ python”。您應(yīng)該會(huì)看到類似這樣的內(nèi)容:

安裝PySerial

無(wú)論您使用什么操作系統(tǒng),請(qǐng)從https://pypi.python.org/pypi/pyserial

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

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

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

下載:文件

復(fù)制代碼

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

無(wú)論您使用什么操作系統(tǒng),其余過(guò)程均相同。使用您的ComamndPrompt/Terminal會(huì)話并“ cd”進(jìn)入pyserial-2.6文件夾,然后運(yùn)行命令:

下載:文件

復(fù)制代碼

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

Python代碼

現(xiàn)在,您需要?jiǎng)?chuàng)建Python程序。為此,請(qǐng)將下面的代碼復(fù)制到一個(gè)名為“ movement.py”的文件中。在Mac/Linux上,您可以使用“ nano”編輯器,在Windows上,使用Python編輯器“ IDLE”來(lái)創(chuàng)建文件可能是最簡(jiǎn)單的,該編輯器可從開(kāi)始菜單的Python程序組中獲得。

下載:文件

復(fù)制代碼

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)

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

程序假定電子郵件是通過(guò)gmail帳戶設(shè)置的。因此,如果您沒(méi)有一個(gè),則即使您只為這個(gè)項(xiàng)目,也可能要自己做一個(gè)。

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

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

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

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

您還需要設(shè)置通過(guò)編輯以下行來(lái)更改Arduino的串行端口:

下載:文件

復(fù)制代碼

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

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

進(jìn)行這些更改后,可以使用以下命令從命令提示符/終端運(yùn)行程序:

下載:文件

復(fù)制代碼

python movement.py python movement.py

觸發(fā)運(yùn)動(dòng)后,您應(yīng)該會(huì)得到這樣的跟蹤,并且在anemail到達(dá)收件箱后不久。

也請(qǐng)注意“ Toosoon”消息。

其他要做的事情

現(xiàn)在,您可以從Arduino發(fā)送電子郵件,這開(kāi)辟了各種各樣的可能性,您可以添加不同類型的傳感器,也許每小時(shí)發(fā)送一次通過(guò)電子郵件發(fā)送溫度報(bào)告。

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

責(zé)任編輯:wv

聲明:本文內(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)投訴
  • 檢測(cè)器
    +關(guān)注

    關(guān)注

    1

    文章

    894

    瀏覽量

    48681
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LPV801 單路、5.5V、8kHz、超低靜態(tài)電流 (450nA)、1.6V 最小電源電壓、RRO 運(yùn)算放大器技術(shù)手冊(cè)

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

    LPV802 雙路、5.5V、8kHz、超低靜態(tài)電流 (320nA)、1.6V 最小電源電壓、RRO 運(yùn)算放大器技術(shù)手冊(cè)

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

    運(yùn)行SCRFD人臉檢測(cè)器,在CPU輸出錯(cuò)誤是怎么回事?

    試圖運(yùn)行 SCRFD 人臉檢測(cè)器 在 CPU 獲得錯(cuò)誤輸出,但 GPU 正確無(wú)誤
    發(fā)表于 03-07 07:55

    開(kāi)源項(xiàng)目!基于Arduino做的“魷魚(yú)游戲”BOSS面具,支持動(dòng)作檢測(cè)

    一個(gè)更穩(wěn)定的電路和原型。 組件包括: Arduino Nano(主控制) DFPlayer MP3模塊(用于聲音) PIR傳感運(yùn)動(dòng)檢測(cè)
    發(fā)表于 10-28 10:18

    使用MSP430掃描接口和光學(xué)傳感進(jìn)行旋轉(zhuǎn)和線性運(yùn)動(dòng)檢測(cè)

    電子發(fā)燒友網(wǎng)站提供《使用MSP430掃描接口和光學(xué)傳感進(jìn)行旋轉(zhuǎn)和線性運(yùn)動(dòng)檢測(cè).pdf》資料免費(fèi)下載
    發(fā)表于 10-22 10:03 ?0次下載
    使用MSP430掃描接口和光學(xué)傳感<b class='flag-5'>器</b>進(jìn)行旋轉(zhuǎn)和線性<b class='flag-5'>運(yùn)動(dòng)檢測(cè)</b>

    使用MSP430F2013進(jìn)行超低功耗運(yùn)動(dòng)檢測(cè)

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

    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ō)明

    采用低于1GHz Simplelink?無(wú)線MCU的無(wú)線運(yùn)動(dòng)檢測(cè)器

    電子發(fā)燒友網(wǎng)站提供《采用低于1GHz Simplelink?無(wú)線MCU的無(wú)線運(yùn)動(dòng)檢測(cè)器.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 11:12 ?0次下載
    采用低于1GHz Simplelink?無(wú)線MCU的無(wú)線<b class='flag-5'>運(yùn)動(dòng)檢測(cè)器</b>

    使用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)檢測(cè)</b>

    使用TLV320ADCx120和PCMx120-Q1中的語(yǔ)音活動(dòng)檢測(cè)器(VAD)

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

    高效液相色譜儀的檢測(cè)器有哪些

    高效液相色譜儀(HPLC)是一種廣泛應(yīng)用于化學(xué)分析、生物醫(yī)藥、環(huán)境監(jiān)測(cè)等領(lǐng)域的分離和檢測(cè)技術(shù)。HPLC的檢測(cè)器是整個(gè)系統(tǒng)的關(guān)鍵部分,它能夠?qū)⑸V柱分離出的組分轉(zhuǎn)化為可測(cè)量的信號(hào),從而實(shí)現(xiàn)對(duì)樣品的定量
    的頭像 發(fā)表于 08-08 10:43 ?3100次閱讀

    熒光檢測(cè)器用的是什么燈光

    熒光檢測(cè)器是一種利用熒光現(xiàn)象進(jìn)行物質(zhì)檢測(cè)的儀器,廣泛應(yīng)用于生物、化學(xué)、醫(yī)學(xué)等領(lǐng)域。熒光檢測(cè)器的核心部件是熒光光源,它為熒光檢測(cè)提供了必要的激發(fā)光。 一、熒光
    的頭像 發(fā)表于 08-08 10:38 ?1709次閱讀

    熒光檢測(cè)器用來(lái)檢測(cè)什么物質(zhì)

    熒光檢測(cè)器是一種利用熒光現(xiàn)象進(jìn)行物質(zhì)檢測(cè)的儀器,廣泛應(yīng)用于化學(xué)、生物學(xué)、醫(yī)學(xué)、環(huán)境科學(xué)等領(lǐng)域。 一、熒光檢測(cè)器的工作原理 熒光檢測(cè)器的工作原理基于熒光現(xiàn)象。熒光是一種特殊的光致發(fā)光現(xiàn)象
    的頭像 發(fā)表于 08-08 10:34 ?1991次閱讀

    電路檢測(cè)器和電流檢測(cè)器的區(qū)別

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

    使用被動(dòng)式紅外傳感運(yùn)動(dòng)檢測(cè)方案

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