Problème en combinant 2 programmes

Bonjour, alors cela fait plusieurs semaines que j’ai un problème, je m’explique : mon but final étant de créer un programme capable de vérifier un ID par RFID125khz et en même temps une empreinte digitale, j’ai tout d’abord décidé de créer les programmes chacun de leur côté (1 pour RFID / 1 pour EMPREINTE), tous deux marchent très bien mais à partir du moment où j’ai essayé de les combiner, aie aie aie, j’ai fait qlqs recherches à travers les lignes de mon nouveau programme et il me semble bien que le problème survient au moment où je fais le setup du capteur d’empreinte digitale (j’ai pu constater que sans cette partie je recevais bien l’ID de la carte présentée mais du coup le capteur empreinte ne fonctionnait pas car pas setup) bref voici les programmes en question et merci de votre possible aide ! PS : Je ne suis pas très fort avec la programmation arduino :open_mouth:

RFID tout seul

#include <RFID125.h>
#include <SoftwareSerial.h>
#include <TM1637.h>

RFID125 monRFID;
String monCode;
#define monInterr 2
#define CLK 4 //pins definitions for TM1637 and can be changed to other ports       
#define DIO 5
TM1637 tm1637(CLK, DIO);

int8_t NumTab[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; //0~9,A,b,C,d,E,F // 4 DIGITS
int8_t ListDisp[4];
unsigned char i = 0;
unsigned char count = 0;

void setup() {
  pinMode(6, OUTPUT);// buzzer
  tm1637.init();
  tm1637.set(BRIGHTEST);// BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
  monRFID.brancher(7, 8);
  monRFID.RAMliste = "";
}

void loop() {
  monCode = monRFID.lireCode();
  if(monCode == "8173034" || "6020069" || "6430792"){
    if(monCode == "8173034"){
      tm1637.display(0,2);
      digitalWrite(6, HIGH);
      delay(0.000000000000001);
      digitalWrite(6, LOW);
    }
    else if(monCode == "6020069"){
      tm1637.display(0,1);
      digitalWrite(6, HIGH);
      delay(0.000000000000001);
      digitalWrite(6, LOW);
    }
    else if(monCode == "6430792"){
      tm1637.display(0,3);
      digitalWrite(6, HIGH);
      delay(0.000000000000001);
      digitalWrite(6, LOW);
    }
  }
}

EMPREINTE DIGITALE tout seul

// fingerprinter
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
int IDempreinte;
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);

// 4 digit
#include <TM1637.h>
#define CLK 4//pins definitions for TM1637 and can be changed to other ports       
#define DIO 5
TM1637 tm1637(CLK,DIO);

int8_t NumTab[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; //0~9,A,b,C,d,E,F // 4 DIGITS
  int8_t ListDisp[4];
  unsigned char i = 0;
  unsigned char count = 0;
   
void setup()  
{
  Serial.begin(9600);
  
  pinMode(6, OUTPUT);// buzzer
  tm1637.init();
  tm1637.set(BRIGHTEST);// BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
  
  Serial.println("fingertest");

  // 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
{
  getFingerprintID();
}

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");
    digitalWrite(6, HIGH);
    delay(1000);
    digitalWrite(6, LOW);
    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);
   IDempreinte = finger.fingerID; // var IDempreinte = numéro empreinte
   
  tm1637.display(0,finger.fingerID);
  delay(2000);
  IDempreinte = finger.fingerID; // var IDempreinte = numéro empreinte
  
   
}

après mélange ^^

#include <RFID125.h>
#include <SoftwareSerial.h>
#include <TM1637.h>

#include <Adafruit_Fingerprint.h>
int IDempreinte;
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);

RFID125 monRFID;
String monCode;
#define monInterr 2
#define CLK 4 //pins definitions for TM1637 and can be changed to other ports       
#define DIO 5
TM1637 tm1637(CLK, DIO);

int8_t NumTab[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; //0~9,A,b,C,d,E,F // 4 DIGITS
int8_t ListDisp[4];
unsigned char i = 0;
unsigned char count = 0;

void setup() {
  pinMode(6, OUTPUT);// buzzer
  tm1637.init();
  tm1637.set(BRIGHTEST);// BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
  monRFID.brancher(7, 8);
  monRFID.RAMliste = "";
  /*
  // set the data rate for the sensor serial port
  finger.begin(57600);

  if (finger.verifyPassword()) {
    Serial.println("Found fingerprint sensor!"); // problème ici
  } else {
    Serial.println("Did not find fingerprint sensor :(");
    while (1);
  }*/
}

void loop() {
  monCode = monRFID.lireCode();
  Serial.println(monCode);
  getFingerprintID();
  delay(1000);
}

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

Merci !