Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Mejora la Seguridad de tu Motocicleta con un Sistema de Sensor Biométrico

Componentes y materiales

Componente Cantidad
Arduino Mini 05 (Pro Mini) 1
Relé (genérico) 1
Sensor biométrico - Modelo: FPM10A 1 Lector de huellas dactilares óptico
Módulo regulador de voltaje (Digilent) 1

Herramientas necesarias

Aplicaciones y servicios online

Sobre el proyecto

Ante la gran cantidad de robos de motocicletas, usamos un Arduino Pro Mini para desarrollar un sistema antirrobo que vincula la moto al registro digital del usuario mediante huella dactilar.

Canal Sandro Mesquita Roboticamente

Código

Código del Sistema de Seguridad para Motocicleta

/***************************************************
 * Ejemplo para sensor óptico de huella dactilar Adafruit
 * Diseñado para Adafruit Fingerprint Sensor #751
 * Comunicación serie TTL, 2 pines requeridos
 * Licencia BSD - Todo el texto anterior debe incluirse en redistribución
 ****************************************************/
int clave = 0;
int verde = 5;
int azul = 4;
int rojo = 6;
int rele = 7;

#include <Adafruit_Fingerprint.h>
// En Leonardo/Micro u otros con serial hardware, usar Serial1
// #0 cable verde, #1 cable blanco
// #define mySerial Serial1

// Para UNO y otros sin serial hardware, usar SoftwareSerial
// Pin #2 = IN del sensor (cable VERDE)
// Pin #3 = OUT del Arduino (cable BLANCO)
SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

void setup() {
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  digitalWrite(rele, 1); // Relé normalmente cerrado (desactivado)
  
  delay(100);
  digitalWrite(azul, 1); // LED azul: inicializando
  
  finger.begin(57600); // Iniciar sensor a 57600 baudios
  
  // Verificación de contraseña del sensor (comentado)
  /* if (finger.verifyPassword()) {
       Serial.println("Sensor de huella encontrado!");
     } else {
       Serial.println("No se encontró sensor de huella :(");
       while (1) { delay(1); }
     } */
  
  // finger.getTemplateCount();
  // Serial.print("Sensor contiene "); Serial.print(finger.templateCount); Serial.println(" plantillas");
  
  digitalWrite(azul, 0);
  digitalWrite(rojo, 1); // LED rojo: esperando huella
  digitalWrite(verde, 0);
}

void loop() {
  if (getFingerprintIDez() == 1) {
    clave = !clave; // Alternar estado
    delay(500);     // Antirrebote
  }
  digitalWrite(rele, !clave); // Relé activo en bajo
  digitalWrite(verde, clave); // LED verde: acceso concedido
  digitalWrite(rojo, digitalRead(rele)); // LED rojo: acceso denegado
  delay(50);
}

// Función completa de obtención de ID con mensajes de debug
uint8_t getFingerprintID() {
  uint8_t p = finger.getImage();
  switch (p) {
    case FINGERPRINT_OK: break;
    case FINGERPRINT_NOFINGER: return p;
    case FINGERPRINT_PACKETRECIEVEERR: return p;
    case FINGERPRINT_IMAGEFAIL: return p;
    default: return p;
  }
  
  p = finger.image2Tz();
  switch (p) {
    case FINGERPRINT_OK: break;
    case FINGERPRINT_IMAGEMESS: return p;
    case FINGERPRINT_PACKETRECIEVEERR: return p;
    case FINGERPRINT_FEATUREFAIL: return p;
    case FINGERPRINT_INVALIDIMAGE: return p;
    default: return p;
  }
  
  p = finger.fingerFastSearch();
  if (p == FINGERPRINT_OK) {
    // Serial.println("¡Coincidencia encontrada!");
  } else if (p == FINGERPRINT_PACKETRECIEVEERR) { return p; }
  else if (p == FINGERPRINT_NOTFOUND) { return p; }
  else { return p; }
  
  // Serial.print("ID encontrado #"); Serial.print(finger.fingerID);
  // Serial.print(" con confianza "); Serial.println(finger.confidence);
  return finger.fingerID;
}

// Versión simplificada: devuelve -1 si falla, sino ID
int getFingerprintIDez() {
  uint8_t p = finger.getImage();
  if (p != FINGERPRINT_OK) return -1;
  p = finger.image2Tz();
  if (p != FINGERPRINT_OK) return -1;
  p = finger.fingerFastSearch();
  if (p != FINGERPRINT_OK) return -1;
  
  // Serial.print("ID encontrado #"); Serial.print(finger.fingerID);
  // Serial.print(" confianza "); Serial.println(finger.confidence);
  return finger.fingerID; // Devuelve ID si coincide, activa alternancia
}

Esquemas

Mejora la Seguridad de tu Motocicleta con un Sistema de Sensor Biométrico

Funcionamiento

Al detectar una huella registrada, el sistema alterna el estado del relé (encendido/apagado), permitiendo o impidiendo el arranque de la motocicleta. Incluye antirrebote de 500ms para evitar lecturas múltiples accidentales.

Proceso de manufactura

  1. Detector de idiomas TinyML con Edge Impulse en Arduino Nano 33 BLE Sense
  2. Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
  3. Sistema de Sensor de Temperatura Multiposición para Integración en Hogar Inteligente
  4. Construye tu Propio Juego de Ruleta de 37 LEDs con Arduino Nano
  5. Monitor de Salud Fluvial: Sistema de Calidad de Agua con Arduino
  6. ATtiny85 Mini Arcade: Snake – Construye una Consola Portátil OLED
  7. Detector de Rango Portátil – Kit DIY Arduino Nano con HC-SR04, Batería 18650 y Carcasa Impresa en 3D
  8. Proyecto de electroplacado de cobre: Construye un sistema inteligente con Arduino UNO
  9. Pong Neón en Matriz NeoPixel con Arduino Nano
  10. Estación meteorológica Arduino Nano: Sensores BMP280, DHT11, UV y RTC en OLED 0,96"
  11. Crea Secuencias de Luz Impactantes con Arduino y Registro de Desplazamiento