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

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

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

3天內不再提示

怎樣制作一個簡單的Arduino報警系統(tǒng)

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-12-02 16:27 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

檢測運動,然后以高音調的警報聲和閃爍的燈光嚇跑入侵者。聽起來有趣嗎?當然可以。這是今天的Arduino項目的目標,適合初學者。在進行過程中,我們將完全從頭開始進行測試,以便您可以希望了解所有過程,而不僅僅是安裝我已經完成的工作。

免責聲明:這實際上不會保護您的房屋。

可能會給您妹妹一個令人討厭的沖擊。

您需要:

Arduino

超聲波“ ping”傳感器,我使用的是HC-SR04,PIR會更好,但價格昂貴。可以將ping傳感器秘密地放置在門口中,并且仍然可以執(zhí)行相同的基本工作,并且只需$ 5

壓電蜂鳴器

LED條形燈,其接線與我們以前使用的相同在這個項目中。

在連接該項目時,不要每次都刪除所有內容-繼續(xù)在最后一個塊上進行構建。到“編碼警報系統(tǒng)”部分時,您應該已經將所有零碎的東西連接起來,看起來像這樣:

怎樣制作一個簡單的Arduino報警系統(tǒng)

閃爍的燈光

使用該項目的接線圖連接您的LED燈帶;不要更改引腳,因為我們需要PWM輸出。使用此代碼快速測試您的接線。如果一切順利,您應該具有以下條件:

距離傳感器

在SR04模塊上,您會找到4個引腳。 VCC 和 GND 分別連接至+ 5V電源軌和地。 TRIG 是用于發(fā)送聲納信號的引腳,將其置于引腳6上; ECHO 用于回讀信號(并由此計算距離)-將其放在7上。

事情非常簡單,我們可以使用一個名為NewPing的庫。下載并放置在Arduino的 Library 文件夾中,然后重新啟動IDE,然后繼續(xù)。使用此代碼進行測試;打開串行監(jiān)視器,并確保速度設置為115200波特。運氣好的話,您應該會看到一些距離測量值以很高的速度發(fā)送回給您。您可能會發(fā)現1或2厘米的差異,但這很好。嘗試將手放在傳感器的前面,上下移動以觀察變化的讀數。

代碼應該很容易理解。開始時有一些相關引腳的聲明,包括最大距離-這可能取決于您使用的確切傳感器,但是只要您能夠準確獲得小于1米的讀數,就可以了。

在此測試應用程序的循環(huán)中,我們使用 ping()函數發(fā)出聲納ping,以毫秒為單位取回該值花費了多長時間的值返回。為此,我們使用以 US_ROUNDTRIP_CM 常量構建的NewPing庫,該庫定義移動一厘米需要多少微秒。兩次ping之間還存在50毫秒的延遲,以避免傳感器過載。

壓電式警報

壓電晶體傳感器是一種簡單且便宜的蜂鳴器,我們可以使用PWM引腳3發(fā)出不同的音調。將一根導線連接到引腳3,將一根導線連接到接地導軌–沒關系。

使用此代碼進行測試。

殺死相當討厭且響亮的警報的唯一方法是拔插頭。該代碼解釋起來有些復雜,但是它涉及使用正弦波來產生獨特的聲音。調整數字以使用不同的音調。

編碼警報系統(tǒng)

現在我們已經擁有了拼圖的所有內容,讓我們將它們組合在一起。

繼續(xù)制作一個新的草圖,稱為警報。首先將到目前為止在測試示例中使用的所有變量和引腳定義進行組合。

#include

// Select which PWM-capable pins are to be used.

#define RED_PIN 10

#define GREEN_PIN 11

#define BLUE_PIN 9

#define TRIGGER_PIN 6 // Arduino pin tied to trigger pin on the ultrasonic sensor.

#define ECHO_PIN 7 // Arduino pin tied to echo pin on the ultrasonic sensor.

#define MAX_DISTANCE 100 // Maximum distance we want to ping for (in centimeters)。

#define ALARM 3

float sinVal;

int toneVal;

首先編寫基本的 setup()功能–我們現在只處理燈光。我在主循環(huán)開始前添加了5秒的延遲,以便在需要時給我們一些時間。

void setup(){

//set pinModes for RGB strip

pinMode(RED_PIN,OUTPUT);

pinMode(BLUE_PIN,OUTPUT);

pinMode(GREEN_PIN,OUTPUT);

//reset lights

analogWrite(RED_PIN,0);

analogWrite(BLUE_PIN,0);

analogWrite(RED_PIN,0);

delay(5000);

}

讓我們使用一個幫助函數

//helper function enabling us to send a colour in one command

void color (unsigned char red, unsigned char green, unsigned char blue) // the color generating function

{

analogWrite(RED_PIN, red);

analogWrite(BLUE_PIN, blue);

analogWrite(GREEN_PIN, green);

}

最后,我們的循環(huán)現在將由紅色和黃色之間的簡單彩色閃光組成(或者,無論您希望發(fā)出什么警報,只需更改RGB值即可。

void loop(){

color(255,0,0); //red

delay(100);

color(255,255,0); //yellow

delay(100);

}

上傳并測試以確保您處在正確的軌道上。

現在,讓我們集成距離傳感器,以便僅在有物體進入(例如50厘米)(剛好小于門框的寬度)時才觸發(fā)那些燈。我們已經定義了正確的引腳并導入了庫,因此在您的 setup()函數之前,添加以下行以對其進行實例化:

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

在此之下,添加一個變量以存儲是否觸發(fā)警報,當然默認為false。

boolean triggered = false;

在 setup()函數,以便我們可以監(jiān)視串行輸出和調試。

Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.

接下來,讓我們將當前循環(huán)重命名為 alarm() –如果警報已觸發(fā),將調用此名稱。

void alarm(){

color(255,0,0); //red

delay(100);

color(255,255,0); //yelow

delay(100);

}

現在創(chuàng)建一個新的 loop()函數,一個

void loop(){

if(triggered == true){

alarm();

}

else{

delay(50);// Wait 50ms between pings (about 20 pings/sec)。 29ms should be the shortest delay between pings.

unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS)。

unsigned int distance = uS / US_ROUNDTRIP_CM;

Serial.println(distance);

if(distance 《 100){

triggered = true;

}

}

}

在其中,我們獲取一個新的ping命令,讀取結果,并在出現警報的情況下觸發(fā)警報。 p》

首先檢查是否已觸發(fā)警報,如果已觸發(fā),則關閉警報功能(此時僅閃爍指示燈)。

如果未觸發(fā)但是,仍要從傳感器獲取當前讀數。

如果傳感器的讀數小于100厘米,則說明光束已被填充(顯然,如果觸發(fā)時間過早,請調整此值)。

在添加煩人的壓電蜂鳴器之前,請立即試用。

工作嗎?大?,F在讓我們重新添加蜂鳴器。將 pinMode 添加到 setup()例程中。

pinMode(ALARM, OUTPUT);

然后將壓電蜂鳴器循環(huán)添加到alarm()函數:

for (int x=0; x《180; x++) {

// convert degrees to radians then obtain sin value

sinVal = (sin(x*(3.1412/180)));

// generate a frequency from the sin value

toneVal = 2000+(int(sinVal*1000));

tone(ALARM, toneVal);

}

如果此時嘗試進行編譯,則會遇到錯誤-我故意將其保留,以便您可以看到一些常見的錯誤問題。在這種情況下,NewPing庫和標準音調庫都使用相同的中斷-它們基本上是沖突的,因此您無法做很多修復。哦,親愛的。

不過不用擔心。這是一個常見問題,已經有人解決了,請下載此NewTone并將其添加到Arduino Libraries文件夾中。調整程序的開頭以包括以下內容:

#include

,并調整以下行:

tone(ALARM, toneVal);

NewTone(ALARM, toneVal);

就是這樣。將警報設置在臥室的門口,以防下一個不幸的竊賊。

或者是一只狗,看起來好像完全沒被警報嚇到。

遇到麻煩了代碼?這是完整的應用程序。如果您遇到隨機錯誤,請嘗試將其粘貼在下面,我會幫忙看看。

責任編輯:wv

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

    關注

    190

    文章

    6529

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MC14600:低功耗CMOS報警IC的技術解析

    MC14600:低功耗CMOS報警IC的技術解析 在電子設計領域,報警系統(tǒng)的設計直是重要的
    的頭像 發(fā)表于 04-09 10:00 ?180次閱讀

    小項目看懂 STM32 全部外設

    遍,你就能真正理解它們之間的關系。今天我們就用簡單又完整的案例:“溫度檢測+OLED顯示+串口輸出+按鍵控制+蜂鳴器報警”,
    的頭像 發(fā)表于 01-09 19:04 ?1010次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個</b>小項目看懂 STM32 全部外設

    系統(tǒng)調用和API有什么區(qū)別呢?

    是怎么控制游戲中的人物前進或者后退你根本不需要關心;圖形界面就是計算機給我們提供的“API”,我們只需要簡單的ctrl+c即可copy份文件,至于到底是怎樣拷貝的我們無需關心。 同樣,你的代碼有
    發(fā)表于 12-03 06:52

    校園報警

    報警
    jf_55301954
    發(fā)布于 :2025年11月06日 16:46:52

    4g報警器能不能改成反電魚報警

    4G報警器通過震動脫落磁鐵來感應報警能不能改成感應電流報警應用場景-魚塘水庫 江河湖泊新能源監(jiān)控實時感應報警對于電路完全小白求大佬指點下需
    發(fā)表于 10-31 23:35

    布線復雜、干擾誤報?隔離485總線與云平臺,重塑報警系統(tǒng)穩(wěn)定性

    器的基本工作流程是:感應/觸發(fā) → 處理 → 播報,當與之相連的傳感器或控制系統(tǒng)檢測到異常情況(如煙霧、溫度超標、設備故障、非法入侵)時,會向報警器發(fā)送電信號。
    的頭像 發(fā)表于 10-30 16:51 ?668次閱讀

    報警芯片怎樣選擇?報警器用的什么芯片?報警芯片的主要類型?常見報警芯片推薦?防盜器芯片有哪些?

    選擇報警芯片時,需要根據具體的應用場景、功能需求、成本預算和性能要求進行綜合評估。以下是選擇報警芯片時需要考慮的幾個關鍵因素,幫助你做出更合適的選擇:
    的頭像 發(fā)表于 09-22 18:55 ?696次閱讀
    <b class='flag-5'>報警</b>芯片<b class='flag-5'>怎樣</b>選擇?<b class='flag-5'>報警</b>器用的什么芯片?<b class='flag-5'>報警</b>芯片的主要類型?常見<b class='flag-5'>報警</b>芯片推薦?防盜器芯片有哪些?

    防水淹廠房監(jiān)測報警系統(tǒng)的設計原則

    成都國科自動化GKFC3100系列防水淹廠房監(jiān)測報警系統(tǒng),采用三種不同原理的液位信號器,每種液位信號器根據實際要求配置多個信號,反饋不同液位的信號,性能可靠,可有效防止報警信號誤動作或不動作的情況
    的頭像 發(fā)表于 09-17 16:02 ?729次閱讀
    防水淹廠房監(jiān)測<b class='flag-5'>報警</b><b class='flag-5'>系統(tǒng)</b>的設計原則

    DIY 流體模擬吊墜():理論與第一個吊墜的制作

    件能夠實時運行 FLIP 流體模擬的手工珠寶。外殼鍍金,顯示屏由片表鏡保護。 觀看以下視頻,您可以了解整個設計與制作過程: 簡介 我直想實現
    的頭像 發(fā)表于 09-07 17:49 ?3102次閱讀
    DIY 流體模擬吊墜(<b class='flag-5'>一</b>):理論與第<b class='flag-5'>一個</b>吊墜的<b class='flag-5'>制作</b>

    如何用Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個Arduino IDE不能下載的Arduino
    的頭像 發(fā)表于 08-08 20:16 ?4023次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板給另<b class='flag-5'>一個</b><b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3開發(fā)板重新燒錄引導程序bootlaoder

    如何使用WaveDac8設置簡單的數據采集系統(tǒng),以生成不同持續(xù)時間的脈沖?

    我目前正在嘗試使用 WaveDac8 設置簡單的數據采集系統(tǒng),以生成不同持續(xù)時間的脈沖,并應用于 RC 簡單電路。我成功生成了 250
    發(fā)表于 07-25 07:55

    簡單的串聯(lián)電池組充放電實驗

    文章介紹了電池充放電中的數據采集并簡單階段了電池容量
    的頭像 發(fā)表于 07-03 14:41 ?1922次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的串聯(lián)電池組充放電實驗

    聲光報警器電源線接線時如何確保安全

    聲光報警器工作原理是通過電子電路來實現的。 當報警器被觸發(fā)時,電路會使蜂鳴器發(fā)出聲音,
    的頭像 發(fā)表于 06-30 14:29 ?2303次閱讀

    免費分享Arduino入門+進階(全套例程+書籍)

    Arduino款開源電子原型平臺,由硬件(單片機開發(fā)板)和軟件(編程環(huán)境)組成,旨在讓非專業(yè)用戶也能輕松入門電子制作和編程。它的核心思想是簡化硬件開發(fā),通過直觀的編程和模塊化設計,讓用戶快速實現
    的頭像 發(fā)表于 05-22 11:40 ?1352次閱讀
    免費分享<b class='flag-5'>Arduino</b>入門+進階(全套例程+書籍)

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎知識

    完成電子產品的制作。這就給開源硬件的推廣和普及設定了很高的門檻,電子愛好者需要花很多時間和精力才能開始開發(fā)和
    發(fā)表于 05-13 09:28
    常山县| 都安| 万源市| 章丘市| 绵阳市| 鸡泽县| 曲靖市| 东阿县| 东光县| 台江县| 霍州市| 宜兰市| 东安县| 贺兰县| 保德县| 仪征市| 东乌| 唐山市| 蒙城县| 内乡县| 乌鲁木齐市| 河池市| 新丰县| 康平县| 沾化县| 隆化县| 台北县| 凌云县| 肃宁县| 临澧县| 新巴尔虎右旗| 泗水县| 蚌埠市| 饶阳县| 如皋市| 丹棱县| 兴文县| 如东县| 洛浦县| 滕州市| 通化市|