Comment utiliser le lecteur RFID / NFC PN532 avec Arduino

How to Use the PN532 RFID/NFC Reader with Arduino

Le PN532 est un module de lecteur RFID / NFC polyvalent qui prend en charge plusieurs modes et normes de communication, ce qui le rend idéal pour l'authentification, le paiement sans contact et les projets IoT. Ce tutoriel vous guidera à travers l'interfaçage du module PN532 avec un arduino pour lire les balises RFID / NFC.

Ce dont vous aurez besoin

  1. Module PN532 RFID / NFC
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Planche à pain
  4. Fils de cavalier
  5. Tags RFID / NFC (par exemple, cartes mifare)
  6. Un ordinateur avec l'ide Arduino installé

Étape 1: Comprendre le module PN532

Le module PN532 prend en charge trois modes de communication:

  1. I2C (par défaut pour de nombreux modules): utilise des lignes SDA et SCL.
  2. Spice: Utilise des lignes Mosi, Miso et SCK.
  3. UART (série): Utilise des broches TX et RX.

Dans ce tutoriel, nous utiliserons le Mode I2C, car il est plus simple de configurer et largement pris en charge.

Pin532 Pinout en mode I2C

Épingle Fonction
VCC Alimentation (3,3 V / 5V)
GND Sol
SDA Ligne de données I2C
SCL Ligne d'horloge i2c

Étape 2: Câblage du PN532 à Arduino

Voici comment connecter le module PN532 à un Arduino Uno en mode I2C:

Pin PN532 Épingle arduino
VCC 5V
GND GND
SDA A4
SCL A5

Note: Si votre module dispose d'un cavalier de sélection de mode, définissez-le sur le mode I2C.

Étape 3: Installez les bibliothèques requises

Pour simplifier l'interaction avec le module PN532, installez les bibliothèques suivantes:

  1. Bibliothèque Adafruit PN532
  2. Bibliothèque Adafruit Busio (une dépendance pour la bibliothèque PN532)

Étapes à installer:

  1. Ouvrez l'ide Arduino.
  2. Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
  3. Recherchez "Adafruit PN532" et cliquez Installer.
  4. Recherchez "Adafruit Busio" et cliquez Installer.

Étape 4: Téléchargez le code

Voici un exemple de croquis pour lire les données d'une balise RFID / NFC:

#include <Wire.h>
#include <Adafruit_PN532.h>

#define SDA_PIN A4
#define SCL_PIN A5

Adafruit_PN532 nfc(SDA_PIN, SCL_PIN);

void setup() {
  Serial.begin(9600);
  Serial.println("PN532 RFID/NFC Reader Test");

  nfc.begin();

  uint32_t versiondata = nfc.getFirmwareVersion();
  if (!versiondata) {
    Serial.println("Didn't find PN532 module. Check connections.");
    while (1);
  }

  Serial.println("Found PN532 module.");
  nfc.SAMConfig(); // Configure the module in normal mode
  Serial.println("Waiting for an NFC card...");
}

void loop() {
  uint8_t success;
  uint8_t uid[] = { 0 }; // Buffer to store UID
  uint8_t uidLength;     // Length of the UID

  // Check if an NFC card is present
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);

  if (success) {
    Serial.println("Found an NFC 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[i], HEX);
    }
    Serial.println("");
    delay(1000); // Wait 1 second
  }
}

Étape 5: tester la configuration

  1. Connectez l'Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
  3. Téléchargez le code sur l'Arduino en cliquant Télécharger.
  4. Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur 9600.
  5. Placez une balise RFID / NFC près du module PN532. Le moniteur série doit afficher l'UID de la balise (identifiant unique).

Dépannage

  • Module non détecté: Vérifiez le câblage et assurez-vous que le cavalier de mode est réglé sur I2C.
  • Aucune étiquette détectée: Assurez-vous que la balise est compatible (par exemple, les cartes Mifare pour cet exemple).
  • Lectures erratiques: Utilisez des fils de cavaliers plus courts et assurez-vous une alimentation stable au module.

Applications du module PN532

  1. Systèmes de contrôle d'accès
  2. Systèmes de paiement sans contact
  3. Gestion des stocks intelligents
  4. Dispositifs IoT nécessitant une authentification sécurisée

Conclusion

Vous avez réussi à interfacer le module RFID / NFC PN532 avec des balises Arduino et lire RFID / NFC. Ce module polyvalent ouvre des possibilités infinies pour l'authentification sécurisée et l'échange de données dans vos projets. Expérimentez avec des fonctionnalités supplémentaires telles que l'écriture sur les balises ou la communication entre pairs pour créer des applications plus avancées!

Laissez un commentaire

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.