Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Sécurisation moto par système biométrique à capteur d'empreintes

Composants et fournitures

Arduino Mini 05 (Pro Mini) × 1
Relais (générique) × 1
Capteur biométrique FPM10A (empreintes digitales) × 1
Module régulateur de tension Digilent × 1

Outils nécessaires

Applications et services en ligne

À propos du projet

Face aux nombreux vols de motos, nous avons développé un système antivol utilisant un Arduino Pro Mini qui lie la moto à l'enregistrement numérique de l'utilisateur via son empreinte digitale.

Canal Sandro Mesquita Roboticamente

Code

Code du système de sécurité moto

/***************************************************
 * Exemple pour capteur d'empreintes optique Adafruit
 * Conçu pour fonctionner avec le capteur Adafruit BMP085
 * Communication série TTL, 2 pins requis
 * Licence BSD, tout le texte ci-dessus doit être inclus dans toute redistribution
 ****************************************************/

int chave = 0;
int verde = 5;
int azul = 4;
int vermelho = 6;
int rele = 7;

#include <Adafruit_Fingerprint.h>
// Sur Leonardo/Micro ou autres avec série matériel, utilisez ceux-ci !
// #0 = fil vert, #1 = fil blanc
// #define mySerial Serial1

// Pour UNO et autres sans série matériel, utiliser SoftwareSerial
// Pin #2 = entrée depuis capteur (fil VERT)
// Pin #3 = sortie vers Arduino (fil BLANC)
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); // Relais au repos (coupé)
  delay(100);
  digitalWrite(azul, 1); // LED bleue = initialisation
  finger.begin(57600);   // Vitesse série capteur
  
  // Vérification mot de passe capteur (commenté)
  /* if (finger.verifyPassword()) {
       Serial.println("Found fingerprint sensor!");
     } else {
       Serial.println("Did not find fingerprint sensor :(");
       while (1) { delay(1); }
     } */
  
  // finger.getTemplateCount();
  // Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
  // Serial.println("Waiting for valid finger...");
  
  digitalWrite(azul, 0);
  digitalWrite(vermelho, 1); // LED rouge = en attente d'empreinte
  digitalWrite(verde, 0);
}

void loop() {
  if (getFingerprintIDez() == 1) {
    chave = !chave; // Bascule état
    delay(500);
  }
  digitalWrite(rele, !chave);     // Relais : actif si clé autorisée
  digitalWrite(verde, chave);     // LED verte = autorisé
  digitalWrite(vermelho, digitalRead(rele)); // LED rouge = refusé
  delay(50);
}

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("Found a print match!");
  } else if (p == FINGERPRINT_PACKETRECIEVEERR) return p;
  else if (p == FINGERPRINT_NOTFOUND) return p;
  else return p;
  
  // Serial.print("Found ID #"); Serial.print(finger.fingerID);
  // Serial.print(" with confidence of "); Serial.println(finger.confidence);
  return finger.fingerID;
}

// Retourne -1 si échec, sinon 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("Found ID #"); Serial.print(finger.fingerID);
  // Serial.print(" with confidence of "); Serial.println(finger.confidence);
  return finger.fingerID;
}

Schéma

Sécurisation moto par système biométrique à capteur d empreintes

Principe de fonctionnement : Le capteur FPM10A lit l'empreinte digitale. Si elle correspond à un enregistrement autorisé, le relais bascule (active le circuit d'allumage/démarrage). LEDs indicatrices : bleu = initialisation, rouge = attente/accès refusé, vert = accès autorisé.

Processus de fabrication

  1. Détecteur de langue TinyML avec Edge Impulse sur Arduino Nano 33 BLE Sense
  2. Dé numérique Arduino sur écran LCD 16x2 – Générateur aléatoire à bouton poussoir
  3. Système de Capteur de Température Multi-Position pour Intégration Domotique
  4. Créer votre propre jeu de roulette à 37 LED avec Arduino Nano
  5. Surveillance de la Qualité de l'Eau : Système Arduino MKR1000 pour Rivières et Lacs
  6. ATtiny85 Mini Arcade : Snake – Construire une console de jeu portable OLED
  7. Détecteur de distance portable – Kit DIY Arduino Nano avec HC-SR04, alimentation 18650 et boîtier imprimé 3D
  8. Projet de galvanoplastie au cuivre : Construisez un système intelligent avec Arduino UNO
  9. Jeu Pong sur Matrice NeoPixel avec Arduino Nano