霍爾傳感器是在與磁場(chǎng)接觸時(shí)在其輸出端產(chǎn)生電信號(hào)的傳感器。傳感器輸出端電信號(hào)的模擬值是磁場(chǎng)強(qiáng)度的函數(shù)。如今,霍爾傳感器無(wú)處不在,它們出于不同的原因被用于從手機(jī)到開(kāi)關(guān)的各種設(shè)備中,用于測(cè)量汽車(chē)和其他汽車(chē)行業(yè)產(chǎn)品中的速度、位置和距離。霍爾傳感器的多功能性使其成為制造商和電氣工程師的必備品,這就是為什么今天,我將向我們展示如何在基于 Raspberry Pi 的項(xiàng)目中使用霍爾傳感器。
必需組件
構(gòu)建此項(xiàng)目需要以下組件/部件;
樹(shù)莓派 2 或 3
SD 卡(最低 8GB)
霍爾效應(yīng)傳感器
跳線(xiàn)
面包板
局域網(wǎng)電纜
可以使用的一些可選部件包括:
監(jiān)控
鍵盤(pán)和鼠標(biāo)
高清連接線(xiàn)
無(wú)線(xiàn)網(wǎng)絡(luò)加密狗
本教程將基于 Raspbian stretch OS,因此要像往常一樣進(jìn)行,我假設(shè)您熟悉使用 Raspbian stretch OS 設(shè)置 Raspberry Pi,并且您知道如何使用 putty 等終端軟件 SSH 進(jìn)入 Raspberry Pi。如果您對(duì)此有任何問(wèn)題,本網(wǎng)站上有大量的樹(shù)莓派教程可以提供幫助。
對(duì)于那些將首次安裝Raspbian stretch OS的人來(lái)說(shuō),我發(fā)現(xiàn)的一個(gè)問(wèn)題,大多數(shù)人都有,是通過(guò)ssh進(jìn)入Raspberry Pi。應(yīng)該注意的是,ssh 最初在操作系統(tǒng)上是禁用的,您需要一個(gè)顯示器來(lái)啟用它,或者在樹(shù)莓派的配置選項(xiàng)下,或者您使用 Windows 或 Linux 計(jì)算機(jī)創(chuàng)建一個(gè)名為 ssh 的空白文件并將空白文件復(fù)制到 SD 卡的根目錄。您需要將SD推車(chē)插入計(jì)算機(jī)的SDd卡插槽才能復(fù)制到其中。
使用第二種方法更適合那些在無(wú)頭模式下運(yùn)行 pi 的人。準(zhǔn)備好所有零件后,我們就可以繼續(xù)構(gòu)建了。
電路圖:
要將霍爾效應(yīng)傳感器與樹(shù)莓派一起使用,請(qǐng)按照以下原理圖連接組件。
本教程中使用的霍爾傳感器可以在輸出端提供模擬和數(shù)字值。但為了簡(jiǎn)化教程,我決定使用數(shù)字值,因?yàn)槭褂媚M輸出需要將ADC連接到Raspberry Pi。
Python 代碼和工作說(shuō)明:
這個(gè)霍爾傳感器項(xiàng)目的 Python 代碼非常簡(jiǎn)單,我們需要做的就是讀取霍爾傳感器的輸出,并相應(yīng)地打開(kāi)或關(guān)閉 LED。如果檢測(cè)到磁鐵,則 LED 將打開(kāi),否則將關(guān)閉。
打開(kāi)樹(shù)莓派的電源并使用膩?zhàn)樱ㄈ绻裎乙粯右詿o(wú)頭模式連接)將其連接到其中。像往常一樣,我的大多數(shù)項(xiàng)目都在主目錄中創(chuàng)建了一個(gè)目錄,其中存儲(chǔ)了有關(guān)每個(gè)項(xiàng)目的所有內(nèi)容,因此對(duì)于這個(gè)項(xiàng)目,我們將創(chuàng)建一個(gè)名為 hall 的目錄。請(qǐng)注意,這只是保持井井有條的個(gè)人偏好。
使用創(chuàng)建目錄;
mkdir hallsensor
將目錄更改為剛剛創(chuàng)建的新目錄,然后打開(kāi)編輯器以使用創(chuàng)建python腳本;
cd hallsensor
其次;
nano hallsensorcode.py
編輯器打開(kāi)后,我們輸入項(xiàng)目代碼。我將對(duì)代碼進(jìn)行簡(jiǎn)要分解以顯示關(guān)鍵概念,之后將提供完整的 python 代碼。
我們通過(guò)導(dǎo)入 RPI 開(kāi)始代碼。GPIO 庫(kù),允許我們編寫(xiě) python 腳本與 Raspberry pi GPIO 引腳進(jìn)行交互。
import RPi.GPIO as gpio
接下來(lái),我們?yōu)橐褂玫?RPI 的 GPIO 設(shè)置編號(hào)配置,并禁用 GPIO 警告以允許代碼的自由流執(zhí)行。
gpio.setmode(gpio.BCM)
gpio.setwarnings(False)
然后,我們根據(jù)所選的 BCM 編號(hào)設(shè)置聲明 LED 和霍爾傳感器的數(shù)字輸出連接到的GPIO 引腳。
hallpin = 2
ledpin = 3
接下來(lái),我們將GPIO 引腳設(shè)置為輸入或輸出。連接 LED 的引腳設(shè)置為輸出,霍爾傳感器連接的引腳設(shè)置為輸入。
gpio.setup( hallpin, gpio.IN)
gpio.setup(ledpin, gpio.OUT)
完成后,我們編寫(xiě)代碼的主要部分,這是一個(gè)while循環(huán),它不斷評(píng)估霍爾傳感器的輸出,如果檢測(cè)到磁鐵,則打開(kāi)LED,并在未檢測(cè)到磁鐵時(shí)關(guān)閉LED。
while True:
if(gpio.input(hallpin) == False):
gpio.output(ledpin, True)
print("magnet detected")
else:
gpio.output(ledpin, False)
print("magnetic field not detected")
帶有演示視頻的完整python代碼在項(xiàng)目結(jié)束時(shí)給出。
復(fù)制并保存代碼,并在使用中鍵入后退出編輯器;
按 CTRL + X后跟y。
保存后,再次檢查您的連接并使用以下命令運(yùn)行 python 腳本;
sudo python hallsensorcode.py
腳本運(yùn)行時(shí),每當(dāng)磁鐵或任何磁性物體靠近霍爾傳感器時(shí),LED 就會(huì)亮起,如下圖所示。
從智能家居的干簧開(kāi)關(guān)到自行車(chē)的速度表,有幾個(gè)超級(jí)酷的東西可以用本教程在基礎(chǔ)構(gòu)建。
import RPi.GPIO as gpio
gpio.setmode(gpio.BCM)
gpio.setwarnings(False)
hallpin = 2
ledpin = 3
gpio.setup( hallpin, gpio.IN)
gpio.setup(ledpin, gpio.OUT)
gpio.output(ledpin, False)
while True:
if(gpio.input(hallpin) == False):
gpio.output(ledpin, True)
print("magnet detected")
else:
gpio.output(ledpin, False)
print("magnetic field not detected")
-
傳感器
+關(guān)注
關(guān)注
2566文章
53008瀏覽量
767629 -
霍爾傳感器
+關(guān)注
關(guān)注
28文章
761瀏覽量
64478
發(fā)布評(píng)論請(qǐng)先 登錄
【Embedded Pi申請(qǐng)】基于Embedded PI + Raspberry開(kāi)發(fā)板的智能家居系統(tǒng)
Raspberry Pi機(jī)器人制作實(shí)例 用PYTHON、LINUX和傳感器搭建智能小車(chē)
基于raspberry pi pico的EPS系統(tǒng)
霍爾傳感器原理
霍爾傳感器的分類(lèi)、霍爾效應(yīng)與霍爾傳感器的應(yīng)用
如何在Raspberry Pi Pico中使用OLED顯示器

使用Raspberry Pi構(gòu)建水位傳感器

Raspberry Pi 0 W帶溫度傳感器和LCD

帶有Raspberry Pi 4的傳感器定時(shí)器

在Raspberry Pi上模擬Commodore Amiga

通過(guò)Raspberry Pi和Python使用PIR運(yùn)動(dòng)傳感器

基于Raspberry Pi的DIY面部識(shí)別功能

如何在Raspberry Pi項(xiàng)目中添加Siri控制

霍爾效應(yīng) 霍爾元件 霍爾傳感器詳細(xì)介紹

在汽車(chē) HMI 應(yīng)用中使用霍爾效應(yīng)傳感器和電感式傳感器應(yīng)用說(shuō)明

評(píng)論