Bonjour
Dans le cadre d'un projet j'essaye d'utiliser un lecteur RFID PN5180
Le PN5180 marche en 3,3V j'ai donc du mettre un pitcher pour passer du 5,5V au 3,3V
Le but de mon circuit est simple, vérifier si tag RFID est le bon, et si oui allumer une led verte (pas encore sur le schémas).
Et voilà pour le moment le code que j'ai et que j'ai testé:
#include <Debug.h>
#include <PN5180.h>
#include <PN5180ISO15693.h>
/*
*/
const int ledred = 7;
const int ledgreen = 6;
// The number of PN5180 readers connected
const byte numReaders = 1; /// A MODIFIER
// What is the "correct" UID that should be detected by each reader
uint8_t correctUid[][8] =
{
{0xD1,0xD2,0x48,0x2A,0x50,0x1,0x4,0xE0}, //TAG 1
{0xB,0x8A,0xC6,0x6A,0x0,0x1,0x4,0xE0} //TAG 2
};
//Si ce tag est lu par un des lecteurs, le puzzle sera reset
uint8_t resetUid[][8] = {{0xD1,0xD2,0x48,0x2A,0x50,0x1,0x4,0xE0}}; //TAG 1}
//Valeur par défaut quand il n'y a pas de tag
uint8_t noUid[][8] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0}; //TAG 1}
//Serial.println("Etape 1");
// GLOBALS
// Each PN5180 reader requires unique NSS, BUSY, and RESET pins,
// as defined in the constructor below
PN5180ISO15693 nfc[] = {
PN5180ISO15693(10,9,8), // Pins correspondants aux fonstions des lecteurs
// PN5180ISO15693(16,4,17), // works
// PN5180ISO15693(33,25,32), // works
};
// Array to record the value of the last UID read by each reader
uint8_t lastUid[numReaders][8];
// the setup function runs once when you press reset or power the board
void setup() {
Serial.println("Etape 1");
pinMode(ledred,OUTPUT);// Led rouge
pinMode(ledgreen,OUTPUT);// Led verte
Serial.begin(115200);
Serial.println("RFID Tirroir, escape pirate");
for(int i=0; i<numReaders; i++){
Serial.print("Reader #");
Serial.println(i);
Serial.println(F("Initialising..."));
nfc[i].begin();
Serial.println(F("Resetting..."));
nfc[i].reset();
Serial.println(F("Enabling RF field..."));
nfc[i].setupRF();
}
Serial.println(F("Setup Complete"));
}
// the loop function runs over and over again forever
void loop() {
// digitalWrite(ledgreen, LOW);
digitalWrite(ledred, HIGH);
delay(1000);
digitalWrite(ledred, LOW);
// digitalWrite(ledgreen, HIGH);
delay(1000);
}
En essayant de lancer le code le log me donne ceci:
J'en déduis donc que j'ai un soucis à la ligne nfc[i].reset();
J'ai fait des test de continuité, regardé les tensions qui devaient etre en 3,3V et 5V, meme testé avec un autre PN5180 mais je n'arrive pas a passer le reset du lecteur. Quelqu'un pourrait m'aider?