Skip to main content

Tuto-Arduino Utiliser un module RFID

Dans ce tutoriel nous allons voir comment utiliser un module RFID nous utiliserons pour notre exemple un module RC-522 mais il pourrait fonctionner avec d’autres modèles.

Celui-ci nous permettra de contrôler un accès et ainsi être utilisé avec une gâche électrique, dans notre exemple une simple LED.

Rappel : Pour nous soutenir, merci de le faire en cliquant simplement sur « START MINING » dans la colonne située sur la droite de votre écran.

Niveau de difficulté : Débutant

Matériel nécessaire :

Câblage module RFID :

Nous allons donc raccorder comme ceci:

Arduino → RC-522

  • 3.3v sur 3.3v
  • GND sur gnd
  • SDA sur D10
  • SCK sur D13
  • MOSI sur D11
  • MISO sur D12
  • RST sur D9

Câblage de notre LED :

Une fois que notre module sera raccordé il nous faudra faut bien évidemment mettre en place notre témoin lumineux ainsi que la gâche si nous souhaitons l’utiliser .

Pour ce faire nous allons donc procéder ainsi :

(Dans mon cas j’utilise une simple LED afin d’avoir un visuel pendant l’utilisation cependant j’ajouterais en commentaire dans le code tout ce qui est nécessaire pour le faire fonctionner avec une gâche électrique).

Arduino → LED

  • LED sur D6

Notre montage devrait donc ressembler à ça :

 

Le programme :

Maintenant que nous disposons du matériel nécessaire et que celui-ci est convenablement raccordé, il va falloir apprendre à notre Arduino à interpréter les informations reçues!

Transfert :

Pour le transfert du code sur l’Arduino, la procédure est relativement simple mais si vous ne l’avez jamais fait, je vous invite à jeter un coup d’œil par ici :

https://www.memorandum.ovh/utiliser-le-logiciel-arduino/

Dans un premier temps, il nous faudra importer les librairies SPI.h ainsi que MFRC522.h.

Toutes les informations concernant le réglage ainsi que les différents paramètres pour notre lecteur RFID se trouveront dans le code.

[pastacode lang= »c » path_id= »99691af3d917a0672eb02c9120731532″ file= » » highlight= » » lines= » » provider= »gist »/]

Paramètres et réglages :

Afin de pouvoir utiliser notre montage il faudra donc entrer un TAG RFID dans notre programme qui corresponde à une carte ou un badge.

Moniteur série :

La procédure est la suivante dans le programme arduino, cliquez sur Outils puis Moniteur série. Cette manipulation peut aussi être faite via les touches du clavier Ctrl + Maj +M.

Pour que cela fonctionne il faut évidemment que notre Arduino soit relié au PC.

En présentant les badge devant le capteur nous devrions donc avoir quelque chose comme cela :

Nous pouvons voir ici que j’ai utilisé deux badges le premier UID : D4 A9 42 DB et le second UID : 06 62 20 02 ce sont les identifiants de nos badges mais les vôtres seront évidemment différents.

Modification du programme :

Dans le programme à la ligne 61 nous allons entrer le code UID du badge que nous souhaitons autoriser ainsi lorsque celui-ci sera présenté notre LED devrait s’allumer 3 secondes.

Dans le cas contraire lorsqu’on utilise le second badge qui lui n’est pas autorisé nous devrions voir la LED clignoter nous montrant ainsi que nous ne sommes pas autorisé à entrer.

Ce montage sera très certainement refait avec une véritable gâche électrique dont je dispose dans les locaux de l’association http://www.goldorhack.org ainsi, cela me permettra de vous présenter une vidéo d’utilisation concrète de ce genre de module mais en attendant, voici le résultat.

Le résultat en Vidéo :

J’espère que cet article vous aura plu, n’hésitez pas à le partager.

60 réponses à “Tuto-Arduino Utiliser un module RFID

  1. Bonjour,
    bravo à vous, très beau projet!
    je me permet de vous demander un peu d’aide.
    lorsque tout fonctionne (led allumé) est il possible de laisser cette led tout le temps allumé?
    en fait j’aimerai utilisé ce système plutôt en ON/OFF .
    dans votre vidéo on voit bien que lorsque vous laissez la bonne carte dessus la led s’allume longtemps puis s’éteind quelques seconde pour se rallumer.
    Mon projet serait plutôt ->carte sur le lecteur led tout le temps allumé et -> carte enlevé led éteinte.
    merci de votre aide.

    1. Bonjour, il est possible d’arriver à un résultat similaire mais pas de faire lire la carte en permanence. Pour votre système à utiliser en ON/OFF vous pouvez procéder de deux façon soit une carte qui allume puis une seconde qui éteint ou alors passer par la création d’une variable ou la détection de la carte ferait passé l’état de ON à OFF.

  2. Merci pour le tutorial. Mais svp j’ai un probleme de librairie mfrc522 comment proceder pour l’installer sur mon PC? Merci

  3. BonjourBonjour à tous,
    Ayant acquis un KKmoon RFID Proximité Entrée Serrure de porte Système de contrôle d’accès
    détecteur de badges kkmoon SKU : H4362
    Input : DC 12 V
    La notice est en anglais hélas je n’arrive pas à programmer le clavier numérique mais les badges fonctionnent correctement.
    Je souhaite faire fonctionner mon portillon d’entrée avec une gâche magnétique.
    Quelqu’un pourrait-il m’aider à programmer mes badges ?
    Par avance merci .
    Cordialement.
    Dom

  4. bonjour

    j’ai un probleme au niveaux du moniteur serie il se passe rien quand j’approche la carte du lecteur ? une solution ?

    1. Merci bcp pour le tutorial. Mais svp j’ai un probleme de librairie mfrc522 comment proceder pour l’installer sur mon PC? Merci

  5. bonjour, la compilation du programme fonctionne très bien en revanche je débute dans ce domaine et je ne sait pas du tout ou trouver les bon tags de mes badges..

    merci d’avance

    1. Si ta question concerne les TAG de tes carte ou badge rfid. en utilisant le moniteur série et en les présentant devant ton lecteur leur TAG va s’afficher avec le message : TAG inconnu – Acces refuse !!! puisque le programme s’il n’est pas modifié est prévu pour répondre ça sauf s’il lit les TAG suivants

      D4 A9 42 DB

      ou

      06 62 20 02

       

      En espérant t’avoir répondu.

  6. bonjour en testant ton montage j’ai un problème au niveau du code il m’affiche une erreur a la ligne 20 l erreur est et nommer « expected ‘,’ or ‘;’ before ‘char’

    tous les virgule sont misse

    merci d’avance

     

     

     

     

     

     

     

  7. Bonjour,

    J’aimerai savoir comment importer les librairies SPI.h ainsi que MFRC522.h.

    Y a-t-il un lien pour télécharger ses librairies? faut-il les importer via l’application Arduino?

    Merci d’avance.

  8. bonjour,

    super tuto mais au moment de compiler pour rentrer le programme dans mon arduino mega le logiciel arduino me dis « Erreur de compilation pour la carte arduino mega  » et je ne comprends pas car je suis sur le bon port et le code ne comporte pas d’erreur.

    auriez-vous la solution?

    cordilament Eldon.

  9. Bonjour,

    j’ai testé votre montage / code, et pour ma part tout fonctionne très bien et je vous en remercie.

    Ayant testé le montage sur une Arduino Mega, j’aurais aimé connaître une précision relative à l’alimentation sur une Arduino Nano.

    Je débute, et j’ai lu qu’on pouvait alimenter la Nano de manière externe (à l’aide d’une pile 9v par exemple) via la broche « vin ».

    Ma question est la suivante, comment rendez-vous votre projet nomade. Quel est votre shéma d’alimentation (hors USB) ?

    Merci encore pour l’aide que vous apportez à chacun d’entre-nous.

    1. Bonjour, Merci pour votre commentaire et votre question. je n’ai pas encore expérimenté ce type de montage nomade en général je me contente d’une batterie externe et utilise donc l’usb cependant je vous invite à jeter un œil à cet article : http://hardware-libre.fr/2014/07/arduino-le-nano-officiel/ . Attention comme il est précisé si vous avez la nécessité du 3v3 dans votre montage celui-ci n’est disponible que si le nano est alimenté via sa prise USB.

      1. Merci pour la réponse.

        Effectivement, mon idée de projet étant nécessairement nomade et souhaitant y utiliser un RFID RC522 alimenté en 3v3, ça pose un problème…

        Je n’ai plus qu’à parcourir les forums pour trouver une solution…

  10. Merci et bravo pour votre tuto très instructif.

    Il manque juste des « ; » aux lignes 17, 72, et 88 pour que le code fonctionne.

    Cordialement,

    J-François.

    1. Bonjour, merci pour votre commentaire, effectivement les dernières modifications ayant étés apporté sans test il est possible que des erreurs se soit glissé dans le code je ferais la correction dès que possible merci pour votre aide.

  11. Bonjour ,

    Je viens de suivre le tuto tout est bon dans les test , maintenant j’aimerai utiliser un gâchette électrique mais je ne sais ni ou la brancher sur le arduino ni comment modifier le code pour la faire fonctionné :s

  12. Bonjour Guillaume.

     

    Super Tuto, très simple par contre, j’ai un soucis. Quand je lance le moniteur, j’ai bien le message « TEST ACCES VIA RFID » mais quand j’approche un carte ou un badge (livré avec le module), rien ne s’affiche sur le moniteur…

    J’ai revérifié les branchements, mais rien n’y fait…

     

    Help me Obi Wan 🙂

  13. Bonjour, merci pour votre tuto cependant je n’ai pas compris pourquoi vous avez mit une constante char de 20 colonnes et aussi pour le int lock = 6. (C’est quoi un indicateur témoin ?)

    Pouvez-vous m’expliquer ?

  14. bonjour je souhaiterais utiliser une information du tag RFID contenue dans la mémore de ce tag (pas utiliser son adresse) savez vous comment faut il faire pour que cela fontionne?

    1. Slt Electronis,

      que veux tu faire exactement ?

      j’ai peut être un prog pour toi.

      il teste une plage de donnée plutôt que l’uid de la carte.

      Orefie

  15. Bonjour merci pour votre tuto ! J’aimerais savoir comment avez-vous fait pour trouver le module RFID sur Tinkercad ? Cela m’aiderait grandement, merci.

  16. Bonjour, merci pour votre tuto mais moi ce qui m’intéresse c’est le circuit que vous avez fait sur Tinkercard. Pourriez vous-m’aidez à le reproduire ? (Je ne trouve pas le module Rfid ni la arnuino nano).

    Merci !

  17. Bonjour,

    suite à la question de Giovani, quelle est la portée maximum de détection du module RFID CRFM-522 RC522 représenté dans cet tutoriel ? Je n’ai pas besoin d’un mètre, mais 8-10 centimètres me seraient confortables. Sans bien entendu être obligé de souder une antenne externe ou d’augmenter la tension du courant. Merci.

    En tous cas, ce tutoriel est bien utile.

     

  18. Bonjour j’effectue un projet sur un distributeur de croquettes avec un capteur RFID 125 KHz et j’aimerai savoir comment faire pour apres avoir passé un des deux badges on pourrait mettre une sorte d’horloge pour que le badge soit autorisé a repassé devant le capteur seulement apres 4h par exemple ?

    voila merci de votre réponse d’avance et si cela vous va repondez moi par mail .

    sinnetnebur1@gmail.com

    1. Bonjour,
      Tu peut utiliser soit un module de temps de type DS3231 ou un module wifi / ethernet et utiliser un serveur NTP.
      Ensuite un peu de logique de code et c’est tout bon !
      Merci pour ton commentaire 😉

  19.  Bonjour,Déjà ravi de voir que votre site est redevenu online! J’ai cru le perdre à tout jamais! :)Petite question qui reprend une autre posée un peu plus haut; Peut-on par quelconque moyen, augmenter la portée du module? Jusqu’à 1m, avec par exemple une antenne faite maison ou bien à acheter?Ce serait le cas par exemple d’un boitier pour une porte chez moi, et que la porte se déverrouille automatiquement lorsque le boitier détecte ma carte (ou celle d’un autre membre de la famille, peu importe!), et ce sans avoir à rapprocher la carte à moins de 10cm.

    1. Bonjour, il semble que cela existe et coûte entre 100 et 200€, je n’ai par contre pas testé et je ne peux actuellement pas te dire s’il est possible simplement d’en fabriquer une. Il faudrait que je me penche sur le problème .

  20. Bonjour Guillaume, J’ai lu avec attention vos instructions de programme et l’utilisation que l’on en fait par exemple pour des accès. J’ai vu que l’on pouvait envoyer des informations/commandes vers un moniteur via un port COM, ce pourrait être le tag propre à chaque RFID passé devant l’Arduino. Que ce soit vers un port com ou usb, avez vous une idée pour récupérer les tag pour les stocker en mémoire ou les enregistrer dans un fichier ou tableau Excel Merci à vous pour le temps que vous passez bénévolement pour chacun des lecteurs/questionneur. bernard

    1. Bonjour bernard,
      Oui il est tout à fait possible de stocker les tags qui sont passés devant le modules.
      Concernant la com USB par exemple, nous devrions sortir prochaine un tuto pour interfacer l’arduino avec un raspberrypi !
      Bonne journée

  21. Bonjour Guillaume,
    J’ai lu avec attention vos instructions de programme et l’utilisation que l’on en fait par exemple pour des accès.
    J’ai vu que l’on pouvait envoyer des informations/commandes vers un moniteur via un port COM, ce pourrait être le tag propre à chaque RFID passé devant l’Arduino.
    Que ce soit vers un port com ou usb, avez vous une idée pour récupérer les tag pour les stocker en mémoire ou les enregistrer dans un fichier ou tableau Excel
    Merci à vous pour le temps que vous passez bénévolement pour chacun des lecteurs/questionneur.
    bernard

  22. Bonjour, Pouvez-vous m’indiquer la portée maximale de ce type de module RFID? J’aurais besoin pour mon projet d’une portée d’environ 10cm max  et voudrais savoir si le RC522 ferait l’affaire? Savez-vous s’il y a possibilité d’augmenté la portée? Si non, avez-vous un module à me conseiller ? Merci d’avanceAnoy

    1. Bonjour je n’ai pas fait de test précis quant à la portée du RC522, mais je ne pense pas qu’il puisse être utilisé a une distance de 10cm. ce type de module reste limité . Pourriez vous éventuellement m’exposer votre projet afin que je puisse éventuellement vous suggérer autre chose si toute fois cela est possible?

  23. Merci pour le tuto, ça m’a bien aidé^^

    Sinon j’ai fait une petite modif pour ajouter plus « simplement » des cartes, si ça peux aider certains je partage : https://codeshare.io/2p7VY4 (Au passage, désolé si c’est mal foutu, je viens du PHP, je galère encore à devoir déclarer les types 😀 )

    1. j’ai survolé le code et effectivement on sent le php derrière c’est nettement mieux organisé et surtout plus simple à comprendre. beau boulot ! merci pour la contribution pourrais tu mettres le code sur github (gist) que je le mette à dispo directement dans le tuto. merci par avance.

  24.  Bonjour, suite à la dernière requête de « MESSAOUD » j’ai mis à jour le code à jour afin d’utiliser plusieurs badges merci à lui. N’hésitez pas à partager vos retours sur vos différents montages et vos demandes.

  25. Merçi de votre réponse, a la ligne 58 vous précisez le code du tag a lire, aidez moi a utiliser 2 tags et de ce fait 2 code Merçi (rectification)

  26. Merçi de votre réponse, a la ligne 58 vous précisez le code du tag a lire, aidez moi a utiliser 2 tags et de ce fait du code Merçi  

    1. Effectivement je n’ai pas testé plusieurs tags, il faudrait que je complète le tuto. Si je ne dis pas de bêtises, je vous invite à ajouter un else if après le if déjà présent de la manière suivante :
      Faite une simple copie du if (ligne 60 à 73 les commentaires ne sont évidemment pas nécessaires) puis remplacer « if » par « else if ». N’oublié pas de remplacer le numéro de tag. Je ne pourrais pas tester cela dans l’immédiat mais si vous en avez l’occasion merci de me confirmer que le fonctionnement est correct. Cordialement

  27.  Merçi GUILLAUME, avec un tag ça fonctionne très bien, pourriez vous m’aider a utuliser un 2eme tag dont je dispose Merçi.

  28. Tout fonctionne parfaitement avec un Arduino Uno.
    Attention, cependant, le module RFID-RC522 vient de plusieurs fabricants pour lesquels l’ordre des broches n’est pas toujours le même.
    J’ai par exemple:
    VCC RST GND MISO MOSI SCK SDA IRQ pour un module
    VCC RST GND IRQ MISO MOSI SCK SDA pour un autre

  29. Bonjour,J’ai réussi à refaire marcher mon module RFID je ne sais comment.J’ai un autre problème, les badges sont bien détecté et la led clignote bien 3 fois quand le badge est pas connu.Mais cela ne dure pas, au bout d’un moment j’ai l’impression que le programme se perd.La led rouge allumé sur l’arduino nano (noté L) ne s’allume que de temps en temps.Quand elle est allumé, la détection fonctionne. Par contre dès qu’elle s’éteind la détection ne fonctionne plus. Pourquoi ? Qu’indique cette led ?Pourquoi c’est totalement aléatoire ? Parfois cela fonctionne puis pendant 2 minutes plus rien puis cela refonctionne pendant 10s…Merci de votre aide.

  30. Bonjour, tout d’abord merci énormément pour ce tuto super utile !J’ai un petit soucis :Je suis possesseur de l’arduino Nano et du kit RFID avec un badge et une carte RFID livrés avec.Pas de soucis pour importer les librairies et le programme.Je démarre le SerialMonitor, passe un badge livré avec le kit RFID et il est reconnu, Nickel.Puis je passe la carte livrée aussi avec, reconnue aussi.Je passe une autre carte (pas livrée avec) qui je pense est du Mifare (style Vigik) car elle est pas reconnue par le téléphone qui lit du NFC. Et à partir de ce moment là plus rien…Plus rien n’est reconnu, les précédents badge j’ai rien au niveau du Monitor. J’ai remarqué que j’avais une petite led rouge qui s’allumait très faiblement sur l’Arduino lors des passages des badge RFID et maintenant j’ai vraiment plus rien.J’ai essayé avec un autre arduino, retéléchargé le programme plusieurs fois, et rien à faire.Le Badge Mifare pourrait griller comme ça la carte RFID ? C’est un simple hasard ?Je suis un peu pomé sur la question ! Qu’en pensez vous ?Merci pour votre tuto et votre éventuelle aide !Gus.   

  31. Bonjour. Le schéma comporte une erreur : le module RFID n’est pas alimenté correctement.Le fil rouge du RFID doit être connecté à la broche 3v3 de l’arduino comme indiqué dans le texteLe montage fonctionne impec après correction

  32. Merci de répondre aussi vite.J’ai bien le message de test sur la console série, qui me dit que la carte est initialisée.Par contre quand j’approche la carte, rien ne s’affiche

  33. Bonjour,Après avoir suivi à la lettre votre tutoriel, et en approchant différents tags, rien ne s’affiche sur le moniteur série.Cordialement.Paul Dury

      1. Bonjour,
        Merci pour votre tuto!
        j’ai une carte arduino uno, et un module RFID ( RC-522 ).
        En utilisant la carte ou le porte cle fournie avec le module rfid,
        je n’ai rien qui s’affiche sur le moniteur.

        Pourtant, j’ai bien la led, du module qui s’allume.
        En vous remerciant

        1. Bonjour,
          Le problème n’est pas très claire pourriez vous développer un petit peu ?

          C’est au niveau du moniteur serie que rien ne s’affiche? avez vous vérifier le baud?

    1. bonjour, j’ai exactement le même problème. Les branchements et le code sont bien reproduits, mais lorsque j’approche ma carte ou mon badge, rien ne s’affiche dans le moniteur série.

      j’utilise une carte ARDUINO mega et mon badge ainsi que la petite carte blanche ont été livré avec le module RC522 .. Si quelqu’un pouvait me conseiller quelque chose sa serait sympa,

       

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *