¿Qué es?
El módulo KY-024 Sensor de Campo Magnético Lineal se activa cuando detecta un campo magnético proveniente de un imán natural o de algún material ferromagnético, sus principales partes son un potenciometro para ajustar la sensibilidad y un sensor de Efecto Hall Lineal . Así mismo en su salida los da como resultado señales analógicas y digitales. El sensor de campo magnético se compone de un circuito integrado 49E, comparador voltaje LM393, dos leds, seis resistencias y un header macho de ángulo de 4 pines.
¿Para qué sirve?
Una aplicación típica del Sensor de Campo Magnético KY-024 es que se puede utilizar para el realizar el cálculo de la velocidad de un mecanismo en rotación o como un interruptor de proximidad. También hay sensores de tipo interruptor, que están limitados a solo intervenir para alcanzar un umbral de intensidad (ver KY003) y, por lo tanto, proporcionan solo un estado de encendido / apagado de salida.
Características del módulo KY-024
Este módulo consta de un sensor de efecto Hall lineal, un comparador diferencial doble LM393, un potenciómetro, 2 LED, 6 resistencias y 4 pines.
Especificaciones:
- Voltaje de alimentación: 3.3 a 5 V
- Comparador de salida de corriente: 16 mA
- Tipo de Salida: Digital y Analógica
- Temperatura de operación: – 40 °C a 85 °C
- Dimensiones: 40mm x 26mm x 32 mm
- Peso: 3 g
Diagrama de conexión del módulo KY-024 con Arduino.
Conecte la línea de alimentación (+) y tierra (G) de la placa a 5V y GND en el Arduino respectivamente.
Conecte el pin de señal digital (D0) al pin 3 y el pin de señal analógica (A0) al pin A0 en el Arduino.
Conexión del sensor KY-024 con Arduino
Código
El siguiente código leerá el valor digital y analógico en el módulo. La lectura digital encendera el LED de la placa Arduino en el momento que detecte un campo magnético. Mientras que el valor analógico, observaremos que disminuira o aumentara dependiendo de la intensidad y polaridad del campo magnetico.
int led = 13 ; // LED de arduino
int PinDigital = 3;
int PinAnalogico = A0;
int ValorDigital;
int ValorAnalogico;
void setup (){
pinMode (led, OUTPUT);
pinMode (PinDigital, INPUT);
Serial.begin(9600);
}
void loop (){
ValorDigital = digitalRead(PinDigital);
if (ValorDigital == HIGH){
digitalWrite (led, HIGH);
}else{
digitalWrite (led, LOW);
}
ValorAnalogico = analogRead(PinAnalogico);
Serial.println(ValorAnalogico);
delay(100);
}