Project tutorial
Biometric Sensor in Motorcycle Hornet

Biometric Sensor in Motorcycle Hornet © GPL3+

A digital finger sensor to protect against theft.

  • 19,859 views
  • 45 comments
  • 99 respects

Components and supplies

Necessary tools and machines

Apps and online services

About this project

In the face of so many motorcycle thefts, we used an Arduino Pro Mini to develop an anti-theft system that connects the bike through the digital user's registration.

Canal Sandro Mesquita Roboticamente

Code

Code of security System MotorcycleArduino
/*************************************************** 
  This is an example sketch for our optical Fingerprint sensor

  Designed specifically to work with the Adafruit BMP085 Breakout 
  ----> http://www.adafruit.com/products/751

  These displays use TTL Serial to communicate, 2 pins are required to 
  interface
  Adafruit invests time and resources providing this open source code, 
  please support Adafruit and open-source hardware by purchasing 
  products from Adafruit!

  Written by Limor Fried/Ladyada for Adafruit Industries.  
  BSD license, all text above must be included in any redistribution
 ****************************************************/
int chave=0;
int verde=5;
int azul=4;
int vermelho=6;
int rele=7;
#include <Adafruit_Fingerprint.h>

// On Leonardo/Micro or others with hardware serial, use those! #0 is green wire, #1 is white
// uncomment this line:
// #define mySerial Serial1

// For UNO and others without hardware serial, we must use software serial...
// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino  (WHITE wire)
// comment these two lines if using hardware serial
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);
  //Serial.begin(9600);
  //while (!Serial);  // For Yun/Leo/Micro/Zero/...
  delay(100);
  //Serial.println("\n\nAdafruit finger detect test");
  digitalWrite(azul,1);
  // set the data rate for the sensor serial port
  finger.begin(57600);
  /*
  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);
  digitalWrite(verde,0);
}


void loop()                     // run over and over again
{
  
  if(getFingerprintIDez()==1){
    chave=!chave;
    
    delay(500);
  }
  digitalWrite(rele,!chave);
  digitalWrite(verde,chave);
  digitalWrite(vermelho,digitalRead(rele));
  delay(50);            //don't ned to run this at full speed.
}

uint8_t getFingerprintID() {
  uint8_t p = finger.getImage();
  switch (p) {
    case FINGERPRINT_OK:
      //Serial.println("Image taken");
      break;
    case FINGERPRINT_NOFINGER:
      //Serial.println("No finger detected");
      return p;
    case FINGERPRINT_PACKETRECIEVEERR:
      //Serial.println("Communication error");
      return p;
    case FINGERPRINT_IMAGEFAIL:
      //Serial.println("Imaging error");
      return p;
    default:
      //Serial.println("Unknown error");
      return p;
  }

  // OK success!

  p = finger.image2Tz();
  switch (p) {
    case FINGERPRINT_OK:
      //Serial.println("Image converted");
      break;
    case FINGERPRINT_IMAGEMESS:
      //Serial.println("Image too messy");
      return p;
    case FINGERPRINT_PACKETRECIEVEERR:
      //Serial.println("Communication error");
      return p;
    case FINGERPRINT_FEATUREFAIL:
      //Serial.println("Could not find fingerprint features");
      return p;
    case FINGERPRINT_INVALIDIMAGE:
      //Serial.println("Could not find fingerprint features");
      return p;
    default:
      //Serial.println("Unknown error");
      return p;
  }
  
  // OK converted!
  p = finger.fingerFastSearch();
  if (p == FINGERPRINT_OK) {
    //Serial.println("Found a print match!");
  } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
    //Serial.println("Communication error");
    return p;
  } else if (p == FINGERPRINT_NOTFOUND) {
    //Serial.println("Did not find a match");
    return p;
  } else {
    //Serial.println("Unknown error");
    return p;
  }   
  
  // found a match!
  //Serial.print("Found ID #"); Serial.print(finger.fingerID); 
  //Serial.print(" with confidence of "); Serial.println(finger.confidence); 

  return finger.fingerID;
}

// returns -1 if failed, otherwise returns 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;
  
  // found a match!
  
  //Serial.print("Found ID #"); Serial.print(finger.fingerID); 
  //Serial.print(" with confidence of "); Serial.println(finger.confidence);
  return finger.fingerID; 
}

Schematics

Wiring diagram
Digital moto bb v3ky9cuacd

Comments

Similar projects you might like

How to Make a Smart Central Lock System for Motorcycle

Project tutorial by Shubham Shinganapure

  • 10,305 views
  • 2 comments
  • 25 respects

Motorcycle Controlled by Digital or Mobile

Project showcase by 3 developers

  • 13,407 views
  • 21 comments
  • 50 respects

Touch Sensor and Sound Sensor Controlling AC/DC Lights

Project showcase by Anbumachi

  • 7,534 views
  • 2 comments
  • 8 respects

Android App-Based Home Automation System Using IOT

Project tutorial by Team Autoshack

  • 74,387 views
  • 23 comments
  • 174 respects

Automatic Fan with PIR Sensor and LM35 Sensor

by Jamaluddin

  • 15,386 views
  • 6 comments
  • 20 respects

Biometric Car Entry - True Keyless Car

Project showcase by Rajeev Velikkal

  • 18,682 views
  • 13 comments
  • 56 respects
Add projectSign up / Login