Arduino Due + PN532 elechouse

Je remonte mon problème ici car je crois qu'il est un peu noyé dans la masse sur le forum international.

http://forum.arduino.cc/index.php?topic=446225.0

J'ai suivit ce tuto :https://dangerousthings.com/wp-content/uploads/PN532_Manual_V3-1.pdf
Mais mon arduino Due (en I2C) n'arrive pas à détecter la carte:
"Hello!
Didn't find PN53x board"

/**************************************************************************/
/*!
This example will attempt to connect to an ISO14443A
card or tag and retrieve some basic information about it
that can be used to determine what type of card it is.

Note that you need the baud rate to be 115200 because we need to print
out the data and read from the card at the same time!

To enable debug message, define DEBUG in PN532/PN532_debug.h

*/
/**************************************************************************/

#if 0
#include <SPI.h>
#include <PN532_SPI.h>
#include "PN532.h"

PN532_SPI pn532spi(SPI, 10);
PN532 nfc(pn532spi);
#elif 0
#include <PN532_HSU.h>
#include <PN532.h>

PN532_HSU pn532hsu(Serial1);
PN532 nfc(pn532hsu);
#else
#include <Wire.h>
#include <PN532_I2C.h>
#include <PN532.h>
#include <NfcAdapter.h>

PN532_I2C pn532i2c(Wire);
PN532 nfc(pn532i2c);
#endif

void setup(void) {
Serial.begin(115200);
Serial.println("Hello!");

nfc.begin();

uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
Serial.print("Didn't find PN53x board");
while (1); // halt
}

// 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);

// Set the max number of retry attempts to read from a card
// This prevents us from waiting forever for a card, which is
// the default behaviour of the PN532.
nfc.setPassiveActivationRetries(0xFF);

// configure board to read RFID tags
nfc.SAMConfig();

Serial.println("Waiting for an ISO14443A card");
}

void loop(void) {
boolean success;
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID
uint8_t uidLength; // Length of the UID (4 or 7 bytes depending on ISO14443A card type)

// Wait for an ISO14443A type cards (Mifare, etc.). When one is found
// 'uid' will be populated with the UID, and uidLength will indicate
// if the uid is 4 bytes (Mifare Classic) or 7 bytes (Mifare Ultralight)
success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);

if (success) {
Serial.println("Found a card!");
Serial.print("UID Length: ");Serial.print(uidLength, DEC);Serial.println(" bytes");
Serial.print("UID Value: ");
for (uint8_t i=0; i < uidLength; i++)
{
Serial.print(" 0x");Serial.print(uid, HEX);
}
Serial.println("");
// Wait 1 second before continuing
delay(1000);
}
else
{
// PN532 probably timed out waiting for a card
Serial.println("Timed out waiting for a card");
}
}

Voir le même sujet ici :

http://forum.arduino.cc/index.php?topic=324248.0

Bonjour,

Il y a peut-être une erreur sur la doc.

En effet le module peut fonctionner avec une alimentation allant de 3,3v à 5v.
Et sur un des tableaux, il est mentionné pour la DUE: Power 5v (au lieu de 3,3v).
Dans ton post en anglais, tu dis avoir connecté en 5V.
Les E/S de la DUE, ne tolèrent pas le +5v.

Essaie avec +3,3v.

C'est bizarre qu'il faille brancher le IRQ alors que la doc constructeur ne le spécifie pas, surtout que le branchement rapide ne se fait pas dessus. J'avais déjà vu des articles qui en parlaient mais je ne comprends pas le pourquoi.

Sinon oui j'ai vu l'ambiguïté autour du 3,3/5v mais les deux donnent le même résultat.

Merci beaucoup, je test ça ce soir en rentrant à la maison.
Sinon une idée pour les erreurs sur le HSU ?

J'étais tombé sur de nombreuses vidéos ou les personnes n'utilisent que les 4 broches justement: - YouTube
Mais à chaque fois très mal documenté.