原创
霍尔传感器与Arduino UNO接口及示例代码
2022-8-1 09:19
2773
13
5
分类:
物联网
文集:
方案
霍尔传感器应用非常广泛,本文以A3144开关型霍尔传感器为例,介绍霍尔效应传感器以及A3144与Arduino UNO的连接,通过红色LED闪烁检测其附近是否有磁场存在。项目BOM如下:
A3144霍尔传感器
霍尔传感器(Hall Effect Sensor)是根据霍尔效应制作的一种磁场传感器,每一侧都可以检测到一个特定的极点,具有无触点,在开关状态时无火花,不产生干扰,使用寿命长,灵敏度高等特点。由于它适用于晶体管逻辑,因此可以轻松地与微控制器接口,应用非常广泛。
霍尔效应传感器有两种主要类型,一种提供模拟输出,另一种提供数字输出。A3144霍尔传感器是Aleg MicroSystems生产的宽温数字输出传感器,由电压调整电路、反相电源保护电路、霍尔元件、温度补偿电路、微信号放大器、施密特触发器和OC门输出级构成,通过使用上拉电路可以将其输出接人CMOS逻辑电路。该芯片具有尺寸小、稳定性好、灵敏度高等特点:
连接A3144与Arduino
A3144有+5VCC、GND、Signal三个引脚,如果检测到磁体输出将变低电平,否则输出将保持高电平。
A3144与Arduino UNO开发板的连接非常简单,只要将其信号引脚与Arduino任意数字引脚连接,就可以读取传感器的状态了。
const int hallPin = 2 ; // initializing a pin for the sensor output
const int ledPin = 13 ; // initializing a pin for the led. Arduino has built in led attached to pin 13
int hallState = 0 ; // initializing a variable for storing the status of the hall sensor.
pinMode ( ledPin , OUTPUT ) ; // This will initialize the LED pin as an output pin :
pinMode ( hallPin , INPUT ) ; // This will initialize the hall effect sensor pin as an input pin to the Arduino :
Serial.println ("HALL SESNOR WITH ARDUINO") ;
Serial.println ("Testing the analog hall sensor module:");
hallState = digitalRead ( hallPin ) ; // reading from the sensor and storing the state of the hall effect sensor :
if ( hallState == LOW ) { // Checking whether the state of the module is high or low
Serial.println ("The state of the analog hall module is high");
digitalWrite ( ledPin , HIGH ) ; // turn on the LED if he state of the module is high
digitalWrite ( ledPin , LOW ) ; // otherwise turn off the LED :
Serial.println ("The state of the analog hall module is low ") ;
将这些代码上传到Arduino IDE后,就可以读取传感器的状态数据了。磁体靠近A3144霍尔传感器,LED将点亮,离开后将熄灭。也可将LED换成蜂鸣器,磁体靠近A3144霍尔传感器,蜂鸣器将鸣响,离开后将静默。
作者: 硬之城Allchips, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3975615.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
yzw92 2022-8-3 06:51