您是否曾经想要制作一个涉及非接触式传感的项目,例如,检测车门关闭,计算车轮转数或制作车速表?那么这款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的中断引脚通过以下函数检测此上升(HIGH)电压:magnet_detect。只要磁铁靠近传感器,串行监视器就会打印“检测”。