Viince06 | 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 :
- Found 1 tags
- Sens Response: 0x4
- Sel Response: 0x8
- 0x5E 0xF0 0xA0 0x1
- 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 :
- #include <PN532.h>
- #include <SPI.h>
- #include "rgb_lcd.h" // Inclusion de la librairie pour afficheur LCD
- #include <FreqCount.h>
- /*Chip select pin can be connected to D10 or D9 which is hareware optional*/
- /*if you the version of NFC Shield from SeeedStudio is v2.0.*/
- #define PN532_CS 10
- PN532 nfc(PN532_CS);
- #define NFC_DEMO_DEBUG 1
- int Led1 = 5; // Intégration des leds
- int Led2 = 6;
- rgb_lcd lcd;
- void setup(void)
- {
- lcd.begin(16,2);
- lcd.print("LCD OK" ) ; // affiche la chaîne texte - message de test
- delay(2000);
- lcd.clear();
-
-
- pinMode(Led1, OUTPUT); // On programme les leds en sorties
- pinMode(Led2, OUTPUT);
-
- #ifdef NFC_DEMO_DEBUG
- Serial.begin(9600);
- Serial.println("Hello!" );
-
- #endif
- nfc.begin();
- uint32_t versiondata = nfc.getFirmwareVersion();
-
- if (! versiondata)
- {
- #ifdef NFC_DEMO_DEBUG
- Serial.print("Didn't find PN53x board" );
-
- #endif
- while (1); // halt
- }
-
- #ifdef NFC_DEMO_DEBUG
- // Got ok data, print it out!
- Serial.print("Found chip PN5" );
- Serial.println((versiondata>>24) & 0x5E, HEX);
- Serial.print("Firmware ver. " );
- Serial.print((versiondata>>16) & 0xF0, HEX);
- Serial.print('.');
- Serial.println((versiondata>>8) & 0xA0, HEX);
- Serial.print("Supports " );
- Serial.println(versiondata & 0x1, HEX);
-
- #endif
- // configure board to read RFID tags and cards
- nfc.SAMConfig();
- }
-
- void loop(void)
- {
- uint32_t id;
- // look for MiFare type cards
- id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A);
- switch(id) // Réalisation d'un switch pour gérer les différentes conditions
- {
- case 1: // Condition à remplir si l'ID détecté est le badge valide
- Serial.println();
- Serial.println("Acces autorise!" ); // Envoi au moniteur
- digitalWrite(Led2, HIGH); // Action réalisée sur le circuit
- lcd.print("ACCEPTE" );
- delay(2000);
- lcd.clear();
- digitalWrite(Led2, LOW);
- break;
-
- case 0: // Condition à remplir si le Shield ne détecte aucun Tag
- Serial.println();
- Serial.println("Presentez Pass!" );
- break;
-
- default: // condition à remplir si aucune des conditions précédentes ne sont bonnes
- Serial.println(); // soit quand l'ID présentée au Shield est différente du badge valide
- Serial.println("Acces refuse!" );
- digitalWrite(Led1, HIGH);
- lcd.print("REFUSE" );
- delay(2000);
- lcd.clear();
- digitalWrite(Led1, LOW);
- }
-
-
- delay(500);
- }
|
Merci d'avance Viince Message édité par Viince06 le 20-04-2016 à 10:46:57
|