霍爾傳感器是在與磁場接觸時(shí)在其輸出端產(chǎn)生電信號(hào)的傳感器。傳感器輸出端電信號(hào)的模擬值是磁場強(qiáng)度的函數(shù)。如今,霍爾傳感器無處不在,它們出于不同的原因被用于從手機(jī)到開關(guān)的各種設(shè)備中,用于測量汽車和其他汽車行業(yè)產(chǎn)品中的速度、位置和距離?;魻杺鞲衅鞯亩喙δ苄允蛊涑蔀橹圃焐毯?a target="_blank">電氣工程師的必備品,這就是為什么今天,我將向我們展示如何在基于 Raspberry Pi 的項(xiàng)目中使用霍爾傳感器。
必需組件
構(gòu)建此項(xiàng)目需要以下組件/部件;
樹莓派 2 或 3
SD 卡(最低 8GB)
霍爾效應(yīng)傳感器
跳線
面包板
局域網(wǎng)電纜
可以使用的一些可選部件包括:
監(jiān)控
鍵盤和鼠標(biāo)
高清連接線
無線網(wǎng)絡(luò)加密狗

本教程將基于 Raspbian stretch OS,因此要像往常一樣進(jìn)行,我假設(shè)您熟悉使用 Raspbian stretch OS 設(shè)置 Raspberry Pi,并且您知道如何使用 putty 等終端軟件 SSH 進(jìn)入 Raspberry Pi。如果您對(duì)此有任何問題,本網(wǎng)站上有大量的樹莓派教程可以提供幫助。
對(duì)于那些將首次安裝Raspbian stretch OS的人來說,我發(fā)現(xiàn)的一個(gè)問題,大多數(shù)人都有,是通過ssh進(jìn)入Raspberry Pi。應(yīng)該注意的是,ssh 最初在操作系統(tǒng)上是禁用的,您需要一個(gè)顯示器來啟用它,或者在樹莓派的配置選項(xiàng)下,或者您使用 Windows 或 Linux 計(jì)算機(jī)創(chuàng)建一個(gè)名為 ssh 的空白文件并將空白文件復(fù)制到 SD 卡的根目錄。您需要將SD推車插入計(jì)算機(jī)的SDd卡插槽才能復(fù)制到其中。
使用第二種方法更適合那些在無頭模式下運(yùn)行 pi 的人。準(zhǔn)備好所有零件后,我們就可以繼續(xù)構(gòu)建了。
電路圖:
要將霍爾效應(yīng)傳感器與樹莓派一起使用,請(qǐng)按照以下原理圖連接組件。


本教程中使用的霍爾傳感器可以在輸出端提供模擬和數(shù)字值。但為了簡化教程,我決定使用數(shù)字值,因?yàn)槭褂媚M輸出需要將ADC連接到Raspberry Pi。
Python 代碼和工作說明:
這個(gè)霍爾傳感器項(xiàng)目的 Python 代碼非常簡單,我們需要做的就是讀取霍爾傳感器的輸出,并相應(yīng)地打開或關(guān)閉 LED。如果檢測到磁鐵,則 LED 將打開,否則將關(guān)閉。
打開樹莓派的電源并使用膩?zhàn)樱ㄈ绻裎乙粯右詿o頭模式連接)將其連接到其中。像往常一樣,我的大多數(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)建的新目錄,然后打開編輯器以使用創(chuàng)建python腳本;
cd hallsensor
其次;
nano hallsensorcode.py
編輯器打開后,我們輸入項(xiàng)目代碼。我將對(duì)代碼進(jìn)行簡要分解以顯示關(guān)鍵概念,之后將提供完整的 python 代碼。
我們通過導(dǎo)入 RPI 開始代碼。GPIO 庫,允許我們編寫 python 腳本與 Raspberry pi GPIO 引腳進(jìn)行交互。
import RPi.GPIO as gpio
接下來,我們?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
接下來,我們將GPIO 引腳設(shè)置為輸入或輸出。連接 LED 的引腳設(shè)置為輸出,霍爾傳感器連接的引腳設(shè)置為輸入。
gpio.setup( hallpin, gpio.IN)
gpio.setup(ledpin, gpio.OUT)
完成后,我們編寫代碼的主要部分,這是一個(gè)while循環(huán),它不斷評(píng)估霍爾傳感器的輸出,如果檢測到磁鐵,則打開LED,并在未檢測到磁鐵時(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ì)亮起,如下圖所示。


從智能家居的干簧開關(guān)到自行車的速度表,有幾個(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)注
2573文章
54329瀏覽量
785484 -
霍爾傳感器
+關(guān)注
關(guān)注
28文章
791瀏覽量
65732
發(fā)布評(píng)論請(qǐng)先 登錄
如何在Arduino中使用KY-037聲音檢測傳感器
【Embedded Pi申請(qǐng)】基于Embedded PI + Raspberry開發(fā)板的智能家居系統(tǒng)
Raspberry Pi機(jī)器人制作實(shí)例 用PYTHON、LINUX和傳感器搭建智能小車
基于raspberry pi pico的EPS系統(tǒng)
霍爾傳感器的分類、霍爾效應(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
基于Raspberry Pi的DIY面部識(shí)別功能
如何在Raspberry Pi項(xiàng)目中添加Siri控制
在汽車 HMI 應(yīng)用中使用霍爾效應(yīng)傳感器和電感式傳感器應(yīng)用說明

如何在基于Raspberry Pi的項(xiàng)目中使用霍爾傳感器
評(píng)論