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

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

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

振動傳感器與Arduino UNO連接的教程

科技觀察員 ? 來源:circuitdigest ? 作者:Sourav Gupta ? 2022-09-06 15:22 ? 次閱讀

有幾臺關(guān)鍵機(jī)器或昂貴的設(shè)備會因振動而損壞。在這種情況下,需要一個(gè)振動傳感器來確定機(jī)器或設(shè)備是否產(chǎn)生振動。如果使用適當(dāng)?shù)膫鞲衅鱽?a target="_blank">檢測振動,那么識別持續(xù)振動的物體并不是一件棘手的工作。市場上有幾種類型的振動傳感器可以通過感應(yīng)加速度或速度來檢測振動,并且可以提供出色的結(jié)果。然而,在使用加速度計(jì)的情況下,這種傳感器過于昂貴。加速度計(jì)非常靈敏,可用于制作地震探測器電路。 但是,也很少有專用且廉價(jià)的傳感器可用于僅檢測振動,其中一種振動傳感器是 SW-420,我們將與 Arduino Uno 接口

所以在這個(gè)項(xiàng)目中,一個(gè)基本的振動傳感器模塊與流行的 Arduino UNO 接口,每當(dāng)振動傳感器檢測到任何振動或抖動時(shí),一個(gè) LED 就會開始閃爍。

振動傳感器模塊 SW-420

poYBAGMW9HOAPIwZAAJpoJBulek791.png

這是一個(gè)SW-420振動模塊,可以工作在3.3V到5V之間。傳感器使用 LM393 比較器檢測超過閾值點(diǎn)的振動并提供數(shù)字?jǐn)?shù)據(jù),邏輯低或邏輯高,0 或 1。在正常工作期間,傳感器提供邏輯低,當(dāng)檢測到振動時(shí),傳感器提供邏輯高。模塊中提供三個(gè)外圍設(shè)備,兩個(gè) LED,一個(gè)用于電源狀態(tài),另一個(gè)用于傳感器輸出。此外,還提供了一個(gè)電位器,可進(jìn)一步用于控制振動的閾值點(diǎn)。在本項(xiàng)目中,我們將使用 5V 為模塊供電

所需組件

Arduino UNO

SW-420 振動傳感器模塊

5mm LED(任何顏色)

跳線(連接線)

上傳程序的 USB 數(shù)據(jù)線

Arduino振動傳感器電路圖

下面給出了將振動傳感器與 Arduino uno 連接的示意圖 。

pYYBAGMW9G-ANug9AABiSoHanuU338.png

LED 連接在 D13 引腳上。該模塊使用 Arduino 中可用的 5V 引腳供電。接地和 5V 引腳用于為 Arduino 供電,而 A5 引腳用于從振動傳感器獲取數(shù)據(jù)。

該電路是在 SW-420 模塊和 LED 與 Arduino Uno 連接的地方構(gòu)建的。

poYBAGMW9GyAOKwuAAFfFiFMhIs578.png

Arduino Uno 振動傳感器編程

將 Arduino UNO 編程為接口振動傳感器不需要太多努力,因?yàn)橹恍璞O(jiān)控輸入引腳即可得出結(jié)論。最后附上完整的代碼和工作視頻

最初包含頭文件。由于本教程是在帶有 Arduino 擴(kuò)展的 Eclipse IDE 中編寫的,因此包含了 arduino 標(biāo)頭。此草圖也適用于 Arduino IDE,在 Arduino IDE 中使用此草圖時(shí),無需包含 標(biāo)頭。

#include 

這里為 ON 和 OFF 定義了兩個(gè)宏。

#define 開 1 
#define 關(guān) 0

以下語句用于集成 LED 和振動傳感器。振動傳感器連接到引腳 A5。還使用了內(nèi)置 LED,它直接連接到板子中的引腳 13。5mm LED 也連接到引腳 13。

/* 
* 引腳說明
*/ 
intvibration_Sensor = A5; 
整數(shù) LED = 13;

聲明了兩個(gè)整數(shù),其中傳感器當(dāng)前輸出和先前輸出將被存儲,這將進(jìn)一步用于檢測是否發(fā)生振動。

/* 
* 程序流程描述
*/ 
int present_condition = 0; 
int previous_condition = 0;

聲明為外圍連接的同一引腳,配置引腳的方向。傳感器引腳作為輸入,LED 引腳作為輸出。

/* 
* 引腳模式設(shè)置
*/ 
void setup() { 
            pinMode(vibration_Sensor, INPUT); 
            pinMode(LED,輸出);     
}

編寫了一個(gè)函數(shù)以使 LED 閃爍兩次??梢酝ㄟ^更改延遲值來配置延遲。

無效 led_blink(void) { 
            digitalWrite(LED, ON); 
            延遲(250);
            數(shù)字寫入(LED,關(guān)閉);
            延遲(250);
            數(shù)字寫入(LED,開);
            延遲(250);
            數(shù)字寫入(LED,關(guān)閉);
            延遲(250);
}

在循環(huán)函數(shù)中,比較當(dāng)前條件和先前條件。如果這兩個(gè)不相同,則LED 開始閃爍,直到兩者相同。啟動時(shí),兩個(gè)變量保持 0,程序啟動期間 LED 保持熄滅。當(dāng)有一些 virbraion 時(shí),present_condition變量變?yōu)?1 并導(dǎo)致開始閃爍。當(dāng)振動停止時(shí),兩個(gè)變量都變?yōu)?0,LED 停止閃爍。

無效循環(huán)(){
            前一個(gè)條件=現(xiàn)在條件;
            present_condition = digitalRead(A5); // 從 Arduino 的 A5 引腳讀取數(shù)字?jǐn)?shù)據(jù)。
            if (previous_condition != present_condition) { 
                       led_blink();

            } 其他 {
                       數(shù)字寫入(LED,關(guān)閉);
            } 
}

這樣就完成了使用振動傳感器對 arduino UNO 的編程。最后一步是測試整個(gè)設(shè)置。

測試 Arduino 振動傳感器電路

該電路不需要額外的面包板??梢允褂?Arduino UNO 板對其進(jìn)行簡單測試。當(dāng)振動傳感器被擊中或它是否改變其狀態(tài)時(shí),會監(jiān)控 LED。當(dāng)有一些振動時(shí),LED 將閃爍連接到 Arduino UNO 的 Pin 13。如果振動傳感器不起作用,請檢查連接和電源。避免傳感器和微控制器之間的任何松散連接。
/*//=============================================== =================================//

* 與 Arduino 接口的振動傳感器

* 日期: - 15-04-2019

* 作者:- 蘇拉夫古普塔

* 對于:- circuitdigest.com

*/ //=============================================== ================================//

#include

#include



#define ON 1

#define 關(guān)閉 0



/*

* 引腳說明

*/

int 振動傳感器 = A5;

整數(shù) LED = 13;



/*

* 程序流程說明

*/

int present_condition = 0;

int previous_condition = 0;



/*

* 引腳模式設(shè)置

*/

無效設(shè)置(){

pinMode(振動傳感器,輸入);

pinMode(LED,輸出);

}



/*

* LED 閃爍

*/

無效led_blink(無效);



/*

* 主循環(huán)

*/



無效循環(huán)(){

以前的條件=現(xiàn)在的條件;

present_condition = digitalRead(A5); // 從 Arduino 的 A5 引腳讀取數(shù)字?jǐn)?shù)據(jù)。



if (previous_condition != present_condition) {

led_blink();



} 別的 {

數(shù)字寫入(LED,關(guān)閉);

}

}



無效led_blink(無效){

數(shù)字寫入(LED,開);

延遲(250);

數(shù)字寫入(LED,關(guān)閉);

延遲(250);

數(shù)字寫入(LED,開);

延遲(250);

數(shù)字寫入(LED,關(guān)閉);

延遲(250);

}

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

    關(guān)注

    240

    文章

    23071

    瀏覽量

    657076
  • 振動傳感器
    +關(guān)注

    關(guān)注

    2

    文章

    321

    瀏覽量

    19772
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6458

    瀏覽量

    186504
收藏 人收藏

    評論

    相關(guān)推薦

    轉(zhuǎn):開源基于Arduino的空氣檢測傳感器設(shè)計(jì)方案

    上傳 對于此,利用一個(gè)空氣監(jiān)測傳感器搭配Arduino控制和擴(kuò)展板,就搭建出一個(gè)簡易空氣監(jiān)測裝置,這樣就可以時(shí)刻了解呼吸的空氣質(zhì)量了! 硬件材料:1. 粉塵傳感器2. DFRdu
    發(fā)表于 08-05 10:24

    arduino UNO采集多個(gè)姿態(tài)傳感器信息

    我想用arduino 同時(shí)采集4個(gè)姿態(tài)傳感器的數(shù)據(jù),但是UNO只有一個(gè)串口,請問一下怎么擴(kuò)展呢?1316883352這是我的qq,如果大神有方案,麻煩加我一下,萬分感謝
    發(fā)表于 04-09 16:23

    帶有超聲波傳感器和LCD顯示屏的Arduino uno shield

    描述帶有超聲波傳感器和 LCD 顯示屏的 Arduino uno shieldPCB
    發(fā)表于 08-10 07:01

    帶有Arduino的Flex傳感器的制作

    有柔性傳感器上有2個(gè)引腳,其中一個(gè)連接arduino上的3.3V或5V供電,另一個(gè)連接到地。但是還有更多-接地連接已斷開,一根線
    的頭像 發(fā)表于 10-14 09:37 ?5559次閱讀

    如何與ARDUINO一起使用振動傳感器

    如果為Arduino UNO模塊供電,則蜂鳴器將發(fā)出蜂鳴聲,LED指示燈將亮起。搖動振動傳感器時(shí)會閃爍。
    的頭像 發(fā)表于 10-08 09:47 ?9193次閱讀

    帶有超聲波傳感器和LCD顯示屏的Arduino uno shield

    電子發(fā)燒友網(wǎng)站提供《帶有超聲波傳感器和LCD顯示屏的Arduino uno shield.zip》資料免費(fèi)下載
    發(fā)表于 07-26 09:37 ?0次下載
    帶有超聲波<b class='flag-5'>傳感器</b>和LCD顯示屏的<b class='flag-5'>Arduino</b> <b class='flag-5'>uno</b> shield

    霍爾傳感器Arduino UNO接口及示例代碼

    霍爾傳感器應(yīng)用非常廣泛,本文以A3144開關(guān)型霍爾傳感器為例,介紹霍爾效應(yīng)傳感器以及A3144與Arduino UNO
    的頭像 發(fā)表于 08-01 09:14 ?5329次閱讀
    霍爾<b class='flag-5'>傳感器</b>與<b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>接口及示例代碼

    Arduino uno與PIR運(yùn)動傳感器連接

    電子發(fā)燒友網(wǎng)站提供《將Arduino uno與PIR運(yùn)動傳感器連接.zip》資料免費(fèi)下載
    發(fā)表于 10-21 10:34 ?0次下載
    將<b class='flag-5'>Arduino</b> <b class='flag-5'>uno</b>與PIR運(yùn)動<b class='flag-5'>傳感器</b><b class='flag-5'>連接</b>

    使用超聲波傳感器HC SR04和Arduino Uno制作超聲波距離傳感器

    電子發(fā)燒友網(wǎng)站提供《使用超聲波傳感器HC SR04和Arduino Uno制作超聲波距離傳感器.zip》資料免費(fèi)下載
    發(fā)表于 10-31 09:35 ?1次下載
    使用超聲波<b class='flag-5'>傳感器</b>HC SR04和<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>制作超聲波距離<b class='flag-5'>傳感器</b>

    使用Arduino Uno和PIR傳感器的社交距離項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《使用Arduino Uno和PIR傳感器的社交距離項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 11-15 10:21 ?0次下載
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>和PIR<b class='flag-5'>傳感器</b>的社交距離項(xiàng)目

    帶有arduino uno的超聲波傳感器

    電子發(fā)燒友網(wǎng)站提供《帶有arduino uno的超聲波傳感器.zip》資料免費(fèi)下載
    發(fā)表于 11-29 11:39 ?0次下載
    帶有<b class='flag-5'>arduino</b> <b class='flag-5'>uno</b>的超聲波<b class='flag-5'>傳感器</b>

    Arduino Uno接口超聲波傳感器開源

    電子發(fā)燒友網(wǎng)站提供《與Arduino Uno接口超聲波傳感器開源.zip》資料免費(fèi)下載
    發(fā)表于 11-30 09:28 ?1次下載
    與<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>接口超聲波<b class='flag-5'>傳感器</b>開源

    使用Arduino Uno制作溫度和濕度傳感器

    電子發(fā)燒友網(wǎng)站提供《使用Arduino Uno制作溫度和濕度傳感器.zip》資料免費(fèi)下載
    發(fā)表于 02-02 16:49 ?1次下載
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b>制作溫度和濕度<b class='flag-5'>傳感器</b>

    如何將超聲波傳感器Arduino Uno連接

    電子發(fā)燒友網(wǎng)站提供《如何將超聲波傳感器Arduino Uno連接.zip》資料免費(fèi)下載
    發(fā)表于 02-03 14:14 ?0次下載
    如何將超聲波<b class='flag-5'>傳感器</b>與<b class='flag-5'>Arduino</b> <b class='flag-5'>Uno</b><b class='flag-5'>連接</b>

    Arduino UNO和帶繼電器的振動傳感器

    電子發(fā)燒友網(wǎng)站提供《Arduino UNO和帶繼電器的振動傳感器.zip》資料免費(fèi)下載
    發(fā)表于 07-05 14:38 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>UNO</b>和帶繼電器的<b class='flag-5'>振動</b><b class='flag-5'>傳感器</b>