* 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.