SW18010P Sensor de Vibración para Arduino

[SW18010P] SW18010P Sensor de Vibración para Arduino

https://electrofranko.com/web/image/product.template/1974/image_1920?unique=4feb47a

S/ 6.50 6.5 PEN S/ 6.50

S/ 6.50

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: SW18010P

Módulo Sensor de Vibración e Impacto SW-18010P

Interruptor digital de resorte de alta sensibilidad con comparador LM393 para microcontroladores.

El módulo **SW-18010P** es un componente electrónico diseñado para detectar perturbaciones mecánicas, impactos, sacudidas y vibraciones físicas en su entorno. El sensor central consta de un elemento capacitivo/inductivo de tipo interruptor de resorte encapsulado en un tubo cilíndrico sellado. En estado de reposo absoluto, el circuito permanece en circuito abierto (resistencia infinita); sin embargo, ante la menor aceleración física o vibración externa, el filamento central oscila y hace contacto intermitente con la pared metálica exterior, cerrando momentáneamente el circuito. Esta pequeña señal transitoria es procesada por un amplificador comparador de doble voltaje de precisión (LM393) integrado a bordo, transformando los pulsos analógicos inestables en una salida digital digitalmente limpia y libre de ruidos perjudiciales.

Especificaciones Técnicas

Parámetro EléctricoDetalle de Operación
Tensión de Alimentación (VCC)3.3 V a 5 V DC (Altamente versátil)
Corriente de Consumo~15 mA máximo (Bajo perfil energético)
Chip Comparador BaseLM393 de precisión y respuesta veloz
Tipo de Salida de DatosDigital Binaria (DO): HIGH (1) / LOW (0)
Resistencia de Aislamiento>10 MΩ (En estado estable de reposo)
Características FísicasLímites de Tolerancia
Ajuste de SensibilidadPotenciómetro analógico multivuelta integrado
Tiempo de Respuesta Óptimo<2 ms (Ideal para detección en tiempo real)
Temperatura de Trabajo-40 °C a +80 °C de rango operativo
Indicadores LumínicosLED piloto (Power) / LED de estado (Salida DO)
Dimensiones de PCB32 mm x 14 mm con orificio de montaje m3

Ventajas Destacadas del Módulo SW-18010P

Salida Digital Acondicionada: Gracias al LM393, la salida entrega señales lógicas estables de onda cuadrada perfectas, sin necesidad de aplicar complicados algoritmos analógicos de filtrado por software.

Calibración Personalizable: El potenciómetro multivuelta permite recortar o ampliar el rango de disparo del sensor, permitiendo ignorar ruidos ambientales cotidianos o detectar el paso sutil de un objeto.

Omnidireccionalidad Operativa: La estructura interna cilíndrica del resorte permite capturar perturbaciones en cualquier eje o plano espacial (X, Y, Z), ideal para sistemas móviles.

Mapeo de Pines y Diagrama de Conexión Base con Arduino

Diagrama de Conexión del Módulo SW-18010P
Detalle del Módulo: La placa estándar de este sensor se distribuye con 3 o 4 pines de interfaz externa: VCC (alimentación positiva a 3.3V o 5V), GND (tierra común del circuito) y DO / OUT (Salida digital directa que conmuta a nivel bajo cuando se registra un impacto). En los modelos de 4 pines se expone una terminal AO para lectura analógica directa del resorte, útil únicamente si no se desea emplear el comparador integrado.
🎓 Guía de Análisis Técnico y Manejo de Interrupciones Externas

Para procesar adecuadamente las lecturas generadas por el sensor **SW-18010P**, es vital dominar e implementar buenas prácticas de programación e instrumentación electrónica:

  • Uso Práctico de Interrupciones por Hardware: Los impactos mecánicos producen ráfagas de pulsos eléctricos extremadamente veloces (microsegundos). Capturarlos usando una función lineal común dentro del ciclo ordinario loop() causará pérdidas drásticas de eventos si el microcontrolador está ejecutando otras tareas. Utilizar attachInterrupt() congela instantáneamente el programa principal para guardar el registro del impacto.
  • Estado Lógico por Defecto (Pull-Up Activo): La electrónica interna del comparador sostiene una salida estable en ALTO (HIGH) mientras el resorte se mantenga estático. Al vibrar, la línea DO decae súbitamente a cero voltios (LOW).
  • Mapeo del Tiempo Muerto (Debounce Preventivo): El rebote natural del resorte interno genera múltiples transiciones falsas por un solo golpe. El código de control debe ignorar transiciones consecutivas dentro de un umbral temporal corto (~150ms-250ms) mediante variables relativas.
// Código de Integración Profesional para el Módulo de Vibración SW-18010P // Diseñado mediante Interrupciones Externas de Hardware para captura instantánea de impactos const int PIN_SENSOR_SW18010P = 2; // Pin Digital D2 (Soporta interrupciones físicas nativas en la plataforma ATmega328P) const int PIN_LED_ALERTA = 13; // LED interno que servirá como testigo de acción // Variables con calificador 'volatile' debido a que son modificadas dentro de la rutina de interrupción (ISR) volatile bool impactoDetectadoBandera = false; volatile unsigned long tiempoUltimoImpactoMs = 0; // Constante de control para filtrado electrónico de rebotes mecánicos (Debounce temporal) const unsigned long ventanaTiempoMuertoMs = 200; void setup() { Serial.begin(115200); Serial.println("--- Inicializando Monitor de Alarma y Sacudidas SW-18010P ---"); // Configuración de puertos de E/S pinMode(PIN_SENSOR_SW18010P, INPUT); pinMode(PIN_LED_ALERTA, OUTPUT); digitalWrite(PIN_LED_ALERTA, LOW); // Vinculación de la interrupción física: Dispara la rutina ante un flanco de bajada (FALLING) // Ocurre cuando el comparador LM393 detecta que el resorte interno hace contacto y manda la señal a GND attachInterrupt(digitalPinToInterrupt(PIN_SENSOR_SW18010P), rutinaServicioVibracion, FALLING); Serial.println("[ CONFIG ]: Interrupción externa asociada al Pin Digital D2."); Serial.println("[ STATUS ]: Sistema en escucha. Golpee suavemente el sensor para comprobar el disparo lógico."); Serial.println("-----------------------------------------------------------------------------------------"); } void loop() { // Verificación constante del estado de la bandera izada por la interrupción if (impactoDetectadoBandera) { // Desactivamos temporalmente las interrupciones para realizar una impresión serial segura noInterrupts(); impactoDetectadoBandera = false; interrupts(); // Notificación en consola y acción correctiva visual local Serial.print("[ ALERTA ]: ¡Impacto Mecánico Verificado! Marca Temporal: "); Serial.print(millis()); Serial.println(" ms."); digitalWrite(PIN_LED_ALERTA, HIGH); // Encendido del indicador ante la intrusión delay(400); // Pulso de visibilidad sostenido para el usuario digitalWrite(PIN_LED_ALERTA, LOW); // Retorno al modo centinela estable } } // Rutina de Servicio de Interrupción (ISR) - Debe ser lo más corta y veloz posible void rutinaServicioVibracion() { unsigned long tiempoActualMs = millis(); // Comprobación de ventana temporal: Si el pulso actual ocurre dentro del tiempo muerto, se descarta como rebote if (tiempoActualMs - tiempoUltimoImpactoMs > ventanaTiempoMuertoMs) { impactoDetectadoBandera = true; tiempoUltimoImpactoMs = tiempoActualMs; // Actualización del registro temporal } }
1. ¿Por qué el LED de estado del módulo permanece encendido de forma fija y la salida digital nunca cambia?
Este síntoma ocurre cuando el potenciómetro de calibración está desajustado hacia un extremo de máxima sensibilidad. En esta condición, el nivel de comparación del LM393 es tan bajo que detecta incluso el ruido eléctrico del bus como una vibración constante. Gira el potenciómetro lentamente en sentido antihorario hasta que el LED piloto de salida se apague por completo en condiciones de reposo.
2. ¿Cuál es la diferencia técnica entre los sensores de la serie SW-420 y el SW-18010P?
El modelo SW-420 es un sensor de vibración de tipo cerrado y de sensibilidad moderada, ideal para vibraciones continuas de motores. Por otro lado, el SW-18010P posee un resorte interno más largo y flexible con una masa de inercia expuesta, lo que le confiere una sensibilidad drásticamente superior ante impactos secos, golpes perimetrales o inclinaciones repentinas.
3. ¿El módulo SW-18010P puede medir la magnitud de un sismo o la aceleración exacta en un eje?
No. Este componente actúa estrictamente como un interruptor binario digital (ON/OFF). Solo informa si se superó o no el umbral físico establecido mecánicamente por el resorte y el potenciómetro. Si necesitas cuantificar la fuerza de un impacto, la aceleración en unidades de gravedad (G) o vectores de movimiento, debes emplear un acelerómetro digital MEMS, como el MPU6050.
4. ¿Por qué el código de ejemplo utiliza la función attachInterrupt en lugar de digitalRead?
Cuando el sensor sufre una vibración, el resorte hace contacto eléctrico durante lapsos extremadamente cortos (pocos milisegundos). Si usas digitalRead() dentro de un bucle que contiene otras instrucciones o retardos (como delay()), el microcontrolador estará "ciego" la mayor parte del tiempo y perderá el evento. Las interrupciones hardware fuerzan al procesador a capturar el pulso de inmediato.
5. ¿Puedo conectar la salida DO del sensor directamente a un relé para encender una sirena?
No se recomienda conectarlo directamente de forma cableada. La salida del chip LM393 del módulo entrega pulsos intermitentes y muy rápidos cuando hay vibración. Si lo conectas directo a un relé, la bobina de este conmutará frenéticamente a alta velocidad, dañando sus contactos mecánicos. Lo correcto es pasar la señal por un microcontrolador o un circuito temporizador monoestable (como el NE555) para sostener el encendido de la sirena.
6. ¿Es perjudicial si coloco el sensor en un entorno expuesto a movimientos bruscos de forma continua?
Sí. El elemento sensor está basado en la fatiga mecánica de un micro-resorte de metal. Exponer el módulo a vibraciones industriales severas o impactos violentos de manera ininterrumpida provocará que el resorte pierda su elasticidad original, se deforme permanentemente o termine rompiéndose por estrés mecánico en su base, acortando drásticamente su vida útil.