Bonjour à tous, débutant en électronique j'aimerai apprendre à utiliser mon nouveau system RFID RC-522, j'aimerai crée un code qui permet de détecter donc mon badge et ma carte pour ainsi si elle est valider allumer une led verte et si le contraire une led rouge. Beaucoup d'exemple sont sur internet or je ne trouve rien qui puisse m'apporter de l'aide.
J'ai réussi à obtenir avec le code ci-dessous les UID de mon badge ainsi que ma carte (l'rfid détecte un badge et une carte.)
#include <MFRC522.h>
#include <SPI.h>
#include <RFID.h>
RFID monModuleRFID(10,9);
int UID[5];
void setup()
{
Serial.begin(9600);
SPI.begin();
monModuleRFID.init();
}
void loop()
{
if (monModuleRFID.isCard()) {
if (monModuleRFID.readCardSerial()) {
Serial.print("L'UID est: ");
for(int i=0;i<=4;i++)
{
UID[i]=monModuleRFID.serNum[i];
Serial.print(UID[i],DEC);
Serial.print(".");
}
Serial.println("");
}
monModuleRFID.halt();
}
delay(1);
}
J'ai ensuite un deuxième code qui permet de détecter mon badge et ma carte
#include <SoftwareSerial.h>
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
#define PAGE_SIZE 64
// Variables de détection
int noCardSeuil = 1; // Seuil
int noCardCount = 0;
boolean cardState = false; // current state of the button
boolean lastCardState = false; // previous state of the button
void setup() {
Serial.begin (9600);
SPI.begin(); // MFRC522 Hardware uses SPI protocol
mfrc522.PCD_Init(); // initialisation du module RFID
delay(1);
}
void loop() {
//Compteur : si c'est true (0 ou 1)
// Si c'est false : compteur continue
if (mfrc522.PICC_IsNewCardPresent()) {
noCardCount = 0;
}else{
noCardCount++;
}
//// for (byte i = 0 ; i < 16 ; i++){
//// Serial.println("byteinfo [i]");
//// Serial.print(" ");
//// Serial.println(mfrc522.uid.uidByte[1]);
// Etats : Présent / Pas présent
if (noCardCount <= noCardSeuil) cardState = true;
else cardState = false;
// Lecture / Stop
if (cardState != lastCardState) {
if (cardState) {
//Serial.println("Present");
//Serial.println(valeurdelacarte);
// Identification
mfrc522.PICC_ReadCardSerial();
if(mfrc522.uid.uidByte[1] == 22){ //valeur à changer
//CHIFFRE 1 byte (valeur/num. hexadécimal de la puce rfid);
// exemple num. hexa 136.4.22(le num. important).230.124 (puce marron tordu)
Serial.print("A");
}
if(mfrc522.uid.uidByte[1] == 184){ //valeur à changer
Serial.print("B");
}
if(mfrc522.uid.uidByte[1] == 197){ //valeur à changer
Serial.print("C");
}
}
}
lastCardState = cardState ;
}
C'est dans se code ci-dessus que j'aimerai integrer mon sous programme d'allume des leds mais cependant je n'y arrive pas.
Merci pour toutes aide.