Bonjour tout le monde,
Je me présente je suis en terminale S SI et je réalise mon PPE. Notre projet était de pouvoir ouvrir une porte d'entrée grâce au NFC de son téléphone en passant par un module arduino uno et d'un shield NFC (NFC Shield V2.0 | Seeed Studio Wiki).
J'ai enfin réusssi à faire fonctionner ce code:
#include <PN532.h>
#include <SPI.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;
void setup(void)
{
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) & 0xFF, HEX);
Serial.print("Firmware ver. ");
Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.');
Serial.println((versiondata>>8) & 0xFF, DEC);
Serial.print("Supports ");
Serial.println(versiondata & 0xFF, 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 839461248: // Condition à remplir si l'ID détecté est 839461248
Serial.println();
Serial.println("Acces autorise!"); // Envoi au moniteur
digitalWrite(Led2, HIGH); // Action réalisée sur le circuit
delay(2000);
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 de 839461248
Serial.println("Acces refuse!");
digitalWrite(Led1, HIGH);
delay(2000);
digitalWrite(Led1, LOW);
}
delay(500);
}
Cependant je viens de m'apercevoir que ce code n'est que fonctionnel avec un tag NFC et non pas avec un téléphone portable car ce dernier serait seulement un lecteur NFC et pas un tag.
J'espérais pouvoir être aidé car je ne sais pas si il y a un moyen de transformer mon téléphone en Tag NFC car en l'utilisant avec ce code j'obtient un UID NFC qui n'est pas fixe comme c'est le cas avec un tag!
Merci d'avance pour votre aide 
TITI68500:
J'ai enfin réusssi à faire fonctionner ce code:
...
Cependant je viens de m'apercevoir que ce code n'est que fonctionnel avec un tag NFC et non pas avec un téléphone portable car ce dernier serait seulement un lecteur NFC et pas un tag.
J'espérais pouvoir être aidé car je ne sais pas si il y a un moyen de transformer mon téléphone en Tag NFC car en l'utilisant avec ce code j'obtient un UID NFC qui n'est pas fixe comme c'est le cas avec un tag!
bonsoir
preambule important : je n'ai pas de telephone compatible NFC 
mais il semble que ton test renvoi "quand meme" un UID lorsque tu presente ton telephone comme "un tag"
meme si cet UID n'est pas fixe , il y a peut etre (je dis bien peut etre 8) ) des caracteristiques fixes ?
çà ne te coute rien de faire une "collecte" de cet UID et de la "presenter" ... pour voir 
Bonsoir,
Merci de me répondre aussi vite 
Alors oui il y a les mêmes caractéristiques récurrentes à savoir 0x8 .
Or le problème est que tous les smartphones Samsung que j'ai pu tester avait la même caratéristique.
Ces valeurs ont été relevé uniquement sur mon téléphone:
Presentez Pass!
Found 1 tags
Sens Response: 0x344
Sel Response: 0x20
0x8 0x53 0xD 0x6E 0xAE 0xAF 0xF5
Acces refuse!
Presentez Pass!
Found 1 tags
Sens Response: 0x344
Sel Response: 0x20
0x8 0xC1 0xAE 0x9 0x8C 0xAF 0xCC
Acces refuse!
Presentez Pass!
Found 1 tags
Sens Response: 0x344
Sel Response: 0x20
0x8 0xEE 0xB8 0xBC 0x8A 0x9C 0xD3
Acces refuse!
Presentez Pass!
Found 1 tags
Sens Response: 0x344
Sel Response: 0x20
0x8 0xA3 0xBA 0x91 0x5 0x90 0xD6
Acces refuse!
Et voici les valeurs d'un autre Samsung:
Presentez Pass!
Found 1 tags
Sens Response: 0x4
Sel Response: 0x20
0x8 0xF2 0x28 0x85
Acces refuse!
De plus aujourd'hui en essayant d'autres téléphones (Sony et Nokia) de mes camarades de classe j'ai remarqué que leur UID était fixe comme souhaité mais identique!!!
Voici l'UID relevé: 0x1 0x2 0x3 0x4
Cependant la combinaison est très simple comparé au deux Samsung précédent.
Merci pour votre aide et participation, bonne soirée
Le deuxième je le connaissais déjà mais je n'ai pas encore essayer de le faire fonctionner
J'essaierai ces programmes demain soir si je trouve du temps 
Merci je vous tiens au courant
Bonjour,
J'ai essayé ce matin les deux codes mais il me manque une librairie que je n'arrive pas à trouver, à savoir : PN532_Com.h
De plus je ne vois pas dans le programme l'appel vers cette librairie et lorsque que je vérifie le code le message d'erreur suivant apparaît:
In file included from C:\Users\Jordan\Desktop\test_28_01\test_28_01.ino:2:0:
C:\Program Files (x86)\Arduino\libraries\PN532_SPI/PN532_SPI.h:5:23: fatal error: PN532_Com.h: No such file or directory
#include "PN532_Com.h"
^
compilation terminated.
exit status 1
Erreur lors de la compilation.
Merci d'avance et bonne journée 
c'est la librairie PN532_SPI.h qu'il faut, est ce qu'elle est au bon endroit
et fait un peux de recherche faut remonter un peux tu la trouve ici
Bonsoir tout le monde,
le problème ne vient finalement pas du programme mais du téléphone en lui-même car il génère aléatoirement un code UID à chaque fois qu'il se fait lire.
Donc je vais voir si je peux coder mon téléphone de manière à ce que l'UID reste fixe(sûrement à l'aide d'un émulateur) mais je risque de ne pas y arriver vu que je ne m'y connais pas en codage 
En tout cas merci et si jamais quelqu'un passe sur ce post et connais la méthode je serai tout ouïe ^^
Bonne soirée
Bonsoir,
Je reviens vers vous car j'ai voulu intégrer un écran LCD à mon programme en m,inspirant de se tuto: Redirection vers Les écrans LCD
Malheureusement j'ai du faire une erreur car mon branchement avec 4 broches de données à l'air correct.
L'erreur doit venir de mon programme:
#include <LiquidCrystal.h>
#include <PN532.h>
#include <SPI.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
void setup(void)
{
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
lcd.begin(16, 2);
lcd.clear();
#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) & 0xFF, HEX);
Serial.print("Firmware ver. ");
Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.');
Serial.println((versiondata>>8) & 0xFF, DEC);
Serial.print("Supports ");
Serial.println(versiondata & 0xFF, 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 363787789: // Condition à remplir si l'ID détecté est 363787789
{ Serial.println();
Serial.println("Acces autorise!"); // Envoi au moniteur
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
lcd.print("Bienvenue Thibaud!");
delay(3000);
}
break;
case 0: // Condition à remplir si le Shield ne détecte aucun Tag
{ Serial.println();
Serial.println("Presentez Pass!");
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
lcd.print("Bonjour pesentez NFC!");
delay(1000);
}
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 de 363787789
Serial.println("Acces refuse!");
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
lcd.print("Je ne vous connais pas!");
delay(3000);
}
}
delay(500);
}
j'espère que vous pourrez m'aider
Merci d'avance ;D