¿Qué es?
Este KY-025 es un módulo de interruptor magnético que funciona como conmutador para detectar un campo magnético y actuar en consecuencia. Además permite configurar la sensibilidad del mismo, ya que sus contactos normalmente abiertos se cierran en la presencia de un campo magnético, por ello este módulo se puede usar para el control de gran cantidad de sistemas.
¿Para qué sirve?
El KY-025 Interruptor por Campo Magnético es un módulo que se puede usar para el control de interruptores, fotocopiadoras, lavadoras, refrigeradores, cámaras, puertas, ventanas, relés electromagnéticos, pesaje electrónico, medidor de nivel, medidor de gas, medidor de agua entre otras áreas de desarrollo.
Características del sensor KY-025
Este módulo consta de un interruptor de láminas normalmente abierto de 2x14 mm, un comparador diferencial dual LM393, un potenciómetro recortador 3296W-104, 6 resistencias, 2 LED y 4 pines.
Especificaciones:
Voltaje de alimentación: 3.3 a 5 V
Comparador de salida de corriente: 16 mA
Salidas: Analógica y digital
Sensor magnético: de alta sensibilidad
Dimensiones : 15mm x 35.2mm x 1.1mm
Peso: 3 g
Diagrama de conexión para el sensor KY-025 con Arduino
Conecte la salida analógica de la placa (A0) al pin A0 del Arduino y la salida digital (D0) al pin 3.
Conecte la línea de alimentación (+) y tierra (G) a 5V y GND respectivamente.
Conexión del módulo KY-025 con Arduino
Código
En este código de Arduino, leeremos los valores de las interfaces digitales y analógicas en el KY-025, necesitará un imán para interactuar con el módulo. La interfaz digital enviará una señal ALTA cuando se detecte un campo magnético, encendiendo el LED en el Arduino (pin 13).
Por otro lado, la interfaz analógica devolverá un valor numérico ALTO cuando no haya un campo magnético presente y bajará a cero cuando un imán esté cerca.
int led = 13; // Pin para el LED de Arduino
int digitalPin = 3;
int analogPin = A0;
int digitalVal;
int analogVal;
void setup(){
pinMode(led, OUTPUT);
pinMode(digitalPin, INPUT);
//pinMode(analogPin, OUTPUT);
Serial.begin(9600);
}
void loop(){
digitalVal = digitalRead(digitalPin);
if(digitalVal == HIGH){
digitalWrite(led, HIGH); // Encender el LED
}else{
digitalWrite(led, LOW); // Apagar el LED
}
analogVal = analogRead(analogPin);
Serial.println(analogVal); // Mostrar el valor por el monitor serial
delay(100);
}