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

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

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

使用Arduino中斷功能檢測(cè)霍爾傳感器附近磁鐵的教程

科技觀察員 ? 來源:circuitdigest ? 作者:阿斯文斯·拉吉 ? 2022-11-25 16:22 ? 次閱讀

在本教程中,我們將使用 Arduino 的中斷功能來檢測(cè)霍爾傳感器附近的磁鐵并發(fā)光 LED。大多數(shù)情況下,霍爾傳感器將僅與中斷一起使用,因?yàn)樗鼈兊膽?yīng)用需要高讀取和執(zhí)行速度,因此讓我們?cè)诒窘坛讨幸彩褂弥袛唷?/p>

所需材料:

霍爾效應(yīng)傳感器(A3144 或任何其他數(shù)字版本)

Arduino (任何版本)

10k 歐姆和 1K 歐姆電阻器

發(fā)光二極管

連接線

霍爾效應(yīng)傳感器:

在我們深入研究連接之前,您應(yīng)該了解一些關(guān)于霍爾效應(yīng)傳感器的重要事項(xiàng)。實(shí)際上,有兩種不同類型的霍爾傳感器,一種是數(shù)字霍爾傳感器,另一種是模擬霍爾傳感器。數(shù)字霍爾傳感器只能檢測(cè)磁鐵是否存在(0 或 1),但模擬霍爾傳感器的輸出根據(jù)磁鐵周圍的磁場(chǎng)而變化,它可以檢測(cè)磁鐵的強(qiáng)度或距離。在本項(xiàng)目中,將僅針對(duì)數(shù)字霍爾傳感器,因?yàn)樗鼈兪亲畛S玫膫鞲衅鳌?/p>

顧名思義,霍爾效應(yīng)傳感器的工作原理是“霍爾效應(yīng)”。根據(jù)該定律,“當(dāng)垂直于磁場(chǎng)引入具有沿一個(gè)方向流動(dòng)的電流的導(dǎo)體或半導(dǎo)體時(shí),可以以與電流路徑成直角的方式測(cè)量電壓”。使用這種技術(shù),霍爾傳感器將能夠檢測(cè)到其周圍是否存在磁鐵。理論夠了,讓我們進(jìn)入硬件

Arduino霍爾效應(yīng)傳感器電路連接及說明:

霍爾傳感器與 Arduino 接口的完整電路圖如下。

poYBAGOAesqAXjM7AAJmuhrGgZQ263.png

如您所見,霍爾效應(yīng)傳感器 arduino 電路圖非常簡(jiǎn)單。但是,我們經(jīng)常犯錯(cuò)誤的地方是弄清楚霍爾傳感器的引腳數(shù)。將讀數(shù)面向您,左側(cè)的第一個(gè)引腳分別是 Vcc,然后是接地和信號(hào)。

我們將如前所述使用中斷,因此霍爾傳感器的輸出引腳連接到 Arduino 的引腳 2。引腳連接到 LED,當(dāng)檢測(cè)到磁鐵時(shí),該 LED 將打開。我只是在面包板上進(jìn)行了連接,完成后看起來有點(diǎn)像這樣。

poYBAGOAezCAPE8CAADOTNee1Ro391.jpg

Arduino 霍爾效應(yīng)傳感器代碼:
完整的Arduino代碼只有幾行,它可以在這個(gè)頁(yè)面的底部找到,可以直接上傳到你的Arduino板。如果您想知道該程序的工作原理,請(qǐng)進(jìn)一步閱讀。

我們有一個(gè)輸入,即傳感器,一個(gè)輸出是LED。傳感器必須作為中斷輸入連接。因此,在我們的設(shè)置函數(shù)中,我們初始化這些引腳,并使引腳 2 作為中斷工作。這里的引腳 2 稱為 Hall_sensor,引腳 3 稱為 LED。

void setup() {
pinMode(LED, OUTPUT); //LED is a output pin
pinMode(Hall_sensor, INPUT_PULLUP); //Hall sensor is input pin
attachInterrupt(digitalPinToInterrupt(Hall_sensor), toggle, CHANGE); //Pin two is interrupt pin which will call toggle function
}

當(dāng)檢測(cè)到中斷時(shí),將如上行所述調(diào)用切換函數(shù)。有許多中斷參數(shù),如切換、變化、上升、下降等,但在本教程中,我們將檢測(cè)霍爾傳感器輸出的變化。

現(xiàn)在在切換函數(shù)中,我們使用一個(gè)名為“state”的變量,如果已經(jīng)是 1,它只會(huì)將其狀態(tài)更改為 0,如果已經(jīng)為零,則更改為 1。這樣,我們可以使 LED 打開或關(guān)閉。

void toggle() {
state = !state;
}
最后,在我們的循環(huán)功能中,我們只需要控制LED。每次檢測(cè)到磁鐵時(shí),可變狀態(tài)都會(huì)改變,因此我們使用它來確定 LED 應(yīng)該保持亮起還是熄滅。

void loop() {
digitalWrite(LED, state);
}

Arduino霍爾效應(yīng)傳感器工作:

準(zhǔn)備好硬件和代碼后,只需將代碼上傳到Arduino即可。我使用9V電池為整個(gè)設(shè)置供電,您可以使用任何更好的電源?,F(xiàn)在將磁鐵靠近傳感器,您的 LED 會(huì)發(fā)光,如果您將其拿走,它將熄滅。

注意:霍爾傳感器對(duì)極點(diǎn)敏感,這意味著傳感器的一側(cè)只能檢測(cè)北極或僅檢測(cè)南極,而不能同時(shí)檢測(cè)兩者。因此,如果您將南極靠近北感應(yīng)表面,您的 LED 將不會(huì)發(fā)光。

pYYBAGOAezmATqFCAADvjO35O1M370.jpg

內(nèi)部實(shí)際發(fā)生的事情是,當(dāng)我們把磁鐵靠近傳感器時(shí),傳感器會(huì)改變其狀態(tài)。這種變化是由中斷引腳感應(yīng)到的,中斷引腳將調(diào)用切換函數(shù),我們將變量“狀態(tài)”從 0 更改為 1。因此,LED 將亮起?,F(xiàn)在,當(dāng)我們將磁鐵從傳感器上移開時(shí),傳感器的輸出將再次發(fā)生變化。我們的中斷語句再次注意到了這種變化,因此變量“state”將從 1 更改為 0。因此,如果 LED 熄滅。每次將磁鐵靠近傳感器時(shí),都會(huì)重復(fù)相同的情況。

const byte ledPin = 13;

const byte interruptPin = 2;

volatile byte state = LOW;

int val=0;


void setup() {

pinMode(ledPin, OUTPUT);

pinMode(interruptPin, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(interruptPin), test, CHANGE);

Serial.begin(9600);

}


void loop() {

digitalWrite(ledPin, state);

Serial.println(val/2);

}


void test() {

state = !state;

val++;

}


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

    關(guān)注

    240

    文章

    22926

    瀏覽量

    650631
  • 霍爾傳感器
    +關(guān)注

    關(guān)注

    26

    文章

    685

    瀏覽量

    62834
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    889

    瀏覽量

    41232
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6454

    瀏覽量

    186009
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    霍爾傳感器的原理與應(yīng)用

    霍爾傳感器的原理與應(yīng)用霍爾傳感器是一種磁傳感器。用它可以檢測(cè)磁場(chǎng)及其變化,可在各種與磁場(chǎng)有關(guān)的場(chǎng)
    發(fā)表于 02-01 17:17

    霍爾元件檢測(cè)距離的遠(yuǎn)近與霍爾元件磁鐵的選擇

    的介紹。我們都知道使用霍爾元件,必不可少要使用到磁鐵。因?yàn)?b class='flag-5'>霍爾傳感器是感應(yīng)磁場(chǎng)工作的。但是很多人不知道磁鐵的強(qiáng)度如何選擇?我們?cè)谶x擇
    發(fā)表于 05-24 15:14

    霍爾式曲軸位置傳感器的識(shí)別與檢測(cè)

    原理圖2 霍爾式曲軸位置傳感器(美國(guó)通用公司GM)I-肛電流;B磁場(chǎng);UH霍爾電壓  1外信號(hào)輪;2內(nèi)信號(hào)輪  霍爾信號(hào)發(fā)生由永久
    發(fā)表于 10-29 15:06

    如何檢測(cè)和應(yīng)用線性霍爾傳感器

    V=檔),測(cè)試時(shí),用一條形磁鐵,S極逐漸靠近霍爾傳感器有型號(hào)標(biāo)志的一面,數(shù)字萬用表的電壓應(yīng)逐步升高,可由靜態(tài)時(shí)的3.2V上升至L5V。如果同時(shí)用一塊N極的磁鐵靠近
    發(fā)表于 12-04 14:56

    開關(guān)型霍爾傳感器可控制哪些元器件

      開關(guān)型霍爾傳感器可直接控制發(fā)光二極管,如圖1(a)所示,平時(shí)發(fā)光二極管不亮,但磁鐵靠近霍爾傳感器時(shí),發(fā)光二極管發(fā)亮?! ¢_關(guān)型
    發(fā)表于 12-04 15:07

    使用霍爾效應(yīng)傳感器檢測(cè)磁鐵的存在并制作速度計(jì),防盜報(bào)警等等!

    檢測(cè)傳感器是否在磁鐵附近Arduino可通過其中斷引腳
    發(fā)表于 12-04 15:35

    霍爾傳感器定義

    霍爾傳感器是根據(jù)霍爾效應(yīng)制作的一種磁場(chǎng)傳感器,廣泛地應(yīng)用于工業(yè)自動(dòng)化技術(shù)、檢測(cè)技術(shù)及信息處理等方面。霍爾
    發(fā)表于 06-16 09:22

    霍爾傳感器

    應(yīng)用7.5.1 霍爾式曲軸位置傳感器的結(jié)構(gòu)及工作原理7.5.2 霍爾式曲軸位置傳感器的信號(hào)特性7.5.3 霍爾式曲軸位置
    發(fā)表于 07-07 07:39

    霍爾速度傳感器原理

    霍爾開關(guān)集成傳感器和磁性轉(zhuǎn)盤組成,霍爾式轉(zhuǎn)速傳感器的各種不同結(jié)構(gòu)如圖所示。將磁性轉(zhuǎn)盤的輸入軸與被測(cè)轉(zhuǎn)軸相連,當(dāng)被測(cè)轉(zhuǎn)軸轉(zhuǎn)動(dòng)時(shí),磁性轉(zhuǎn)盤便隨之轉(zhuǎn)動(dòng),固定在磁性轉(zhuǎn)盤
    發(fā)表于 11-02 15:21 ?5.4w次閱讀
    <b class='flag-5'>霍爾</b>速度<b class='flag-5'>傳感器</b>原理

    霍爾傳感器優(yōu)缺點(diǎn)_霍爾傳感器工作原理_霍爾傳感器檢測(cè)方法

    本文介紹了霍爾傳感器的原理、霍爾傳感器工作原理以及霍爾傳感器的主要參數(shù),其次介紹了
    發(fā)表于 01-13 10:09 ?3.2w次閱讀
    <b class='flag-5'>霍爾</b><b class='flag-5'>傳感器</b>優(yōu)缺點(diǎn)_<b class='flag-5'>霍爾</b><b class='flag-5'>傳感器</b>工作原理_<b class='flag-5'>霍爾</b><b class='flag-5'>傳感器</b><b class='flag-5'>檢測(cè)</b>方法

    霍爾傳感器怎么檢測(cè)_幾種霍爾傳感器檢測(cè)方法

    本文介紹了霍爾傳感器的原理、霍爾傳感器的特性以及使用霍爾傳感器注意事項(xiàng),其次介紹了
    發(fā)表于 01-13 10:17 ?10.1w次閱讀
    <b class='flag-5'>霍爾</b><b class='flag-5'>傳感器</b>怎么<b class='flag-5'>檢測(cè)</b>_幾種<b class='flag-5'>霍爾</b><b class='flag-5'>傳感器</b>的<b class='flag-5'>檢測(cè)</b>方法

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

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

    使用霍爾傳感器磁鐵Arduino速度計(jì)

    您是否想知道車速表如何工作?在本教程中,我們將向您展示如何通過測(cè)量位于旋轉(zhuǎn)輪上的盤形磁鐵產(chǎn)生的磁脈沖來構(gòu)建自己的速度計(jì)。硬件組件:TinyScreen +×1個(gè)霍爾傳感器×1個(gè)布線適配器
    發(fā)表于 01-03 17:52 ?3次下載

    使用霍爾傳感器磁鐵Arduino車速表

    電子發(fā)燒友網(wǎng)站提供《使用霍爾傳感器磁鐵Arduino車速表.zip》資料免費(fèi)下載
    發(fā)表于 06-16 10:26 ?4次下載
    使用<b class='flag-5'>霍爾</b><b class='flag-5'>傳感器</b>和<b class='flag-5'>磁鐵</b>的<b class='flag-5'>Arduino</b>車速表

    如何設(shè)置Arduino霍爾效應(yīng)傳感器

    在本指南中,您將學(xué)習(xí)如何設(shè)置Arduino霍爾效應(yīng)傳感器,特別是US1881,以檢測(cè)磁場(chǎng)。這對(duì)于需要查找電機(jī)的轉(zhuǎn)速或機(jī)器中其他運(yùn)動(dòng)的項(xiàng)目非常有用。
    的頭像 發(fā)表于 02-11 10:14 ?1172次閱讀
    如何設(shè)置<b class='flag-5'>Arduino</b><b class='flag-5'>霍爾</b>效應(yīng)<b class='flag-5'>傳感器</b>