Manuel AZ-Delivery RFID RC522

Introduction

Domaines d'application
Éducation et enseignement : Utilisation dans les écoles, universités et institutions de formation pour enseigner les bases de l'électronique, de la programmation et des systèmes embarqués. Recherche et développement : Utilisation dans les projets de recherche et développement pour créer des prototypes et des expériences dans les domaines de l'électronique et de l'informatique. Développement de prototypes : Utilisation dans le développement et le test de nouveaux circuits et dispositifs électroniques. Projets de loisirs et Maker : Utilisé par les passionnés d'électronique et les amateurs pour développer et mettre en œuvre des projets DIY.

Connaissances et compétences requises
Compréhension de base de l'électronique et du génie électrique. Connaissances en programmation, notamment dans le langage de programmation C/C++. Capacité à lire des schémas et à concevoir des circuits simples. Expérience de travail avec des composants électroniques et de la soudure.

Conditions de fonctionnement
Le produit ne doit être utilisé qu'avec les tensions spécifiées dans la fiche technique afin d'éviter tout dommage. Une source d'alimentation CC stabilisée est requise pour le fonctionnement. Lors de la connexion à d'autres composants et circuits électroniques, les limites maximales de courant et de tension doivent être respectées afin d'éviter les surcharges et les dommages.

Conditions environnementales
Le produit doit être utilisé dans un environnement propre et sec afin d'éviter les dommages causés par l'humidité ou la poussière. Protéger le produit de la lumière directe du soleil (UV)

Utilisation prévue
Le produit est conçu pour être utilisé dans des environnements éducatifs, de recherche et de développement. Il est utilisé pour développer, programmer et prototyper des projets et applications électroniques. Le produit Capteur n'est pas destiné à être un produit de consommation fini, mais plutôt un outil pour les utilisateurs avertis techniquement, y compris les ingénieurs, les développeurs, les chercheurs et les étudiants.

Utilisation impropre prévisible
Le produit ne convient pas à un usage industriel ou à des applications de sécurité critiques. L'utilisation du produit dans des dispositifs médicaux ou à des fins d'aviation et de voyage spatial n'est pas autorisée

RFID signifie identification par radiofréquence. La RFID utilise des champs électromagnétiques pour transférer des données sur de courtes distances. Les étiquettes RFID sont utilisées dans de nombreuses industries ; par exemple, une étiquette RFID attachée à une automobile pendant la production peut être utilisée pour suivre sa progression sur la chaîne de montage, les produits pharmaceutiques étiquetés RFID peuvent être suivis dans les entrepôts, l'implantation de micropuces RFID chez le bétail et les animaux de compagnie permet une identification positive des animaux, etc.
Un système RFID se compose de deux parties : une étiquette et un lecteur. Les étiquettes RFID sont équipées d'un émetteur et d'un récepteur. Le composant RFID des étiquettes comprend deux parties : une micropuce qui stocke et traite les informations, et une antenne pour recevoir et transmettre un signal. L'étiquette contient le numéro de série spécifique à un objet donné et n'a pas besoin d'être en visibilité directe avec le lecteur pour être suivie.
Pour lire les informations encodées sur une étiquette, un émetteur-récepteur radio appelé lecteur émet un signal vers l'étiquette à l'aide d'une antenne. L'étiquette répond avec les informations écrites dans sa banque de mémoire. Le lecteur transmet ensuite les résultats de la lecture à un microcontrôleur.

Spécifications

  • Puce : MFRC522
  • Fréquence de fonctionnement : 13.56MHz
  • Tension d'alimentation : 3.3V
  • Courant : 13 - 26mA
  • Portée de lecture : Environ 30mm
  • Communication : interface SPI
  • Taux de transfert de données max. : 10Mbit/s
  • Dimensions : 40 x 60mm [1.6 x 2.4in]

Le lecteur est un dispositif en champ proche, et non une véritable radio. Le lecteur ne fonctionne pas en envoyant et recevant des signaux radio, mais en détectant un léger changement d'impédance du circuit d'antenne accordé, causé par la modulation de son circuit accordé par l'étiquette RFID. Déplacez l'étiquette RFID hors du champ proche de l'antenne et il n'y aura aucun effet à mesurer. Le lecteur n'est pas réellement un récepteur, mais une version amplifiée des fluctuations de la tension de sortie moyenne dans le circuit accordé.

Le brochage du lecteur

Le brochage du lecteur
La tension d'alimentation est de 3.3V ! Ne connectez pas 5V à cette broche, sinon vous pourriez détruire l'appareil !
Le lecteur utilise l'interface SPI pour communiquer avec un microcontrôleur.
La broche IRQ d'interruption est à l'état haut tout le temps, et lorsque l'événement d'interruption se produit, elle change son état à bas pendant une courte période. L'événement d'interruption se produit lorsqu'une étiquette RFID est détectée dans le champ proche du lecteur.

Comment configurer l'Arduino IDE

Si vous n'avez pas encore installé l'Arduino IDE, voici comment procéder. Allez sur le lien : https://www.arduino.cc/en/Main/Software et téléchargez le fichier d'installation pour la plateforme de votre système d'exploitation.

Pour Windows, double-cliquez sur le fichier ".exe" téléchargé et suivez les instructions dans la fenêtre d'installation.
Pour Linux, téléchargez le fichier avec l'extension ".tar.xz", que vous devrez ensuite extraire. Une fois extrait, allez dans le répertoire extrait et ouvrez un terminal dans ce répertoire. Vous devrez exécuter deux scripts ".sh", le premier appelé "arduino-linux setup.sh", et le second appelé "install.sh".
Pour exécuter le premier script dans le terminal, exécutez la commande suivante :
sh arduino-linux-setup.sh user_name
user_name - est le nom de l'utilisateur super administrateur dans le système d'exploitation Linux. Après cela, il vous sera demandé de fournir le mot de passe de l'utilisateur super administrateur. Attendez quelques minutes que le script termine tout.
Après l'installation du premier script, exécutez le second script appelé "install.sh". Dans le terminal, exécutez la commande suivante :
sh install.sh
Après l'installation de ces scripts, allez dans All Apps (Toutes les applications) pour trouver l'Arduino IDE installé.

L'étape suivante consiste à vérifier si votre PC peut détecter la carte ATmega328p. Ouvrez l'Arduino IDE fraîchement installé, et allez à :
Tools (Outils) > Board (Carte) > {nom de votre carte ici}
{nom de votre carte ici} devrait être l'Arduino/Genuino Uno, comme vous pouvez le voir sur l'image ci-dessous :

Après cela, vous devez sélectionner le port sur lequel la carte du microcontrôleur est connectée. Allez à : Tools (Outils) > Port (Port) > {nom du port ici}
Si vous avez connecté la carte ATmega328p sur le port USB, il devrait y avoir plusieurs noms de ports. Étant donné que nous utilisons l'Arduino IDE sur Windows, les noms de ports sont comme sur l'image ci-dessous :

Pour les utilisateurs Linux, le nom du port est "/dev/ttyUSBx" par exemple, où "x" représente un nombre entier spécifique entre 0 et, par exemple, 9.

Connexion du lecteur avec l'ATmega328p

Connectez le lecteur à l'ATmega328p comme indiqué sur le schéma de connexion ci-dessous :
Connexion du lecteur avec l'ATmega328p

Broche du module > Broche ATmega328p
3.3V > 3.3V! Fil rouge
RST > D9 Fil violet
GND > GND Fil noir IRQ
> D2 Fil ocre
MISO > D12 Fil orange
MOSI > D11 Fil vert
SCK > D13 Fil bleu
SDA (SS) > D10 Fil gris

La bibliothèque pour l'Arduino IDE

Pour utiliser le module avec l'ATmega328p, il est recommandé de télécharger et d'installer sa bibliothèque. Ouvrez l'Arduino IDE et allez à : Tools (Outils) > Manage Libraries (Gérer les bibliothèques). Une nouvelle fenêtre s'ouvrira, tapez "RFID 522" dans le champ de recherche, et installez la bibliothèque appelée "MFRC522" créée par "GithubCommunity", comme indiqué sur l'image ci-dessous :

La bibliothèque est livrée avec de nombreux exemples de croquis. Nous utiliserons un exemple de croquis, appelé "MinimalInterrupt". Pour l'ouvrir, allez à :
File (Fichier) > Examples (Exemples) > MFRC522 > MinimalInterrupt

Exemple de croquis

Exemple de croquis - Partie 1

Exemple de croquis - Partie 2

Lorsque vous téléchargez le croquis sur l'ATmega328p, ouvrez le Serial Monitor (Moniteur Série), (Tools (Outils) > Serial Monitor (Moniteur Série)). Le résultat devrait ressembler à celui de l'image ci-dessous :

Lorsque vous approchez une carte ou une puce RFID du lecteur, une interruption se produit, et le numéro UID de la carte/puce est envoyé au Moniteur Série.
Au début du croquis, deux bibliothèques sont importées : SPI pour l'interface SPI et MFRC522 pour le lecteur RFID. Ensuite, trois macros sont créées, une pour le numéro de broche de réinitialisation, une seconde pour le numéro de broche de sélection d'esclave et la dernière pour le numéro de broche d'interruption.
Après cela, l'objet "mfrc522", qui représente le lecteur dans le logiciel, et la variable key sont créés. La variable key est utilisée pour stocker le numéro UID de la carte spécifique.
Ensuite, la variable bNewInt est créée. Lorsque l'interruption se produit, l'état de la variable bNewInt passe à true, ce qui indique qu'une interruption s'est produite. Ensuite, dans le code, nous vérifions l'état de la variable bNewInt et imprimons la sortie correspondante sur le Moniteur Série (plus d'informations à ce sujet plus loin dans le texte).
Ensuite, nous créons la variable regVal, qui est utilisée pour configurer les registres de la puce dans le lecteur RFID.
Dans la fonction setup(), nous configurons d'abord l'interface série avec un débit en bauds de 9600. Ensuite, nous configurons l'interface SPI et initialisons l'objet mfrc522.
Plus tard, nous affichons la version du lecteur MFRC522 sur le Moniteur Série. Les numéros valides sont 0x91 et 0x92.
Ensuite, nous configurons le mode de la broche d'interruption en INPUT avec une résistance PULL UP interne. Après cela, nous attachons la routine d'interruption avec la ligne de code suivante :
attachInterrupt(digitalPinToInterrupt(IRQ_PIN), readCard, FALLING)
Où le premier argument est une fonction intégrée :
digitalPinToInterrupt()
qui configure la IRQ_PIN (broche E/S numérique 2), pour écouter l'événement d'interruption. Le deuxième argument est la fonction qui sera exécutée lorsqu'une interruption se produira. Et le troisième argument est le front descendant du signal numérique, qui représente l'événement d'interruption lui-même.
Aux fins de cet exemple, nous utilisons le front FALLING (descendant) du signal numérique, qui arrive sur la IRQ_PIN, comme événement d'interruption. La valeur de cet argument peut également être RISING (montant) ou BOTH (les deux), mais nous ne l'utilisons pas dans notre exemple.
À la fin de la fonction setup(), nous effaçons les lectures d'interruption erronées avec les lignes de code suivantes :
do {; } while (!bNewInt);
bNewInt = false;
Dans la fonction loop(), il y a une instruction if, où nous vérifions l'état de la variable bNewInt. Si l'état de bNewInt est true, alors une interruption s'est produite, et nous imprimons la sortie sur le Moniteur Série. La sortie contient le message "Interrupt. Card UID: number" (Interruption. UID de la carte : numéro), où number est le numéro UID de la carte RFID qui a provoqué l'interruption. À la fin de l'instruction if, nous mettons la variable bNewInt à false.
À la fin de la fonction loop(), nous configurons à nouveau les registres de la puce du lecteur, et attendons 100 millisecondes.
Après la fonction loop(), nous créons la fonction readCard(), qui est exécutée lorsqu'une interruption se produit. Dans la fonction readCard(), nous ne faisons que définir l'état de la variable bNewInt à true. Après cela, nous créons trois fonctions qui sont utilisées pour configurer les registres de la puce du lecteur, et pour communiquer avec le lecteur.

Connecter le lecteur avec Raspberry Pi

Connectez le lecteur avec le Raspberry Pi comme indiqué sur le schéma de connexion ci-dessous :
Connexion du lecteur avec le Raspberry Pi

Broche du module > Broche du Raspberry Pi
SDA (SS) > GPIO8 [pin 24] Fil gris SCK
> GPIO11 [pin 23] Fil bleu
MOSI > GPIO10 [pin 19] Fil vert
MISO > GPIO9 [pin 21] Fil orange
IRQ > GPIO24 [pin 18] Fil ocre
GND > GND [pin 25] Fil noir
RST > GPIO25 [pin 22] Fil violet
3.3V > 3V3 [pin 1] Fil rouge

La bibliothèque pour Python

Afin d'utiliser le lecteur avec le Raspberry Pi, il est recommandé de télécharger une bibliothèque pour Python. La bibliothèque que nous allons utiliser s'appelle "pi rc522" (pi rc522). Pour installer cette bibliothèque, ouvrez un terminal et exécutez les commandes suivantes, une par une :
sudo apt-get update
sudo apt-get upgrade
sudo pip3 install pi-rc522

Nous sommes maintenant prêts à commencer à créer un script Python.

Script Python

Script Python
Enregistrez le script sous le nom "rfid.py" (rfid.py) dans le répertoire de script par défaut. Pour exécuter le script, ouvrez un terminal dans le répertoire où vous avez enregistré le script et exécutez la commande suivante :
python3 rfid.py

Le résultat devrait ressembler à celui de l'image ci-dessous :

Pour terminer le script, appuyez sur "CTRL + C" (CTRL + C).
Au début du script, nous importons deux bibliothèques, l'une appelée pirc522 que nous venons d'installer et l'autre pour la gestion du temps.
Ensuite, nous créons un objet lecteur, en utilisant la ligne de code suivante :
reader = RFID()
Vous pouvez connecter la broche SDA du lecteur à CE1 (GPIO7 [broche 26]) au lieu de CE0 (GPIO8 [broche 24]). Lorsque vous faites cela, vous devez créer un objet lecteur avec la ligne de code suivante :
reader = RFID(bus=0, device=1)
De plus, vous pouvez connecter la broche RST à toute autre broche GPIO libre. Si vous faites cela, vous devez créer un objet lecteur avec la ligne de code suivante : reader = RFID(pin_rst=number)
number est le numéro de broche de la carte Raspberry Pi (pas le numéro GPIO, mais le numéro de broche).
En outre, vous pouvez connecter la broche IRQ à toute autre broche GPIO libre. Si vous faites cela, vous devez créer un objet lecteur avec la ligne de code suivante : reader = RFID(pin_irq=number)
number est le numéro de broche de la carte Raspberry Pi (pas le numéro GPIO, mais le numéro de broche).
Après cela, nous créons une liste appelée keys où nous stockons les nouvelles clés UID. Nous créons également une variable booléenne appelée key_read utilisée pour vérifier si une clé est déjà dans la liste keys.
Ensuite, nous créons un bloc try-except-finally. Nous faisons cela afin de détecter une interruption clavier. L'interruption clavier se produit lorsque nous appuyons sur "CTRL + C" (CTRL + C) sur le clavier. La partie finally du bloc try-except-finally est utilisée pour nettoyer les broches GPIO de toutes les interfaces utilisées ou des modes de broches définis après une interruption clavier.
Dans la partie try du bloc try-except-finally, nous créons une boucle infinie (while True:). Dans cette boucle, nous attendons d'abord qu'une étiquette soit détectée. Lorsqu'une étiquette est détectée, une interruption se produira sur IRQ_PIN. Lorsqu'une interruption se produit, nous pouvons lire les données de l'étiquette.

La fonction reader.request() renvoie un tuple de deux éléments. Le premier élément est une valeur booléenne représentant une erreur (True (Vrai) s'il y a une erreur, False (Faux) s'il n'y a pas d'erreur), et le second élément représente le type d'étiquette (que nous n'utilisons pas dans le script).
Ensuite, nous vérifions s'il y a une erreur. S'il n'y a pas d'erreurs, nous procédons à la lecture de l'UID de l'étiquette.
La fonction reader.anticoil() renvoie un tuple de deux éléments. Le premier élément est une valeur booléenne représentant une erreur (True (Vrai) s'il y a une erreur, False (Faux) s'il n'y a pas d'erreur), et le second élément est le numéro UID de l'étiquette.
Ensuite, nous vérifions à nouveau s'il y a une erreur lors de la lecture de l'UID. S'il n'y a pas d'erreurs, nous vérifions si le numéro UID est déjà dans la liste keys. Si le numéro UID n'est pas dans la liste keys, nous ajoutons un nouveau numéro et affichons le message "New tag detected! UID: number" (Nouvelle étiquette détectée ! UID : numéro), où number est le numéro UID de l'étiquette. Si le numéro UID de l'étiquette est dans la liste keys, nous affichons le message "Already detected that tag!" (Déjà détecté cette étiquette !).
Lorsque nous avons fini de lire les données envoyées par le lecteur, nous devons exécuter la fonction suivante :
reader.stop_crypto()
À la fin du bloc de boucle infinie, nous appelons sleep(0.1), ou un intervalle de temps d'attente de 100 millisecondes, un intervalle de temps d'attente entre deux boucles du bloc de boucle infinie.
Vous avez terminé !
Vous pouvez maintenant utiliser votre module pour divers projets.

Consignes de sécurité

Bien que notre produit soit conforme aux exigences de la Directive RoHS (2011/65/EU) et ne contienne aucune substance dangereuse en quantités supérieures aux limites autorisées, des résidus peuvent toujours être présents. Observez les consignes de sécurité suivantes pour éviter les risques chimiques :

Le soudage peut produire des fumées nocives pour la santé.
Remarque : Utilisez un extracteur de fumées de soudure ou travaillez dans un endroit bien ventilé. Si nécessaire, portez un masque respiratoire.

Certaines personnes peuvent être sensibles à certains matériaux ou produits chimiques contenus dans le produit.
Remarque : En cas d'irritation cutanée ou de réactions allergiques, arrêtez l'utilisation et, si nécessaire, consultez un médecin.

Gardez le produit hors de portée des enfants et des animaux domestiques pour éviter tout contact accidentel et l'ingestion de petites pièces.
Remarque : Rangez le produit dans un récipient sûr et fermé lorsqu'il n'est pas utilisé.
attention Attention : Évitez tout contact du produit avec les aliments et les boissons.
Remarque : Ne stockez pas et n'utilisez pas le produit à proximité d'aliments pour éviter toute contamination.

Le produit contient des composants électroniques sensibles et des bords tranchants. Une manipulation ou un assemblage incorrect peut entraîner des blessures ou des dommages. Observez les consignes de sécurité suivantes pour éviter les risques mécaniques :
attention Attention : Le circuit imprimé et les connecteurs du produit peuvent avoir des bords tranchants. Soyez prudent pour éviter les coupures.
Remarque : Portez des gants de protection appropriés lors de la manipulation et de l'assemblage du produit.

Évitez toute pression excessive ou contrainte mécanique sur la carte et les composants.
Remarque : Montez le produit uniquement sur des surfaces stables et planes. Utilisez des entretoises et des boîtiers appropriés pour minimiser les contraintes mécaniques.
attention Attention : Assurez-vous que le produit est solidement fixé pour éviter tout glissement ou chute accidentelle.
Remarque : Utilisez un support approprié ou un montage sécurisé dans des boîtiers ou sur des plaques de montage.

Assurez-vous que toutes les connexions de câbles sont branchées solidement et correctement pour éviter les tensions et le débranchement accidentel.
Remarque : Acheminez les câbles de manière à ce qu'ils ne soient pas sous tension et ne présentent pas de risque de trébuchement.

Le produit fonctionne avec des tensions et des courants électriques qui, s'ils sont mal utilisés, peuvent entraîner des chocs électriques, des courts-circuits ou d'autres dangers. Observez les consignes de sécurité suivantes pour éviter les risques électriques :
attention Attention : Utilisez le produit uniquement avec les tensions spécifiées.
Remarque : Les limites de performance du produit se trouvent dans la fiche technique associée.

Évitez les courts-circuits entre les connecteurs et les composants du produit.
Remarque : Assurez-vous qu'aucun objet conducteur ne touche ou ne ponte le circuit imprimé. Utilisez des outils isolés et faites attention à la disposition des connexions.

N'effectuez aucune intervention sur le produit lorsqu'il est connecté à une source d'alimentation.
Remarque : Débranchez le produit de l'alimentation avant d'effectuer toute modification de circuit ou de connecter ou retirer des composants.

Ne dépassez pas les courants nominaux spécifiés pour les entrées et sorties du produit.
Remarque : Les limites de performance du produit se trouvent dans les spécifications techniques ou dans la fiche technique.
attention Attention : Assurez-vous que les sources d'alimentation utilisées sont stables et correctement dimensionnées.
Remarque : N'utilisez que des alimentations testées et appropriées pour éviter les fluctuations de tension et les surcharges.
attention Attention : Maintenez une distance suffisante des pièces sous tension pour éviter tout contact accidentel.
Remarque : Assurez-vous que le câblage est disposé de manière sûre et claire en fonction de la tension utilisée.

Utilisez des boîtiers isolants ou des couvercles de protection pour protéger le produit d'un contact direct.
Remarque : Placez le produit dans un boîtier non conducteur pour éviter les contacts accidentels et les courts-circuits.

Le produit et ses composants peuvent chauffer pendant le fonctionnement. Une manipulation incorrecte ou une surcharge du produit peut entraîner des brûlures, des dommages ou un incendie. Observez les consignes de sécurité suivantes pour éviter les risques thermiques :

Assurez-vous que le produit est utilisé dans les températures de fonctionnement recommandées.
Remarque : La plage de température de fonctionnement recommandée est généralement comprise entre -40°C et +85°C. Vérifiez les informations spécifiques dans la fiche technique du produit.
attention Attention : Ne placez pas le produit à proximité de sources de chaleur externes telles que des radiateurs ou la lumière directe du soleil.
Remarque : Assurez-vous que le produit est utilisé dans un endroit frais et bien ventilé.
attention Attention : Assurez-vous que le produit est bien ventilé pour éviter la surchauffe.
Remarque : Utilisez des ventilateurs ou des dissipateurs thermiques lorsque le produit est utilisé dans un boîtier fermé ou dans un environnement à circulation d'air limitée.
attention Attention : Montez le produit sur des surfaces résistantes à la chaleur et dans des boîtiers résistants à la chaleur.
Remarque : Utilisez des matériaux de boîtier capables de résister à des températures élevées pour éviter les dommages ou les risques d'incendie.

Mettez en œuvre une surveillance de la température lors de l'utilisation d'un boîtier et, si nécessaire, des mécanismes de protection qui arrêtent le produit en cas de surchauffe.
Remarque : Utilisez des capteurs de température et un logiciel approprié pour surveiller la température du produit et arrêter le système si nécessaire.

Évitez les surcharges qui peuvent entraîner une surchauffe excessive des composants.
Remarque : Pour éviter la surchauffe, ne dépassez pas les limites de courant et de tension spécifiées.

Les courts-circuits peuvent générer une chaleur importante et provoquer des incendies.
Remarque : Assurez-vous que toutes les connexions sont correctes et sécurisées et qu'aucun objet conducteur ne peut accidentellement provoquer de courts-circuits.

Il est maintenant temps d'apprendre et de réaliser vos propres projets. Vous pouvez le faire à l'aide de nombreux scripts d'exemple et d'autres tutoriels, que vous pouvez trouver sur internet.
Si vous recherchez des microélectroniques et des accessoires de haute qualité, AZ-Delivery Vertriebs GmbH est la bonne entreprise à contacter. Vous bénéficierez de nombreux exemples d'application, de guides d'installation complets, d'eBooks, de bibliothèques et de l'assistance de nos experts techniques.
https://az-delivery.de
Amusez-vous bien !
Impressum

https://az-delivery.de/pages/about-us

Références

Télécharger le manuel

Ici, vous pouvez télécharger la version PDF complète du manuel. Elle peut contenir des instructions de sécurité supplémentaires, des informations de garantie, des règles de la FCC, etc.

Télécharger Manuel AZ-Delivery RFID RC522

Les langues disponibles

Table des Matières