Make Fingerprint Scanner for Bike Ignition

by Pro Maker_101 in Circuits > Electronics

2495 Views, 7 Favorites, 0 Comments

Make Fingerprint Scanner for Bike Ignition

Screenshot (6).png
Screenshot (8).png
Screenshot (7).png

This project we have made a fingerprint Scanner for Bike Ignition. We can start our bike with a fingerprint or a key

WORKING

Fingerprint Bike Starter

INDRODUCTION

Screenshot (6).png

we designed the system to control bike to engine Turn On and Turn Off using Fingerprint. With the fingerprint security live keyless and start your bike using just a fingerprint scan. It will allow for multiple user registration so that only authorized members may operate the bike.

In operation, the system is powered by a 12V battery of the bike(Arduino and other components work on 5v. then need a 12/24v To 5v Converter). For the electricity, we can add a switch to control the fingerprint sensor. Arduino Nano used for this project. Because Arduino Nano is a cheap and best Module. The fingerprint authorization feature works as we had originally planned. Our system features an enrollment process where the user may follow instructions on the serial monitor to authorize their fingerprint. They are certain setups also. The next step in the project was Coding. Here we use Arduino ide for the Arduino NANO programming. This platform is easy for beginners. So that anyone can able to write the code. I also mention the code in the latest of the Post. So don’t need to write the code. Just copy-paste the program and upload it to your microcontroller. I made the full details in the video. You can also refer to that. When an authorized fingerprint is applied, the relay will move to the position opposite the current state. That means the relay has two states Normally Closed (NC) and Normally Open (NO). So that it will moves to NO to NC position. You can see a LED, This light will only light up if the fingerprint is correct

REQUIRED COMPONENTS

  • R307 Fingerprint Sensor Module
  • Arduino Nano
  • 12-24v To 5v converter (You can use the car charger)
  • 5v Relay module
  • LED
  • DP-DT Switch

SCHEMATIC

Step 3.png

Therefore, case you want your own PCB, you can obtain through this link on PCBWay.com. You can also order good quality PCBS from PCBWay.com at low cost. In addition to the standard pcbs, we could also support advanced pcbs, FPC/rigid -flex pcbs, rapid-rpototyping and other related services that could meet your needs to the most extent.

PCB order steps on PCBWay:

  1. Visit the website: www.pcbway.com
  2. Click PCB Instant Quote
  3. Click quick-order PCB Upload the gerber file by clicking "+Add Gerber File" and wait until the gerber file is finished
  4. uploading Set the PCB specifications as you wish, starting from the number of PCBs, the number of layers, thickness, color and others. After that, look at the left, it will display the estimated cost,
  5. processing time and delivery service selected.
  6. Click Save to cart

CIRCUIT DIAGRAM

20210311_105818.png

SOFTWARES

CODE

Screenshot (18).png
Screenshot (19).png

First you need to install Adafruit Fingerprint library on Arduino Software. Once installed go to ( File > Examples > Adafruit Fingerprint Librery > enroll ) Then you can add your fingerprint...

Then upload this code

#define RELAY1 9
#define RELAY_OFF LOW #define RELAY_ON HIGH

#include #include

int getFingerprintIDez();

// pin #2 is IN from sensor (GREEN wire) // pin #3 is OUT from arduino (WHITE wire) SoftwareSerial mySerial(2, 3); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

// On Leonardo/Micro or others with hardware serial, use those! #0 is green wire, #1 is white //Adafruit_Fingerprint finger = Adafruit_Fingerprint(&Serial1); boolean lastButton = LOW; boolean relayOn = false; void setup() { pinMode(RELAY1, OUTPUT); digitalWrite(RELAY1, RELAY_ON); pinMode(5, OUTPUT); digitalWrite(5, LOW);

while (!Serial); // For Yun/Leo/Micro/Zero/...

Serial.begin(9600); Serial.println("Adafruit finger detect test");

// 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); } Serial.println("Waiting for valid finger..."); }

void loop() // run over and over again { getFingerprintIDez(); 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); }

// 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); if (finger.confidence > 70) {

digitalWrite(RELAY1, RELAY_OFF);

Serial.println("Opening door for 4 seconds"); digitalWrite(5, HIGH); Serial.println("Stop that door, mate"); } return finger.fingerID; }

WARNING

Try to fix well Fingerprint sensor on Bike. Because when the water will get inside the bike.it will cause damage fingerprint sensor and short circuit of your entire bike circuit and damage..

Thankyou...