Identifier un badge RFID avec Arduino

Identifier un badge RFID avec Arduino - Java - Programmation

Marsh Posté le 20-04-2016 à 10:41:58    

Bonjour,
j'ai un petit soucis pour mon projet de fin d'année en classe.
 
Je souhaite faire un système d'appel automatique via Arduino & Badges RFID.
Bref, là où je bloque, c'est au moment de rentrer le nom du badge.
En gros, si le badge est le bon, l'écran LCD affiche Accepté.
Si le badge n'est pas le bon, il affiche Refusé.
Or je ne sais pas comment connaitre "le nom" du badge.  :??:  
Dans le Moniteur Série Arduino, dès qu'on passe le badge, il affiche :

Code :
  1. Found 1 tags
  2. Sens Response: 0x4
  3. Sel Response: 0x8
  4. 0x5E 0xF0 0xA0 0x1
  5. Acces refuse!


 
Est-ce que "le nom" du badge est 0x5E 0xF0 0xA0 0x1 ??  :??:  
 
Que faut-il mettre dans le programme (pour qu'il soit accepté)? Du binaire ? de l'hexa ?
 
Voici le programme :
   

Code :
  1. #include <PN532.h>
  2.     #include <SPI.h>
  3.     #include "rgb_lcd.h" // Inclusion de la librairie pour afficheur LCD
  4.     #include <FreqCount.h>
  5.     /*Chip select pin can be connected to D10 or D9 which is hareware optional*/
  6.     /*if you the version of NFC Shield from SeeedStudio is v2.0.*/
  7.     #define PN532_CS 10
  8.     PN532 nfc(PN532_CS);
  9.     #define  NFC_DEMO_DEBUG 1
  10.     int Led1 = 5;   // Intégration des leds
  11.     int Led2 = 6;
  12.     rgb_lcd lcd;
  13.     void setup(void)
  14.       {
  15.     lcd.begin(16,2);
  16.     lcd.print("LCD OK" ) ; // affiche la chaîne texte - message de test
  17.     delay(2000);
  18.     lcd.clear();
  19.    
  20.    
  21.         pinMode(Led1, OUTPUT);    // On programme les leds en sorties
  22.         pinMode(Led2, OUTPUT);
  23.      
  24.         #ifdef NFC_DEMO_DEBUG
  25.           Serial.begin(9600);
  26.           Serial.println("Hello!" );
  27.        
  28.         #endif
  29.           nfc.begin();
  30.         uint32_t versiondata = nfc.getFirmwareVersion();
  31.      
  32.         if (! versiondata)
  33.           {
  34.             #ifdef NFC_DEMO_DEBUG
  35.               Serial.print("Didn't find PN53x board" );
  36.            
  37.             #endif
  38.               while (1); // halt
  39.            }
  40.          
  41.         #ifdef NFC_DEMO_DEBUG
  42.           // Got ok data, print it out!
  43.           Serial.print("Found chip PN5" );
  44.           Serial.println((versiondata>>24) & 0x5E, HEX);
  45.           Serial.print("Firmware ver. " );
  46.           Serial.print((versiondata>>16) & 0xF0, HEX);
  47.           Serial.print('.');
  48.           Serial.println((versiondata>>8) & 0xA0, HEX);
  49.           Serial.print("Supports " );
  50.           Serial.println(versiondata & 0x1, HEX);
  51.        
  52.         #endif
  53.       // configure board to read RFID tags and cards
  54.           nfc.SAMConfig();
  55.       }
  56.    
  57.     void loop(void)
  58.       {
  59.         uint32_t id;
  60.         // look for MiFare type cards
  61.         id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A);
  62.         switch(id)           // Réalisation d'un switch pour gérer les différentes conditions
  63.           {
  64.             case 1:          // Condition à remplir si l'ID détecté est le badge valide
  65.             Serial.println();
  66.             Serial.println("Acces autorise!" );    // Envoi au moniteur
  67.             digitalWrite(Led2, HIGH);        //  Action réalisée sur le circuit
  68.             lcd.print("ACCEPTE" );
  69.             delay(2000);
  70.             lcd.clear();
  71.             digitalWrite(Led2, LOW);
  72.             break;
  73.          
  74.             case 0:           // Condition à remplir si le Shield ne détecte aucun Tag
  75.             Serial.println();
  76.             Serial.println("Presentez Pass!" );
  77.             break;
  78.          
  79.             default:    // condition à remplir si aucune des conditions précédentes ne sont bonnes
  80.             Serial.println();   // soit quand l'ID présentée au Shield est différente du badge valide
  81.             Serial.println("Acces refuse!" );
  82.             digitalWrite(Led1, HIGH);
  83.             lcd.print("REFUSE" );
  84.             delay(2000);
  85.             lcd.clear();
  86.             digitalWrite(Led1, LOW);
  87.           }
  88.        
  89.        
  90.          delay(500);
  91.       }


 
Merci d'avance  :jap:  
Viince


Message édité par Viince06 le 20-04-2016 à 10:46:57
Reply

Marsh Posté le 20-04-2016 à 10:41:58   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed