日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

如何在Arduino上使用PIR運(yùn)動檢測器

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

掃碼添加小助手

加入工程師交流群

概述

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

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

如何在Arduino上使用PIR運(yùn)動檢測器

零件

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

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

Part 數(shù)量

PIR傳感器 1

Arduino Uno R3

1

半面包板 1

跳線束

電路板布局

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

Arduino代碼

只要檢測到運(yùn)動,Arduino就會通過USB串行連接發(fā)送一條消息。但是,這可能會產(chǎn)生大量電子郵件。因此,如果Arduino太早就無法發(fā)送另一個電子郵件,則它會發(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秒,因此不會以超過一分鐘的速度發(fā)送電子郵件。

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

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

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

安裝Python和PySerial

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

在Windows上安裝Python

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

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

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

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

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

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

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

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

安裝PySerial

無論您使用什么操作系統(tǒng),請從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計算機(jī),然后在下載pyserial-2.6.tar.gz的任何地方打開終端會話“ cd”,然后發(fā)出以下命令來解壓縮安裝文件夾。

下載:文件

復(fù)制代碼

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

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

下載:文件

復(fù)制代碼

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

Python代碼

現(xiàn)在,您需要創(chuàng)建Python程序。為此,請將下面的代碼復(fù)制到一個名為“ movement.py”的文件中。在Mac/Linux上,您可以使用“ nano”編輯器,在Windows上,使用Python編輯器“ IDLE”來創(chuàng)建文件可能是最簡單的,該編輯器可從開始菜單的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?。 ?/p>

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)行一些配置更改。這些都位于文件頂部附近。

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

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

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

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

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

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

下載:文件

復(fù)制代碼

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

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

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

下載:文件

復(fù)制代碼

python movement.py python movement.py

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

也請注意“ Toosoon”消息。

其他要做的事情

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

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

責(zé)任編輯:wv

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

    關(guān)注

    1

    文章

    949

    瀏覽量

    50153
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6529

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    SGM894B電壓檢測器:設(shè)計與應(yīng)用的深度剖析

    SGM894B電壓檢測器:設(shè)計與應(yīng)用的深度剖析 在電子設(shè)計的世界里,電壓檢測器是保障系統(tǒng)穩(wěn)定運(yùn)行的關(guān)鍵組件之一。今天,我們來深入了解SGM894B這款具有可調(diào)延遲時間的電壓檢測器,探討其特性、應(yīng)用以
    的頭像 發(fā)表于 03-24 09:20 ?186次閱讀

    LT5538:高性能RF功率檢測器的深度剖析

    LT5538:高性能RF功率檢測器的深度剖析 在射頻(RF)電路設(shè)計領(lǐng)域,對于RF功率的精確測量和控制是至關(guān)重要的。今天,我們就來深入探討一款功能強(qiáng)大的RF功率檢測器——LT5538,看看它是如何在
    的頭像 發(fā)表于 02-27 15:50 ?450次閱讀

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

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

    松下PaPIRs和PaPIRs+ PIR運(yùn)動傳感:高靈敏度與可靠性之選

    松下PaPIRs和PaPIRs+ PIR運(yùn)動傳感:高靈敏度與可靠性之選 在電子設(shè)備的設(shè)計中,運(yùn)動傳感是實現(xiàn)智能化和自動化的關(guān)鍵組件之一。
    的頭像 發(fā)表于 12-21 17:10 ?1417次閱讀

    ?基于STEVAL-BLUEPIRV1的藍(lán)牙低功耗運(yùn)動檢測技術(shù)解析

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

    汽車零部件沖壓料重疊檢測丨 雙料檢測 丨單雙張檢測應(yīng)用案例合集-阿童木雙張檢測器

    檢測器
    阿童木(廣州)智能科技有限公司
    發(fā)布于 :2025年09月15日 13:48:35

    國產(chǎn)汽車沖壓產(chǎn)線應(yīng)用案例-料重疊檢測解決方案-9000S雙張檢測器

    檢測器
    阿童木(廣州)智能科技有限公司
    發(fā)布于 :2025年08月26日 15:01:55

    何在 M55M1 系列微控制以低功耗模式使用運(yùn)動檢測功能?

    何在 M55M1 系列微控制以低功耗模式使用運(yùn)動檢測功能。根據(jù)物體檢測結(jié)果,系統(tǒng)將動態(tài)啟用或禁用運(yùn)
    發(fā)表于 08-19 06:56

    雙張檢測器檢測瓶蓋墊片

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

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

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

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

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

    G-sensor運(yùn)動檢測功能開源:解鎖硬件創(chuàng)新的無限可能!

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

    用樹莓派實現(xiàn)自動感應(yīng)照明:PIR傳感教程!

    PIR運(yùn)動傳感能夠檢測物體(包括人類和動物)的任何移動。它們大多被用于自動激活的照明系統(tǒng)和防盜報警系統(tǒng)中。任何溫度高于絕對零度的物體都會以紅外輻射的形式散發(fā)
    的頭像 發(fā)表于 06-21 20:32 ?1743次閱讀
    用樹莓派實現(xiàn)自動感應(yīng)照明:<b class='flag-5'>PIR</b>傳感<b class='flag-5'>器</b>教程!

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

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

    變頻動檢測功能的詳解

    變頻的自動檢測功能,也被稱為“自學(xué)習(xí)”功能,是矢量控制變頻的一個重要特性。這一功能主要用于自動檢測并設(shè)定被控制電動機(jī)的相關(guān)參數(shù),從而確保變頻
    的頭像 發(fā)表于 05-11 17:08 ?1868次閱讀
    變頻<b class='flag-5'>器</b>自<b class='flag-5'>動檢測</b>功能的詳解
    灵宝市| 东安县| 建宁县| 萨迦县| 华亭县| 金溪县| 于田县| 云梦县| 酉阳| 长沙县| 个旧市| 涿州市| 建始县| 永定县| 兴业县| 五原县| 类乌齐县| 和平县| 凯里市| 琼中| 腾冲县| 尼木县| 建瓯市| 华容县| 二连浩特市| 拜城县| 教育| 盐亭县| 万荣县| 麟游县| 饶阳县| 旬阳县| 梨树县| 外汇| 平舆县| 舞钢市| 晋宁县| 马尔康县| 巴马| 象州县| 栾川县|