* Module RFID RC522 de fréquence 13,56 MHz avec PIC 16F877 *
/ C'est quoi RFID ?
RFID (Radio Frequency Identification, identification par radio) est une méthode d'identification automatique sur la base des données stockées à distance en utilisant dispositif d'étiquette RFID et un lecteur RFID..Les étiquettes RFID peuvent être substitués pour les codes à barres sur les produits vendus dans les magasins au lieu de mettre l'appareil pour scanner les codes-barres pour la surveillance, la RFID permet à l'information ( Identifiant ) d'être transmit sans contact physique.
Les étiquettes RFID sont utilisé dans de nombreux domaines tels que la gestion des ressources humaines, gestion des marchandises des supermarchés, animaux , la gestion du trafic dans les gares de péage, la protection de la carte projecteurs ...etc.
/ Quel est la bande de fréquences de fonctionnement du système RFID ?
Pour choisir un système RFID, la première exigence de sélection est la bande de fréquences de fonctionnement du système.- Basse fréquence - Faible fréquence de 125 KHz: faible à court vitesse de lecture de lecture de plage
- Haute fréquence - haute fréquence 13,56 MHz : lecture d'une vitesse moyenne à courte distance.
- hyperfréquence - de 868 à 928 MHz fréquence UHF: haute vitesse de lecture .
- Micro-ondes : Micro-ondes de 2,45 à 5,8 GHz: grande vitesse de lecture et plage de lecture très large.
/Le module RFID RC522 :
- Tension de fonctionnement: 3,3 V .
- Consommation en mode veille: <80uA .
- Courant maximale : 30mA
- Fréquence de fonctionnement: 13.56Mhz .
- Distance de lecture: 0 - 60mm .
- type de communication: SPI
- débit de données maximum: de 10Mbit/s
- Taille: 40 x 60 mm
- Température de fonctionnement: -20 à 80 ° C
- Humidité de fonctionnement: 5% -95%
- SPI haut débit: 10 Mbit/s
![]() |
| Module RFID RC522 |
Communication avec le microcontrôleur PIC16F877A:
/* SPI SS RFID-RC522(SDA) - SlaveSelect (SS) SPI SDI RFID-RC522(MOSI) SPI SDO RFID-RC522(MISO) SPI SCK RFID-RC522(SCK) */ #define MFRC522_CS PIN_E2 #define MFRC522_SCK PIN_C3 #define MFRC522_SI PIN_C4 #define MFRC522_SO PIN_C5 #define MFRC522_RST PIN_E0
Le code :
void main()
{
CHAR UID[6];
UNSIGNED int TagType;
CHAR size;
CHAR i;
lcd_init ();
printf (LCD_PUTC, "\fImed Elmottakel\n.blogspot.com");
delay_ms (1000) ;
// enable_interrupts (INT_EXT);
// enable_interrupts (INT_EXT_H2L);
//enable_interrupts (GLOBAL);
printf (LCD_PUTC, "\fInitializing");
MFRC522_Init ();
printf (LCD_PUTC, "\nDone!");
WHILE (1)
{
IF (MFRC522_isCard (&TagType)) //Check any card
{
printf (LCD_PUTC, "\fTAG TYPE:");
printf (LCD_PUTC, "%X",TagType);
//Read ID
IF (MFRC522_ReadCardSerial (&UID))
{
printf (LCD_PUTC, "\nUID: ");
FOR (i = 0; i < 5; i++)
{
printf (LCD_PUTC, "%X",UID[i]);
}
size = MFRC522_SelectTag (&UID);
if(get_red(RedData,UID))
{
output_low(LED_R);
}
else
{
output_high(LED_R);
}
//
if(get_blue(BlueData,UID))
{
output_low(LED_B);
}
else
{
output_high(LED_B);
}
//
if(get_red(GreenData,UID))
{
output_low(LED_G);
}
else
{
output_high(LED_G);
}
}
IF (MFRC522_Auth (PICC_AUTHENT1A, 7, &key, &UID) == 0) //authentication key A
{
//Write data to block 1
lcd_gotoxy(13,1);
MFRC522_Write (1,&writeData);
printf (LCD_PUTC, "W-A!");
}
else IF (MFRC522_Auth (PICC_AUTHENT1B, 7, &key, &UID) == 0) //authentication key B
{
//Write data to block 1
lcd_gotoxy(13,1);
MFRC522_Write (1,&writeData);
printf (LCD_PUTC, "W-B!");
}
ELSE
{
lcd_gotoxy(13,1);
printf (LCD_PUTC, "W-Err!");
CONTINUE;
}
IF (MFRC522_Read (4,&writeData) == 0)
{
printf (LCD_PUTC, "\n%c", &writeData);
}
//Ngu dong
MFRC522_Halt () ;
}
}
}

Post a Comment
Note: Only a member of this blog may post a comment.