KY-024 Linear Magnetic Hall module

Description

The KY-024 Linear magnetic Hall sensor reacts in the presence of a magnetic field. It has a potentiometer to adjust the sensitivity of the sensor and it provides both analog and digital outputs.

The digital output acts as a switch that will turn on/off when a magnet is near, similar to the KY-003. On the other hand, the analog output can measure the polarity and relative strength of the magnetic field.

 

Specifications

The KY-024 module consists of a 49E Linear Hall-Effect Sensor, a LM393 Dual Differential Comparator, a potentiomenter, two leds and six resistors. It's compatible with popular electronics platforms like Arduino, Raspberry Pi, Esp8266 and Teensy.

 

Operating Voltage2.7V to 6.5V
Sensitivity1.0 mV/G min., 1.4 mV/G typ., 1.75 mV/G max.
Board Dimensions1.5cm x 3.6cm [0.6in x 1.4in]

Arduino KY-024 Connection Diagram

Connect board's power line (+) and ground (G) to 5V and GND respectively. Connect the digital signal (D0) to pin 3 on the Arduino and the board's analog signal (A0) to pin A0 on the Arduino.

KY-024Arduino
A0A0
GGND
+5V
D03
KY-024 Arduino connection diagramclick to enlarge

KY-024 Example Code

The following Arduino sketch will read values from both digital and analog interfaces on the KY-024.  The digital interface will turn on the Arduino's LED when a magnetic field is detected.

The analog interface starts at an initial value determined by the input voltage and the potentiometer, this value will increase or decrease depending on the intensity and polarity of the magnetic field.

 

int led = 13 ; // LED on arduino
int digitalPin = 3; // linear Hall magnetic sensor digital interface
int analogPin = A0; // linear Hall magnetic sensor analog interface
int digitalVal ; // digital readings
int analogVal; // analog readings

void setup ()
{
  pinMode (led, OUTPUT); 
  pinMode (digitalPin, INPUT); 
  //pinMode(analogPin, INPUT); 
  Serial.begin(9600);
}

void loop ()
{
  // Read the digital interface
  digitalVal = digitalRead(digitalPin) ; 
  if (digitalVal == HIGH) // When magnetic field is present, Arduino LED is on
  {
    digitalWrite (led, HIGH);
  }
  else
  {
    digitalWrite (led, LOW);
  }
  
  // Read the analog interface
  analogVal = analogRead(analogPin);
  Serial.println(analogVal); // print analog value

  delay(100);
}

 

Setting analog pin as input (line 11) is not necessary, the analogRead() function will automatically set the pin as analog input when used.

Use Tools > Serial Plotter on the Arduino IDE to visualize the changes on intensity and polarity of the magnetic field.

KY-024 arduino output on serial

2
Leave a Reply

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
ArduinoModulesigor Recent comment authors
igor
igor

hey,

in data sheet page writen: 1.0 mV/G min., 1.4 mV/G typ., 1.75 mV/G max..
here u wrote 2.5 mV/G.

what is the right one?