Contrôle d’accès avec Arduino, Rasberry Pi, NFC & servo moteur

Au cours de nos péripéties avec la Maison Connectée Daisylab, nous avons eu l’occasion de mettre en oeuvre la technologie NFC (Near Field Communication, littéralement Communication en Champ Proche) pour contrôler l’ouverture d’une porte, en fonction des informations contenues sur le badge.

Pour réaliser ce montage, nous avons eu besoin de plusieurs éléments :

  • 1 servo moteur pour ouvrir ou fermer la porte
  • 1 lecteur NFC
  • 2 badges NFC (un badge donnera le droit d’entrer, l’autre non)
  • 1 Rasberry Pi pour contrôler le servo moteur, et recevoir les information du lecteur NFC

Architecture générale

Le lecteur NFC détecte la présence d’un badge à proximité. Le badge possède une mémoire. Le lecteur peut lire cette mémoire tant que le badge est à proximité ( <10cm).

Les données sont envoyées à l’Arduino, qui les traite.

L’Arduino reçoit les données, et peut les traiter. En fonction de ces données, il effectue des actions. Par exemple, il peut commander l’ouverture la porte

Détection du badge NFC

La technologie NFC, pour Near Field Communication (communication en champproche), permet la détection et l’échange de données sans contact entre deux objets.

Deux éléments sont indispensables : un lecteur, et un badge, ou tag.

Le lecteur émet continuellement un champ magnétique. Lorsque qu’un tag est approché du lecteur, ce champ magnétique permet de l’alimenter. Il va alors envoyerson identifiant, une donnée unique propre à chaque objet NFC.

Une fois le tag détecté, le lecteur peut lire sa mémoire. Dans la démonstration Daisy Lab, nous lisons un emplacement de celle-ci qui contient un prénom.

Ouverture de la porte avec servo moteur

Servo moteur pour contrôler la porte de la Maison Connectée DAISYLAB

Un Servo moteur effectue un déplacement rotatif lorsqu’il est soumis à des impulsions électroniques.

L’Arduino pilote donc une sortie connectée au servo moteur, et envoie un nombre d’impulsions calculé pour déplacer la porte de 90°.
Pour la fermeture, le type d’impulsions envoyé est différent, permettant une rotation ensens inverse.

Programmation d’un badge NFC