Skip to main content
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
Bumped by Community user
edited title
Link
dda
  • 1.6k
  • 1
  • 12
  • 18

RFID+Fingerprint sensor CODEcode

Bumped by Community user
Bumped by Community user
typo and code alignment
Source Link
dda
  • 1.6k
  • 1
  • 12
  • 18

imI'm trying to create a security door system whichthat uses an rfidRFID and fingerprint sensor (adafruitAdafruit) to allow/deny access to a door system. I have the fingerprint sesnorsensor and rfidRFID hooked up to an LED, but the code ins'tisn't working very well. I want the LEdLED to light only and only when both fingerprints and rfidRFID are verified and true. hereHere is my preliminary code [code].

//HEADERFILES 
#include <SPI.h> //rfid 
#include <MFRC522.h>//rfid 
#include <Adafruit_Fingerprint.h> //FINGERPRINT
#include <SoftwareSerial.h> //FINGERPRINT
#include<stdint.h> //FINGERPRINT

 

//rfid settings
#define RST_PIN         9          // rfid pin 9 RST_pin
#define SS_PIN          10         // rfid pin 10 SS_pin
 
MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance
 
String read_rfid;
String ok_rfid_1=ok_rfid_1 = "cbb427b2"; //white card
String ok_rfid_2="0ebb14f39";ok_rfid_2 = "0ebb14f39"; //blue key chain

//fingerprint settings
 
int getFingerprintIDez();
 
// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino  (YELLOW wire)
 
SoftwareSerial mySerial(2, 3);   
//activates serial communication on pin 2 & 3
 
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//output garage door pin
 
int door = 7; //motor to door
 

void dump_byte_array(byte * buffer , byte bufferSize){ { //why so important
read_rfid="";  read_rfid = "";
  for (byte i=0;i i<= 0; i < bufferSize; i++) {
    read_rfid=read_rfidread_rfid = read_rfid + String(buffer[i], HEX);
  }
}
 
void setup() {
  //RFID setup
 
  Serial.begin(9600);  
  // Initialize serial communications with the PC
  while (!Serial);   
  // Do nothing if no serial port is opened (added 
  for     Arduinos based on ATMEGA32U4)
  finger.begin(57600);
  SPI.begin();      // Init SPI bus
  mfrc522.PCD_Init();   // Init MFRC522 rfidRFID
  pinMode (door, OUTPUT);
 
  //FINGERPRINT setup
  {
    while (!Serial);  // For Yun/Leo/Micro/Zero/...
 
    if (finger.verifyPassword()) {
      Serial.println("Found fingerprint sensor!");
    } else {
      Serial.println("Did not find fingerprint sensor :(");
      while (1);
    }
    Serial.println("Waiting for valid finger...");
  }

}

// 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;
  }
}



//DOOR/OUTPUT PIN PROPERTIES CHANGE TO REFLECT HOW FAST AND HOW LONG MOTOR     PULLS DOOR USING DIGITALWRITE; BREAK..   //USING LED FOR NOW 
       
void open_door() { 
  
 digitalWrite (door, HIGH);
  delay (2000);
  digitalWrite (door, LOW);
}


void loop() {
  // RFID LOOP SETTINGS                                                   `
  if ( ! mfrc522.PICC_IsNewCardPresent()) {     // Look for new cards
    return;
  }  
  if ( ! mfrc522.PICC_ReadCardSerial()) {       // Select one of the c ards
    return;
  }
  dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  Serial.println(read_rfid);
  // FINGERPRINT LOOP SETTINGS

  getFingerprintID();  // start fingerprint sensor    
  delay(100);
 
  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;
    } 

   
  p = finger.fingerFastSearch();
      if (p == FINGERPRINT_OK && read_rfid == ok_rfid_1) {
      Serial.println(ok_rfid_1);
      open_door();
      } 

  
 }
 
[/code]

AND THIS IS THE ERROR WHICHAnd this is the error I AM GETTINGam getting

Arduino: 1.8.1 (Windows 10), Board: "Arduino/Genuino Uno"

fingerprint:127: error: expected unqualified-id before '{' token

{

^

exit status 1 expected unqualified-id before '{' token

This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

Arduino: 1.8.1 (Windows 10), Board: "Arduino/Genuino Uno"

fingerprint:127: error: expected unqualified-id before '{' token

 {

 ^

exit status 1
expected unqualified-id before '{' token

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I am a newbienew to this so please barebear with meme and explain in childish manner if possible.

im trying to create a security door system which uses an rfid and fingerprint sensor (adafruit) to allow/deny access to a door system. I have the fingerprint sesnor and rfid hooked up to an LED but the code ins't working very well. I want the LEd to light only and only when both fingerprints and rfid are verified and true. here is my preliminary code [code]

//HEADERFILES 
#include <SPI.h> //rfid 
#include <MFRC522.h>//rfid 
#include <Adafruit_Fingerprint.h> //FINGERPRINT
#include <SoftwareSerial.h> //FINGERPRINT
#include<stdint.h> //FINGERPRINT

 

//rfid settings
#define RST_PIN         9          // rfid pin 9 RST_pin
#define SS_PIN          10         // rfid pin 10 SS_pin
 
MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance
 
String read_rfid;
String ok_rfid_1= "cbb427b2"; //white card
String ok_rfid_2="0ebb14f39"; //blue key chain

//fingerprint settings
 
int getFingerprintIDez();
 
// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino  (YELLOW wire)
 
SoftwareSerial mySerial(2, 3);  //activates serial communication on pin 2 & 3
 
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//output garage door pin
 
int door = 7; //motor to door
 

void dump_byte_array(byte * buffer , byte bufferSize){  //why so important
read_rfid=""; 
for (byte i=0; i< bufferSize; i++) {
    read_rfid=read_rfid + String(buffer[i], HEX);
}
}
 
void setup(){
//RFID setup
 
  Serial.begin(9600);   // Initialize serial communications with the PC
  while (!Serial);    // Do nothing if no serial port is opened (added 
  for     Arduinos based on ATMEGA32U4)
  finger.begin(57600);
  SPI.begin();      // Init SPI bus
  mfrc522.PCD_Init();   // Init MFRC522 rfid
pinMode (door, OUTPUT);
 
//FINGERPRINT setup
 {
  while (!Serial);  // For Yun/Leo/Micro/Zero/...
 
 if (finger.verifyPassword()) {
    Serial.println("Found fingerprint sensor!");
  } else {
    Serial.println("Did not find fingerprint sensor :(");
    while (1);
  }
  Serial.println("Waiting for valid finger...");
}

}

// 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;
  }
}



//DOOR/OUTPUT PIN PROPERTIES CHANGE TO REFLECT HOW FAST AND HOW LONG MOTOR     PULLS DOOR USING DIGITALWRITE; BREAK..   //USING LED FOR NOW 
       
void open_door(){  
 digitalWrite (door, HIGH);
delay (2000);
digitalWrite (door, LOW);
}


void loop() {
// RFID LOOP SETTINGS                                                   `
  if ( ! mfrc522.PICC_IsNewCardPresent()) {     // Look for new cards
    return;
  }  
  if ( ! mfrc522.PICC_ReadCardSerial()) {       // Select one of the c ards
    return;
  }
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
Serial.println(read_rfid);
// FINGERPRINT LOOP SETTINGS

getFingerprintID();  // start fingerprint sensor    
 delay(100);
 
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;
  }
   
 p = finger.fingerFastSearch();
      if (p == FINGERPRINT_OK && read_rfid == ok_rfid_1){
  Serial.println(ok_rfid_1);
   open_door();
      }
  
 }
 
[/code]

AND THIS IS THE ERROR WHICH I AM GETTING

Arduino: 1.8.1 (Windows 10), Board: "Arduino/Genuino Uno"

fingerprint:127: error: expected unqualified-id before '{' token

{

^

exit status 1 expected unqualified-id before '{' token

This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

I am a newbie to this so please bare with me and explain in childish manner if possible.

I'm trying to create a security door system that uses an RFID and fingerprint sensor (Adafruit) to allow/deny access to a door. I have the fingerprint sensor and RFID hooked up to an LED, but the code isn't working very well. I want the LED to light only and only when both fingerprints and RFID are verified. Here is my preliminary code.

//HEADERFILES
#include <SPI.h> //rfid 
#include <MFRC522.h>//rfid 
#include <Adafruit_Fingerprint.h> //FINGERPRINT
#include <SoftwareSerial.h> //FINGERPRINT
#include<stdint.h> //FINGERPRINT

//rfid settings
#define RST_PIN         9          // rfid pin 9 RST_pin
#define SS_PIN          10         // rfid pin 10 SS_pin
MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance
String read_rfid;
String ok_rfid_1 = "cbb427b2"; //white card
String ok_rfid_2 = "0ebb14f39"; //blue key chain

//fingerprint settings
int getFingerprintIDez();
// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino  (YELLOW wire)
SoftwareSerial mySerial(2, 3); 
//activates serial communication on pin 2 & 3
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//output garage door pin
int door = 7; //motor to door

void dump_byte_array(byte * buffer , byte bufferSize) { //why so important
  read_rfid = "";
  for (byte i = 0; i < bufferSize; i++) {
    read_rfid = read_rfid + String(buffer[i], HEX);
  }
}

void setup() {
  //RFID setup
  Serial.begin(9600); 
  // Initialize serial communications with the PC
  while (!Serial); 
  // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
  finger.begin(57600);
  SPI.begin(); // Init SPI bus
  mfrc522.PCD_Init(); // Init MFRC522 RFID
  pinMode (door, OUTPUT);
  //FINGERPRINT setup
  {
    while (!Serial);  // For Yun/Leo/Micro/Zero/...
    if (finger.verifyPassword()) {
      Serial.println("Found fingerprint sensor!");
    } else {
      Serial.println("Did not find fingerprint sensor :(");
      while (1);
    }
    Serial.println("Waiting for valid finger...");
  }

}

// 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;
}
}



//DOOR/OUTPUT PIN PROPERTIES CHANGE TO REFLECT HOW FAST AND HOW LONG MOTOR     PULLS DOOR USING DIGITALWRITE; BREAK..   //USING LED FOR NOW

void open_door() { 
  digitalWrite (door, HIGH);
  delay (2000);
  digitalWrite (door, LOW);
}


void loop() {
  // RFID LOOP SETTINGS                                                   `
  if ( ! mfrc522.PICC_IsNewCardPresent()) {     // Look for new cards
    return;
  }
  if ( ! mfrc522.PICC_ReadCardSerial()) {       // Select one of the c ards
    return;
  }
  dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  Serial.println(read_rfid);
  // FINGERPRINT LOOP SETTINGS

  getFingerprintID();  // start fingerprint sensor
  delay(100);

  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;
    } 

    p = finger.fingerFastSearch();
    if (p == FINGERPRINT_OK && read_rfid == ok_rfid_1) {
      Serial.println(ok_rfid_1);
      open_door();
    } 

  }

And this is the error I am getting

Arduino: 1.8.1 (Windows 10), Board: "Arduino/Genuino Uno"

fingerprint:127: error: expected unqualified-id before '{' token

 {

 ^

exit status 1
expected unqualified-id before '{' token

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I am new to this so please bear with me and explain in childish manner if possible.

RFID+Fingerprint sesnorsensor CODE

//HEADERFILES #include <SPI.h> //rfid #include <MFRC522.h>//rfid #include <Adafruit_Fingerprint.h> //FINGERPRINT #include <SoftwareSerial.h> //FINGERPRINT #include<stdint.h> //FINGERPRINT

//rfid settings #define RST_PIN 9 // rfid pin 9 RST_pin #define SS_PIN 10 // rfid pin 10 SS_pin

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

String read_rfid; String ok_rfid_1= "cbb427b2"; //white card String ok_rfid_2="0ebb14f39"; //blue key chain

//fingerprint settings

int getFingerprintIDez();

// pin #2 is IN from sensor (GREEN wire) // pin #3 is OUT from arduino (YELLOW wire)

SoftwareSerial mySerial(2, 3); //activates serial communication on pin 2 & 3

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//output garage door pin

int door = 7; //motor to door

void dump_byte_array(byte * buffer , byte bufferSize){ //why so important read_rfid=""; for (byte i=0; i< bufferSize; i++) { read_rfid=read_rfid + String(buffer[i], HEX); } }

void setup(){ //RFID setup

Serial.begin(9600); // Initialize serial communications with the PC while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) finger.begin(57600); SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 rfid pinMode (door, OUTPUT);

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

if (finger.verifyPassword()) { Serial.println("Found fingerprint sensor!"); } else { Serial.println("Did not find fingerprint sensor :("); while (1); } Serial.println("Waiting for valid finger..."); }

}

// 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; } }

//DOOR/OUTPUT PIN PROPERTIES CHANGE TO REFLECT HOW FAST AND HOW LONG MOTOR PULLS DOOR USING DIGITALWRITE; BREAK.. //USING LED FOR NOW

void open_door(){
digitalWrite (door, HIGH); delay (2000); digitalWrite (door, LOW); }

void loop() { // RFID LOOP SETTINGS ` if ( ! mfrc522.PICC_IsNewCardPresent()) { // Look for new cards return; }
if ( ! mfrc522.PICC_ReadCardSerial()) { // Select one of the c ards return; } dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); Serial.println(read_rfid); // FINGERPRINT LOOP SETTINGS

getFingerprintID(); // start fingerprint sensor
delay(100);

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; }

p = finger.fingerFastSearch(); if (p == FINGERPRINT_OK && read_rfid == ok_rfid_1){ Serial.println(ok_rfid_1); open_door(); }

}

[/code]

//HEADERFILES 
#include <SPI.h> //rfid 
#include <MFRC522.h>//rfid 
#include <Adafruit_Fingerprint.h> //FINGERPRINT
#include <SoftwareSerial.h> //FINGERPRINT
#include<stdint.h> //FINGERPRINT



//rfid settings
#define RST_PIN         9          // rfid pin 9 RST_pin
#define SS_PIN          10         // rfid pin 10 SS_pin

MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance

String read_rfid;
String ok_rfid_1= "cbb427b2"; //white card
String ok_rfid_2="0ebb14f39"; //blue key chain

//fingerprint settings

int getFingerprintIDez();

// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino  (YELLOW wire)

SoftwareSerial mySerial(2, 3);  //activates serial communication on pin 2 & 3

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//output garage door pin

int door = 7; //motor to door
 

void dump_byte_array(byte * buffer , byte bufferSize){  //why so important
read_rfid=""; 
for (byte i=0; i< bufferSize; i++) {
    read_rfid=read_rfid + String(buffer[i], HEX);
}
}
 
void setup(){
//RFID setup

  Serial.begin(9600);   // Initialize serial communications with the PC
  while (!Serial);    // Do nothing if no serial port is opened (added 
  for     Arduinos based on ATMEGA32U4)
  finger.begin(57600);
  SPI.begin();      // Init SPI bus
  mfrc522.PCD_Init();   // Init MFRC522 rfid
pinMode (door, OUTPUT);

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

 if (finger.verifyPassword()) {
    Serial.println("Found fingerprint sensor!");
  } else {
    Serial.println("Did not find fingerprint sensor :(");
    while (1);
  }
  Serial.println("Waiting for valid finger...");
}

}

// 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;
  }
}



//DOOR/OUTPUT PIN PROPERTIES CHANGE TO REFLECT HOW FAST AND HOW LONG MOTOR     PULLS DOOR USING DIGITALWRITE; BREAK..   //USING LED FOR NOW 
       
void open_door(){  
digitalWrite (door, HIGH);
delay (2000);
digitalWrite (door, LOW);
}


void loop() {
// RFID LOOP SETTINGS                                                   `
  if ( ! mfrc522.PICC_IsNewCardPresent()) {     // Look for new cards
    return;
  }  
  if ( ! mfrc522.PICC_ReadCardSerial()) {       // Select one of the c ards
    return;
  }
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
Serial.println(read_rfid);
// FINGERPRINT LOOP SETTINGS

getFingerprintID();  // start fingerprint sensor    
 delay(100);
 
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;
  }
   
p = finger.fingerFastSearch();
      if (p == FINGERPRINT_OK && read_rfid == ok_rfid_1){
  Serial.println(ok_rfid_1);
   open_door();
      }
  
}

[/code]

RFID+Fingerprint sesnor CODE

//HEADERFILES #include <SPI.h> //rfid #include <MFRC522.h>//rfid #include <Adafruit_Fingerprint.h> //FINGERPRINT #include <SoftwareSerial.h> //FINGERPRINT #include<stdint.h> //FINGERPRINT

//rfid settings #define RST_PIN 9 // rfid pin 9 RST_pin #define SS_PIN 10 // rfid pin 10 SS_pin

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

String read_rfid; String ok_rfid_1= "cbb427b2"; //white card String ok_rfid_2="0ebb14f39"; //blue key chain

//fingerprint settings

int getFingerprintIDez();

// pin #2 is IN from sensor (GREEN wire) // pin #3 is OUT from arduino (YELLOW wire)

SoftwareSerial mySerial(2, 3); //activates serial communication on pin 2 & 3

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//output garage door pin

int door = 7; //motor to door

void dump_byte_array(byte * buffer , byte bufferSize){ //why so important read_rfid=""; for (byte i=0; i< bufferSize; i++) { read_rfid=read_rfid + String(buffer[i], HEX); } }

void setup(){ //RFID setup

Serial.begin(9600); // Initialize serial communications with the PC while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4) finger.begin(57600); SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 rfid pinMode (door, OUTPUT);

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

if (finger.verifyPassword()) { Serial.println("Found fingerprint sensor!"); } else { Serial.println("Did not find fingerprint sensor :("); while (1); } Serial.println("Waiting for valid finger..."); }

}

// 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; } }

//DOOR/OUTPUT PIN PROPERTIES CHANGE TO REFLECT HOW FAST AND HOW LONG MOTOR PULLS DOOR USING DIGITALWRITE; BREAK.. //USING LED FOR NOW

void open_door(){
digitalWrite (door, HIGH); delay (2000); digitalWrite (door, LOW); }

void loop() { // RFID LOOP SETTINGS ` if ( ! mfrc522.PICC_IsNewCardPresent()) { // Look for new cards return; }
if ( ! mfrc522.PICC_ReadCardSerial()) { // Select one of the c ards return; } dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); Serial.println(read_rfid); // FINGERPRINT LOOP SETTINGS

getFingerprintID(); // start fingerprint sensor
delay(100);

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; }

p = finger.fingerFastSearch(); if (p == FINGERPRINT_OK && read_rfid == ok_rfid_1){ Serial.println(ok_rfid_1); open_door(); }

}

[/code]

RFID+Fingerprint sensor CODE

//HEADERFILES 
#include <SPI.h> //rfid 
#include <MFRC522.h>//rfid 
#include <Adafruit_Fingerprint.h> //FINGERPRINT
#include <SoftwareSerial.h> //FINGERPRINT
#include<stdint.h> //FINGERPRINT



//rfid settings
#define RST_PIN         9          // rfid pin 9 RST_pin
#define SS_PIN          10         // rfid pin 10 SS_pin

MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance

String read_rfid;
String ok_rfid_1= "cbb427b2"; //white card
String ok_rfid_2="0ebb14f39"; //blue key chain

//fingerprint settings

int getFingerprintIDez();

// pin #2 is IN from sensor (GREEN wire)
// pin #3 is OUT from arduino  (YELLOW wire)

SoftwareSerial mySerial(2, 3);  //activates serial communication on pin 2 & 3

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//output garage door pin

int door = 7; //motor to door
 

void dump_byte_array(byte * buffer , byte bufferSize){  //why so important
read_rfid=""; 
for (byte i=0; i< bufferSize; i++) {
    read_rfid=read_rfid + String(buffer[i], HEX);
}
}
 
void setup(){
//RFID setup

  Serial.begin(9600);   // Initialize serial communications with the PC
  while (!Serial);    // Do nothing if no serial port is opened (added 
  for     Arduinos based on ATMEGA32U4)
  finger.begin(57600);
  SPI.begin();      // Init SPI bus
  mfrc522.PCD_Init();   // Init MFRC522 rfid
pinMode (door, OUTPUT);

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

 if (finger.verifyPassword()) {
    Serial.println("Found fingerprint sensor!");
  } else {
    Serial.println("Did not find fingerprint sensor :(");
    while (1);
  }
  Serial.println("Waiting for valid finger...");
}

}

// 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;
  }
}



//DOOR/OUTPUT PIN PROPERTIES CHANGE TO REFLECT HOW FAST AND HOW LONG MOTOR     PULLS DOOR USING DIGITALWRITE; BREAK..   //USING LED FOR NOW 
       
void open_door(){  
digitalWrite (door, HIGH);
delay (2000);
digitalWrite (door, LOW);
}


void loop() {
// RFID LOOP SETTINGS                                                   `
  if ( ! mfrc522.PICC_IsNewCardPresent()) {     // Look for new cards
    return;
  }  
  if ( ! mfrc522.PICC_ReadCardSerial()) {       // Select one of the c ards
    return;
  }
dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
Serial.println(read_rfid);
// FINGERPRINT LOOP SETTINGS

getFingerprintID();  // start fingerprint sensor    
 delay(100);
 
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;
  }
   
p = finger.fingerFastSearch();
      if (p == FINGERPRINT_OK && read_rfid == ok_rfid_1){
  Serial.println(ok_rfid_1);
   open_door();
      }
  
}

[/code]
Source Link
Loading