project 36: Unique mark based Car Ignition System utilizing Arduino and RFID
Unique mark based Car Ignition System utilizing Arduino and RFID:
These days the greater part of the vehicle accompanies keyless section and press button start framework, in which you just need to convey the key in your pocket and simply need to place the capacitive sensor on the entryway handle to open the vehicle entryway. Here in this undertaking, we are adding a couple of greater security highlights to this framework by utilizing RFID and Fingerprint sensor. RFID sensor will approve the permit of the client and the unique mark sensor will just permit an approved individual in the vehicle.
For this Fingerprint Based Car Ignition System, we are utilizing Arduino with a R305 Fingerprint sensor and an EM18 RFID peruser.
Materials Used
- Arduino Nano
- R305 Fingerprint sensor
- EM18 RFID reader
- 16*2 Alphanumeric LCD
- DC motors
- L293D Motor driver IC
- Veroboard or Breadboard (Whichever is available)
- Connecting wires
- 12V DC Battery
EM18 Features:
- Operating voltage: +4.5V to +5.5V DC
- Current consumption: 50mA
- Operating frequency: 125KHZ
- Operating temperature: 0-80 degree C
- Communication Baud Rate: 9600
- Reading distance: 8-12 cm
- Antenna: Inbuilt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | #include <Adafruit_Fingerprint.h> #include <LiquidCrystal.h> char input[12]; int count = 0; int a = 0; const int rs = 6, en = 7, d4 = 2, d5 = 3, d6 = 4, d7 = 5; LiquidCrystal lcd(rs, en, d4, d5, d6, d7); SoftwareSerial mySerial(12,11); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); void setup() { pinMode(9,OUTPUT); pinMode(10,OUTPUT); digitalWrite(9,LOW); digitalWrite(10,LOW); Serial.begin(9600); lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print( " WELCOME TO " ); lcd.setCursor(0, 1); lcd.print( " CIRCUIT DIGEST " ); delay(2000); lcd.clear(); lcd.setCursor(0, 0); lcd.print( "Please swipe " ); lcd.setCursor(0, 1); lcd.print( "Your License " ); } void loop() { if (Serial.available()) { count = 0; while (Serial.available() && count < 12) { input[count] = Serial.read(); count++; delay(5); } if (count == 12) { if (( strncmp (input, "3F009590566C" , 12) == 0) && (a == 0)) { lcd.setCursor(0, 0); lcd.print( "License Valid " ); lcd.setCursor(0, 1); lcd.print( "Welcome " ); delay(1000); a = 1; fingerprint(); } else if (( strncmp (input, "0B0028883E95" , 12) == 0) && (a == 0)) { lcd.setCursor(0, 0); lcd.print( "License Valid " ); lcd.setCursor(0, 1); lcd.print( "Welcome " ); delay(1000); a = 1; fingerprint(); } else { if (a != 1) { lcd.setCursor(0, 0); lcd.print( "License Invalid " ); lcd.setCursor(0, 1); lcd.print( "Try Again!!! " ); delay(2000); lcd.clear(); lcd.setCursor(0, 0); lcd.print( "Please swipe " ); lcd.setCursor(0, 1); lcd.print( "Your License " ); } } } } } int getFingerprintID() { 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; return finger.fingerID; } void fingerprint() { finger.begin(57600); while (a==1) { int fingerprintID = getFingerprintID(); delay(50); if (fingerprintID == 1) { lcd.setCursor(0, 0); lcd.print( "Access Granted " ); lcd.setCursor(0, 1); lcd.print( "Vehicle Started " ); digitalWrite(9,HIGH); digitalWrite(10,LOW); while (1); } else if (fingerprintID == 2) { lcd.setCursor(0, 0); lcd.print( "Access Granted " ); lcd.setCursor(0, 1); lcd.print( "Vehicle Started " ); digitalWrite(9,HIGH); digitalWrite(10,LOW); while (1); } else { lcd.setCursor(0, 0); lcd.print( "Pls Place a " ); lcd.setCursor(0, 1); lcd.print( "Valid Finger " ); } } } |