如何在基于Raspberry Pi的项目中使用霍尔传感器

描述

霍尔传感器是在与磁场接触时在其输出端产生电信号的传感器。传感器输出端电信号的模拟值是磁场强度的函数。如今,霍尔传感器无处不在,它们出于不同的原因被用于从手机到开关的各种设备中,用于测量汽车和其他汽车行业产品中的速度、位置和距离。霍尔传感器的多功能性使其成为制造商和电气工程师的必备品,这就是为什么今天,我将向我们展示如何在基于 Raspberry Pi 的项目中使用霍尔传感器。

必需组件

构建此项目需要以下组件/部件;

树莓派 2 或 3

SD 卡(最低 8GB)

霍尔效应传感器

跳线

面包板

局域网电缆

电源

可以使用的一些可选部件包括:

监控

键盘和鼠标

高清连接线

无线网络加密狗

传感器

本教程将基于 Raspbian stretch OS,因此要像往常一样进行,我假设您熟悉使用 Raspbian stretch OS 设置 Raspberry Pi,并且您知道如何使用 putty 等终端软件 SSH 进入 Raspberry Pi。如果您对此有任何问题,本网站上有大量的树莓派教程可以提供帮助。

对于那些将首次安装Raspbian stretch OS的人来说,我发现的一个问题,大多数人都有,是通过ssh进入Raspberry Pi。应该注意的是,ssh 最初在操作系统上是禁用的,您需要一个显示器来启用它,或者在树莓派的配置选项下,或者您使用 Windows 或 Linux 计算机创建一个名为 ssh 的空白文件并将空白文件复制到 SD 卡的根目录。您需要将SD推车插入计算机的SDd卡插槽才能复制到其中。

使用第二种方法更适合那些在无头模式下运行 pi 的人。准备好所有零件后,我们就可以继续构建了。

电路图:

要将霍尔效应传感器与树莓派一起使用,请按照以下原理图连接组件。

传感器

 

传感器

本教程中使用的霍尔传感器可以在输出端提供模拟和数字值。但为了简化教程,我决定使用数字值,因为使用模拟输出需要将ADC连接到Raspberry Pi。

Python 代码和工作说明:

这个霍尔传感器项目的 Python 代码非常简单,我们需要做的就是读取霍尔传感器的输出,并相应地打开或关闭 LED。如果检测到磁铁,则 LED 将打开,否则将关闭。

打开树莓派的电源并使用腻子(如果像我一样以无头模式连接)将其连接到其中。像往常一样,我的大多数项目都在主目录中创建了一个目录,其中存储了有关每个项目的所有内容,因此对于这个项目,我们将创建一个名为 hall 的目录。请注意,这只是保持井井有条的个人偏好。

使用创建目录;

mkdir hallsensor

将目录更改为刚刚创建的新目录,然后打开编辑器以使用创建python脚本;

cd hallsensor

其次;

nano hallsensorcode.py

编辑器打开后,我们输入项目代码。我将对代码进行简要分解以显示关键概念,之后将提供完整的 python 代码。

我们通过导入 RPI 开始代码。GPIO 库,允许我们编写 python 脚本与 Raspberry pi GPIO 引脚进行交互。

import RPi.GPIO as gpio

接下来,我们为要使用的 RPI 的 GPIO 设置编号配置,并禁用 GPIO 警告以允许代码的自由流执行。

gpio.setmode(gpio.BCM)

gpio.setwarnings(False)

然后,我们根据所选的 BCM 编号设置声明 LED 和霍尔传感器的数字输出连接到的GPIO 引脚。

hallpin = 2

ledpin = 3

接下来,我们将GPIO 引脚设置为输入或输出。连接 LED 的引脚设置为输出,霍尔传感器连接的引脚设置为输入。

gpio.setup( hallpin, gpio.IN)

gpio.setup(ledpin, gpio.OUT)

完成后,我们编写代码的主要部分,这是一个while循环,它不断评估霍尔传感器的输出,如果检测到磁铁,则打开LED,并在未检测到磁铁时关闭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代码在项目结束时给出。

传感器

复制并保存代码,并在使用中键入后退出编辑器;

按 CTRL + X后跟y。

保存后,再次检查您的连接并使用以下命令运行 python 脚本;

sudo python hallsensorcode.py

脚本运行时,每当磁铁或任何磁性物体靠近霍尔传感器时,LED 就会亮起,如下图所示。

传感器

 

传感器

从智能家居的干簧开关到自行车的速度表,有几个超级酷的东西可以用本教程在基础构建。

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")

 


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分