¡Oferta!

Módulo Sensor de Choque Inclinación FC-06 Sensor Vibración

El precio original era: 4,57 €.El precio actual es: 2,11 €. Excluido IVA

Módulo Sensor de Shock Tilt FC-06 Sensor de Vibración

6 disponibles (puede reservarse)

Domande su questo prodotto? Scrivi a Lana su WhatsApp

Categoría:

🎬 El producto en vídeo

Descripción


📘 Descripción del módulo FC-06

  • El módulo FC-06 es un sensor de vibración/impacto basado en un interruptor de muelle (mecánico), a menudo similar a los módulos KY-002 o SW-520D. Cuando es golpeado o vibra, el contacto cierra brevemente el circuito (Electrothinks).
  • Funciona a tensiones entre 3,3 V e 5 V, compatible con Arduino (elkine.altervista.org, components101.com, ProtoSupplies).
  • El módulo incluye generalmente:
    • LED Power (alimentación).
    • LED Shock/DO que se enciende cuando se detecta una vibración/impacto (iot-guider.com).
  • Salida digital paralela, es decir, un pin digital que normalmente pasa de HIGH a LOW (o viceversa) al detectar el movimiento (ProtoSupplies, ArduinoModulesInfo, phippselectronics.com).

Pinout típico (3 pines)

  • VCC → +5 V (o 3,3 V)
  • GND → masa
  • S (Señal) → salida digital

🔧 Conexiones con Arduino

Esquema típico usando Arduino Uno:

FC‑06 VCC → Arduino 5 V (o 3,3 V)
FC‑06 GND → Arduino GND
FC‑06 S → Arduino pin digitale (ad esempio D2 o D3)
Optional: LED o buzzer su un altro pin per avviso visivo/acustico.

Cada vez que se sacude o golpea el módulo, el pin digital cambia de estado brevemente, el LED DO se ilumina y el señal se lee por Arduino (ProtoSupplies, Electrothinks, iot-guider.com).


💻 Ejemplos de código

1. Detección simple (LED integrado)

const int shockPin = 2; // ingresso dal sensore
const int ledPin = 13; // LED integrato

void setup(){
 pinMode(shockPin, INPUT);
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
}

void loop(){
 int val = digitalRead(shockPin);
 if(val == LOW){ // LOW se sensore attivo (o HIGH a seconda del modulo)
 digitalWrite(ledPin, HIGH);
 Serial.println("Shock detected!");
 } else {
 digitalWrite(ledPin, LOW);
 }
 delay(100);
}

2. Alarma parpadeante + led verde/rojo

int shockPin = 2;
int greenLed = 3;
int redLed = 4;

void setup(){
 pinMode(shockPin, INPUT);
 pinMode(greenLed, OUTPUT);
 pinMode(redLed, OUTPUT);
}

void loop(){
 if(digitalRead(shockPin) == HIGH){
 digitalWrite(greenLed, LOW);
 for(int i=0;i<10;i++){
 digitalWrite(redLed, HIGH);
 delay(150);
 digitalWrite(redLed, LOW);
 delay(150);
 }
 } else {
 digitalWrite(greenLed, HIGH);
 digitalWrite(redLed, LOW);
 }
}

Este ejemplo se toma del tutorial del módulo KY-002/SW-18010P, que funciona de manera equivalente al FC-06 (ipsiaplcarduinolab.altervista.org, Arduino Project Hub, getelectronics.net).

3. Usar interrupciones para detectar impulsos rápidos

volatile bool shockFlag = false;

void inputChange() {
 shockFlag = true;
}

void setup(){
 pinMode(2, INPUT);
 pinMode(13, OUTPUT);
 attachInterrupt(digitalPinToInterrupt(2), inputChange, FALLING);
}

void loop(){
 if(shockFlag){
 digitalWrite(13, HIGH);
 delay(200);
 digitalWrite(13, LOW);
 shockFlag = false;
 }
}

Este enfoque es útil para no perder impulsos cortos en presencia de vibraciones rápidas (forum.arduino.cc, components101.com).


⚙️ Consejos prácticos y ajustes

  • Debounce: el sensor produce a menudo señales de rebote (bounce). Es bueno añadir un filtro de software con delay, o usar el modo interrupción con control temporal (foro.arduino.cc, ProtoSupplies).
  • Sensibilidad: módulos con potenciómetro (ej. FC-06) permiten ajustar el umbral de activación. Prueba a girarlo lentamente hasta obtener un comportamiento estable (elkine.altervista.org, foro.arduino.cc).
  • Orientación: si el sensor incluye un interruptor de inclinación, la orientación respecto a la gravedad puede afectar la señal. Prueba en varias posiciones (foro.arduino.cc).

🛠 Aplicaciones típicas

  • Sistemas antirrobo e intrusión: detectar vibraciones en puertas, ventanas o objetos.
  • Detectores de caídas o impactos: utilizado en dispositivos móviles, paquetes o robots.
  • Proyectos interactivos: sacudir o golpear un objeto para activar LEDs, zumbadores o series de eventos.

✅ Resumen

Característica Detalles
Alimentación 3,3–5 V
Salida Digital (LOW o HIGH al tacto)
Sensibilidad ajustable Sí, a través de un potenciómetro
Funcionamiento Basado en muelle o bola interna
Modo de lectura Polling digital o interrupt

¡Perfecto! Integrar el sensor de choque/vibración FC-06 en un proyecto práctico es una excelente manera de aprovechar sus capacidades. Aquí tienes 3 proyectos específicos con guía, esquemas y código:


🔧 Proyecto 1: Datalogger de vibraciones en microSD

Objetivo: Registrar fecha/hora y número de vibraciones en una tarjeta SD.

🧰 Componentes necesarios:

  • Arduino Uno/Nano
  • Sensor FC-06
  • Módulo microSD (ej. con chip CS)
  • Módulo RTC (ej. DS3231 para fecha/hora)
  • Cables jumper, breadboard

🖇️ Conexiones principales:

Componente Conexión con Arduino
FC-06 S D2
microSD SPI: D10-CS, D11-MOSI, D12-MISO, D13-SCK
RTC I2C: A4-SDA, A5-SCL

💻 Código de ejemplo:

#include <SPI.h>
#include <SD.h>
#include <Wire.h>
#include <RTClib.h>

const int shockPin = 2;
const int chipSelect = 10;
RTC_DS3231 rtc;
File dataFile;

void setup() {
 Serial.begin(9600);
 pinMode(shockPin, INPUT);

 if (!SD.begin(chipSelect)) {
 Serial.println("Errore SD");
 while (1);
 }

 if (!rtc.begin()) {
 Serial.println("Errore RTC");
 while (1);
 }

 attachInterrupt(digitalPinToInterrupt(shockPin), logShock, FALLING);
}

void loop() {
 delay(1000); // inattività
}

void logShock() {
 DateTime now = rtc.now();
 dataFile = SD.open("datalog.txt", FILE_WRITE);
 if (dataFile) {
 dataFile.print(now.timestamp());
 dataFile.println(" - Vibrazione rilevata");
 dataFile.close();
 }
}

🔁 Expandible: puedes agregar contadores diarios, zumbador de notificación, Wi-Fi, etc.


📡 Proyecto 2: Alarma de vibración sin cable (con ESP8266/ESP32)

Objetivo: Enviar una notificación Wi-Fi o HTTP si se detecta una vibración.

🧰 Componentes:

  • ESP8266 (NodeMCU) o ESP32
  • FC-06
  • LED (opcional)

🖇️ Conexiones:

  • FC-06 S → D1 (GPIO5)
  • FC-06 VCC → 3.3V
  • GND → GND

💻 Código de ejemplo:

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

const char* ssid = "TUO_WIFI";
const char* password = "TUA_PASSWORD";

const int shockPin = D1;
bool shockDetected = false;

void setup() {
 pinMode(shockPin, INPUT);
 Serial.begin(115200);
 WiFi.begin(ssid, password);

 while (WiFi.status() != WL_CONNECTED) {
 delay(500);
 }

 attachInterrupt(digitalPinToInterrupt(shockPin), onShock, FALLING);
}

void loop() {
 if (shockDetected) {
 if (WiFi.status() == WL_CONNECTED) {
 HTTPClient http;
 http.begin("http://tuo_server/notifica.php?vibrazione=1");
 http.GET();
 http.end();
 }
 shockDetected = false;
 }
}

void onShock() {
 shockDetected = true;
}

🧠 Puedes usar:

  • IFTTT o Telegram Bot para notificaciones push
  • Blynk, Node-RED, Home Assistant para dashboard inteligente

🤖 Proyecto 3: Robot que cambia de dirección al chocar

Objetivo: El robot evita obstáculos cambiando de dirección si detecta un choque (con dos motores).

🧰 Componentes:

  • Arduino Uno/Nano
  • FC-06 montado en la parte frontal
  • L298N (controlador para motores DC)
  • Dos motores
  • Batería Li-ion o paquete de 6xAA

🖇️ Conexiones básicas:

  • FC-06 S → D2
  • Motores y controlador según el esquema L298N
  • FC-06 GND y VCC → Arduino

💻 Código de ejemplo:

#define shockPin 2
#define in1 3
#define in2 4
#define in3 5
#define in4 6

void setup() {
 pinMode(shockPin, INPUT);
 pinMode(in1, OUTPUT);
 pinMode(in2, OUTPUT);
 pinMode(in3, OUTPUT);
 pinMode(in4, OUTPUT);
 moveForward();
}

void loop() {
 if (digitalRead(shockPin) == LOW) {
 moveBackward();
 delay(500);
 turnRight();
 delay(500);
 moveForward();
 }
}

void moveForward() {
 digitalWrite(in1, HIGH); digitalWrite(in2, LOW);
 digitalWrite(in3, HIGH); digitalWrite(in4, LOW);
}

void moveBackward() {
 digitalWrite(in1, LOW); digitalWrite(in2, HIGH);
 digitalWrite(in3, LOW); digitalWrite(in4, HIGH);
}

void turnRight() {
 digitalWrite(in1, HIGH); digitalWrite(in2, LOW);
 digitalWrite(in3, LOW); digitalWrite(in4, HIGH);
}

🚗 Expandible con:

  • Sensores IR/ultrasonidos para evitar obstáculos
  • Giroscopio para autobalanceo


🌍 Proyecto: Detector de terremotos low-cost con umbral y alarma

🎯 Objetivo:

  • Detectar temblores o vibraciones con un cierto nivel de sensibilidad.
  • Activar una alarma (zumbador/LED/sirena).
  • Registrar los eventos a través de serie o SD.
  • (Opcional) Enviar notificaciones a través de Wi-Fi o GSM.

🧰 Componentes necesarios:

Componente Cantidad Notas
Arduino Uno / Nano 1 Cualquier compatible es bueno
Sensor FC-06 1 Sensor de vibración/susto
Zumbador activo o pasivo 1 Para alarma acústica
LED rojo/amarillo/verde 2–3 Para estado y alarma
Resistencia 220–330Ω 2–3 Para los LEDs
Módulo SD (opcional) 1 Para registro de eventos
RTC DS3231 (opcional) 1 Para fecha/hora
Módulo GSM/WiFi (opcional) 1 Para notificación SMS o web
Placa de pruebas + jumper – Conexiones

🔌 Conexiones esenciales

FC-06 Pin Arduino
VCC 5 V
GND GND
S D2

| Buzzer | D8 (a través de transistor si es necesario) |
| LED Rojo | D9 |
| LED Verde | D10 |


💡 Funcionamiento

  • El sensor FC-06 envía un impulso (LOW) cuando detecta vibraciones.
  • Arduino cuenta los impulsos en una ventana de tiempo (por ejemplo, 10 segundos).
  • Si supera un umbral establecido → se activa la alarma (buzzer/LED).
  • De lo contrario, permanece en modo de espera con el LED verde encendido.
  • También puedes guardar los eventos en SD o enviar notificaciones.

💻 Código completo

const int shockPin = 2;
const int ledVerde = 10;
const int ledRosso = 9;
const int buzzer = 8;

int shockCount = 0;
unsigned long lastCheck = 0;
const int interval = 10000; // 10 secondi
const int threshold = 5; // soglia eventi

void setup() {
 pinMode(shockPin, INPUT);
 pinMode(ledVerde, OUTPUT);
 pinMode(ledRosso, OUTPUT);
 pinMode(buzzer, OUTPUT);
 Serial.begin(9600);
 attachInterrupt(digitalPinToInterrupt(shockPin), countShock, FALLING);
}

void loop() {
 if (millis() - lastCheck >= interval) {
 lastCheck = millis();
 Serial.print("Shock rilevati: ");
 Serial.println(shockCount);

 if (shockCount >= threshold) {
 allarme();
 } else {
 standby();
 }

 shockCount = 0; // reset contatore
 }
}

void countShock() {
 shockCount++;
}

void allarme() {
 digitalWrite(ledVerde, LOW);
 digitalWrite(ledRosso, HIGH);
 for (int i = 0; i < 5; i++) {
 digitalWrite(buzzer, HIGH);
 delay(200);
 digitalWrite(buzzer, LOW);
 delay(200);
 }
 digitalWrite(ledRosso, LOW);
}

void standby() {
 digitalWrite(ledVerde, HIGH);
 digitalWrite(ledRosso, LOW);
}

⚙️ Personalizaciones útiles

📈 Modificar el umbral

const int threshold = 5;

→ aumenta si tienes vibraciones ambientales no significativas.

📁 Añadir SD

Para registrar sacudidas:

#include <SD.h>
...
File dataFile;
dataFile = SD.open("quake.txt", FILE_WRITE);
if (dataFile) {
 dataFile.print("Scossa alle ");
 dataFile.println(millis());
 dataFile.close();
}

📲 Enviar alarmas por GSM (SIM800L/SIM900)

Serial.println("AT+CMGF=1");
Serial.println("AT+CMGS="+391234567890"");
Serial.print("Terremoto rilevato!");
Serial.write(26); // Ctrl+Z

🧪 Pruebas recomendadas

Prueba Método Esperado
Golpe seco en la mesa Tocar cerca del sensor Se activan el LED rojo y el buzzer
Vibración constante Motores vibrador Se alcanza el umbral después de unos segundos
Ambiente estático Sin movimiento Sin activación

📦 Expansiones posibles

  • Integración con Home Assistant / MQTT (a través de ESP8266)
  • Guardado de datos con timestamp en SD/RTC
  • Notificaciones por bot de Telegram o Pushbullet
  • Filtro de software para eliminar falsos positivos

✅ Conclusión

Este proyecto ofrece una base concreta para un sistema antivibración / antiterritorio, útil en:

  • Obras
  • Monitoreo de objetos frágiles
  • Sistemas civiles de alarma inicial

GENERALES

MODELO

Sensor de Shock FC-06

MATERIALES

pbc + metal + componentes

COMPATIBILIDAD

ARDUINO

COMPONENTES ELÉCTRICOS

VOLTAJE DE ENTRADA

5V

PESO Y DIMENSIONES

PESO DEL PRODUCTO

10g

PESO DEL PAQUETE

0.2 kg

DIMENSIONES DEL PRODUCTO

(L x W x H)

24 x 1,5 x 1 cm

DIMENSIONES DEL PAQUETE

(L x W x H)

10 x 5 x 2 cm

CONTENIDO DE LA CONFECCIÓN

CONTENIDO DE LA CONFECCIÓN

1 x Módulo

Tenemos disponibles datasheet de todos los componentes, si no está presente en la hoja de descarga del producto, envíanos un mensaje a través del formulario de contacto y lo publicaremos lo antes posible en nuestro sitio web.

Tutorial: Cómo usar el Sensor Shock Tilt FC-06

El módulo FC-06 detecta vibraciones y movimientos bruscos. Perfecto para proyectos de seguridad o monitoreo.

Qué necesitas

  • Arduino Uno
  • Cable USB
  • Placa de pruebas

Pasos

  1. Conectar VCC a 5V en Arduino.
  2. Conectar GND al pin GND en Arduino.
  3. Conectar OUT al pin digital 2 en Arduino.
  4. Descargar el código fuente proporcionado.
  5. Abre el IDE de Arduino y carga el sketch.
  6. Verifica los datos en el datasheet para una calibración precisa.

Código de ejemplo

const int shockPin = 2;
void setup() {
pinMode(shockPin, INPUT);
}

void loop() {
int shockState = digitalRead(shockPin);
if (shockState == HIGH) {
Serial.println("Shock rilevato");
}
}

Miniproyecto

Crea un sistema de alarma doméstico que envía una notificación por correo electrónico cuando se detecta una vibración.

Errores comunes

  • Conexión incorrecta del pin OUT.
  • Ignorar la calibración necesaria.
  • No verificar los datos en el datasheet.

Accesorios recomendados

  • Módulo Wi-Fi ESP8266
  • Buzzer
  • Relay Module 5V

Preguntas frecuentes

¿Cuál es la alimentación mínima?
Verifica en el datasheet para la tensión de alimentación mínima necesaria.

¿Puede usarse con Raspberry Pi?
Sí, pero podría requerir un convertidor de nivel lógico.

Valoraciones

No hay valoraciones aún.

Sé el primero en valorar “Módulo Sensor de Choque Inclinación FC-06 Sensor Vibración”

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *