|
使用霍尔效应传感器检测磁铁的存在并制作速度计、防盗报警器等等!
您是否曾经想要制作一个涉及非接触式传感的项目,例如,检测车门关闭、计算车轮转数或制作车速表?那么本篇Arduino霍尔效应传感器教程适合您!
本篇文章使用霍尔效应传感器来检测磁铁是否存在。每当磁铁移过该传感器时,它就能检测到它。这种传感器可以用来做很多不同的事情。例如,如果我们需要检测门关闭;然后我们只需要将磁铁连接到门上,将霍尔传感器连接到门框上。无论何时门关闭,磁铁都放置在霍尔效应传感器附近,我们能够检测到门已经关闭。
类似地,该相同原理可用于制造用于自行车或任何其他车辆的速度计。如果磁铁安装在车轮上并且霍尔效应传感器放置在自行车车架的某个位置,则可以测量车轮完成一次旋转所需的时间,并且通过更多的数学计算,我们可以检测到自行车的运动速度!
它是如何工作的? 霍尔效应传感器基于霍尔效应的原理工作,其表明无论何时在垂直于导体中的电流流动的方向上施加磁场,都会引起电位差。该电压可用于检测传感器是否在磁铁附近。 Arduino可通过其中断引脚检测此电压变化,并确定磁铁是否靠近传感器。 Arduino霍尔效应传感器的基本工作原理如下图所示。
Arduino霍尔效应传感器工作原理
有许多类型的霍尔效应传感器,某些类型对于某些应用更好。对于检测速度并不重要的应用,可以使用普通的霍尔效应传感器,如44E。但是,对于涉及高速检测的应用,例如速度计,应使用US5881或US1881等高频霍尔效应传感器。霍尔效应传感器有两种主要类型:锁存和非锁存。
US1881是一个锁存霍尔效应传感器。只要磁铁的北极靠近它,传感器就会发出输出高(5V)电压。即使移除磁铁,传感器仍会输出高电压,并且不会变为低电平(0V),直到磁铁的南极接近它。这些锁定在特定状态的传感器称为锁存霍尔效应传感器。
US5881是一款非锁存霍尔效应传感器。只要磁铁的北极靠近它,传感器就会输出一个高电压,每当磁铁被移除时,它就会变为低电平。我个人更喜欢US5881等非锁存霍尔效应传感器用于我的项目。
霍尔效应传感器有三个引脚:VCC(5V)、GND和Vout(信号)。霍尔效应传感器的引脚排列如下所示:
Arduino霍尔效应传感器引脚排列
Arduino与霍尔传感器的连接 霍尔效应传感器与Arduino的连接非常简单。传感器的VCC连接到Arduino的5V电源引脚。传感器的GND连接到Arduino上的GND引脚。霍尔效应传感器的Vout或信号引脚连接到Arduino的中断引脚(数字引脚2)。此外,霍尔效应传感器的VCC和Vout引脚之间连接一个10K电阻。这样做是为了将霍尔效应传感器的输出拉至5V。连接完成如下所示:
上传代码并测试Arduino霍尔效应传感器 将霍尔效应传感器连接到Arduino后,需要将代码上传到电路板并进行测试。 Arduino霍尔效应传感器代码可用于检测磁铁并计算其检测到的次数。这是一个非常简单的Arduino代码,它利用Arduino的中断引脚0(数字引脚2)。
只要霍尔效应传感器检测到磁铁,它就会向其Vout引脚输出高(5V)电压。连接到Vout的Arduino的中断引脚通过magnet_detect函数检测此上升沿(HIGH)电压。只要磁铁靠近传感器,串行监视器就会打印“detect”。
Arduino霍尔效应传感器串行监视器
将Arduino霍尔效应传感器连接到您的项目 为了展示这个项目的应用,我已将传感器安装在门框上。我还在门上贴了一块小磁铁。因此,无论何时门关闭,我都可以检测到它。这也可以用作防盗报警系统,将其挂在一些灯和警报器上。
此外,您还可以使用此传感器为自行车制作速度表。 需要在车轮上安装一个小磁铁,霍尔效应传感器可以安装在自行车车架上。 可以通过霍尔效应传感器测量车轮的转数和所需的时间。 在对这些数据进行一些计算后,您可以以kmh或mph显示自行车的速度。 |