Étape 2: Le Code et amusez-vous à la numérisation de cartes et d’obtenir leurs papiers d’identité
#define RFID_ENABLE 2 //to RFID permettent (connecter la broche 2 à la/Enable)
#define CODE_LEN 10 //Max longueur d’étiquette RFID
#define VALIDATE_TAG 1 //should nous validons tag ?
#define VALIDATE_LENGTH 200 //maximum lit n/b tag lire et valider
#define ITERATION_LENGTH 2000 / / temps, en ms, remis à l’utilisateur de passer la main de suite
#define START_BYTE 0x0A
#define STOP_BYTE 0x0D
balise de char [CODE_LEN] ;
void setup() {}
Serial.Begin(2400) ; fréquence nécessaire parce que la fréquence utilisée sur le Module de lecteur RFID
pinMode(RFID_ENABLE,OUTPUT) ;
}
void loop() {}
enableRFID() ;
getRFIDTag() ;
{if(isCodeValid())}
disableRFID() ;
sendCode() ;
Delay(ITERATION_LENGTH) ;
} else {}
disableRFID() ;
Serial.println ("erreur : impossible de terminer les processus!") ;
}
Serial.Flush() ;
clearCode() ;
}
/*
Efface l’espace mémoire pour le tag à 0 s.
*/
void clearCode() {}
pour (int i = 0; i < CODE_LEN; i ++) {}
balise [i] = 0 ;
}
}
/*
Envoie la balise à l’ordinateur.
*/
void sendCode() {}
Serial.Print("tag:") ;
pour (int i = 0; i < CODE_LEN; i ++) {}
Serial.Print(tag[i]) ;
}
}
/*
Fonctions de la RFID
*/
void enableRFID() {}
digitalWrite (RFID_ENABLE, basse) ;
}
void disableRFID() {}
digitalWrite (RFID_ENABLE, élevé) ;
}
/*
Blocage de fonction, attend et obtient le tag RFID.
*/
void getRFIDTag() {}
next_byte octet ;
while(Serial.available() < = 0) {}
Si ((next_byte = Serial.read()) == START_BYTE) {}
bytesread octets = 0 ;
while(bytesRead < CODE_LEN) {}
if(Serial.available() > 0) {//wait pour l’octet suivant
Si ((next_byte = Serial.read()) == STOP_BYTE) casser ;
balise [bytesread ++] = next_byte ;
}
}
}
}
/*
Attend la prochaine balise entrante voir si elle correspond
la balise en cours.
*/
Boolean isCodeValid() {}
next_byte octet ;
int count = 0 ;
tandis que (Serial.available() < 2) {//there est déjà un STOP_BYTE dans un tampon
Delay(1) ; probablement pas une milliseconde très pure
Si (count ++ > VALIDATE_LENGTH) retournent false ;
}
Serial.Read() ; jeter des STOP_BYTE supplémentaires
Si ((next_byte = Serial.read()) == START_BYTE) {}
bytes_read octets = 0 ;
tandis que (bytes_read < CODE_LEN) {}
Si (Serial.available() > 0) {//wait pour l’octet suivant
Si ((next_byte = Serial.read()) == STOP_BYTE) casser ;
Si (tag [bytes_read ++]! = next_byte) retournent false ;
}
}
}
retourne la valeur true ;
}
Amusez-vous à balayage tous vos objets ! Je me suis amusée aussi ! C’est un module très cool ! Quand le lecteur est en attente pour un Tag RFID puis la LED est rouge. Regarder certains de mes autres projets à