FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

DIY Smart Lock avec Arduino et RFID

Vous vous dirigez vers une serrure invisible dont vous seul avez la clé et l'ouvrez sans même la toucher. Cela paraît bien? Aujourd'hui, nous allons construire une simple serrure intelligente basée sur la RFID en utilisant un Arduino comme colonne vertébrale et quelques composants bon marché.

La technologie derrière ce projet est déjà utilisée dans de nombreuses industries. Quiconque a travaillé dans un bureau moderne ou utilisé les transports en commun l'aura probablement utilisé tous les jours. La RFID (identification par radiofréquence) identifie les données stockées sur une puce dans une carte ou un dongle, et les compare à une liste d'étiquettes qui ont déjà été scannées.

Nous allons construire un circuit de test pour contrôler l'accès à l'aide d'un module lecteur Mifare MFRC522, pour ouvrir et fermer une serrure. Nous utiliserons une carte-clé principale pour ajouter ou supprimer l'accès à différentes balises, et créerons un simple affichage LED pour nous dire ce qui se passe dans le système.

Enfin, nous ajouterons un solénoïde pour servir de verrou et un MOSFET pour le déclencher en toute sécurité à l'aide de notre Arduino.

Le lecteur MFRC522 peut lire et écrire des données sur les puces RC522 et stocke ces données dans l'EEPROM de l'Arduino. Ce serait un excellent ajout à toute configuration de bricolage, et est particulièrement pertinent pour tout système de sécurité domestique de base. Il pourrait être utilisé avec des systèmes d'alarme DIY ou des systèmes de caméras de sécurité DIY.

Vous aurez besoin

  • Arduino. Nous avons utilisé un Uno, bien que n'importe quelle carte ou clone Arduino suffira.
  • 3 résistances de 220 ohms
  • 1 résistance de 10 000 ohms
  • Mosfet canal N de niveau logique
  • Module MFRC522 avec au moins deux cartes/porte-clés à lire. La plupart viennent avec un de chaque et peuvent être achetés pour moins de 2 $, mais vous en avez probablement déjà un dans votre portefeuille sous la forme d'une carte de transport publique.
  • Voyants rouges, bleus et verts
  • Solénoïde 12 v (2 $)
  • Alimentation 12v
  • Planche à pain et câbles de raccordement

Le module MFRC522

La star de cette configuration est un module MFRC522 bon marché, fourni avec une carte et un porte-clés contenant un s50 puce, chacune stockant son propre numéro d'identification permanent (UID) unique. Ceux-ci sont tous les deux fonctionnellement identiques, juste dans une forme différente.

DIY Smart Lock avec Arduino et RFID

Commencez par rechercher le MFRC522 bibliothèque dans le gestionnaire de bibliothèque de votre IDE Arduino, et installez-la. Vous pouvez également télécharger la bibliothèque et l'installer manuellement dans le dossier des bibliothèques. Si vous êtes totalement nouveau sur Arduino, vous trouverez peut-être cette introduction utile !

La bibliothèque contient également un diagramme de Fritzing, que j'ai annoté indiquant comment attacher le module à votre Arduino.

DIY Smart Lock avec Arduino et RFID

Attention :cette carte fonctionne sur du 3,3 V et non sur du 5 V, veillez donc à la connecter à la bonne broche.

Pour tester la configuration, ouvrez le DumpInfo croquis de Fichier> Exemples> MFRC522> DumpInfo et téléchargez-le sur votre carte Arduino. Ouvrez le moniteur série et tenez l'un de vos objets RFID devant le lecteur. Vous devriez voir quelque chose comme ceci :

DIY Smart Lock avec Arduino et RFID

Si vous obtenez des erreurs dans la lecture en disant

Échec de MIFARE_Read() : expiration du délai de communication 

, ou

Échec de PCD_Authenticate() :expiration du délai de communication 

, ne t'inquiète pas. Cela signifie probablement que vous n'avez pas tenu l'étiquette devant le lecteur assez longtemps pour lire toutes les données. Tant que vous obtenez l'UID de la carte (qui est lu dès que l'étiquette est à portée du lecteur), cela fonctionnera avec ce projet. Si vous n'obtenez aucune lecture, vérifiez votre câblage et réessayez.

La suite du circuit

Maintenant que nous avons vérifié que notre module fonctionne, ajoutons le reste des composants. Connectez vos composants comme ceci :

DIY Smart Lock avec Arduino et RFID
  • Notre alimentation 12v (débranchée pour l'instant) se connecte aux rails de notre planche à pain. Connectez la broche Arduino GND et la broche MFRC522 GND au rail de masse.
  • Les LEDS sont connectées aux broches 2, 3 et 4 et au rail de masse via des résistances de 220 ohms.
  • La jambe de grille de notre MOSFET (à gauche sur l'image) se connecte à la broche 5 et à la terre via une résistance de 10k ohms. La jambe de drain (au milieu) se connecte à la borne négative de notre solénoïde 12v, et la jambe de source (à droite) se connecte au rail de masse.
  • Connectez la borne positive du solénoïde 12 v et le VIN de l'Arduino au rail 12 v de la planche à pain.

Avec cette configuration, chaque fois que nous envoyons un signal HIGH de l'Arduino au MOSFET, cela permettra au courant de passer au solénoïde. Rien ne vous empêche d'utiliser un solénoïde plus puissant ou plus résistant, bien que vous ayez besoin d'un transformateur abaisseur pour alimenter l'Arduino à partir de plus de 12V. Portez également une attention particulière à la fiche technique de votre MOSFET pour vous assurer de ne pas le surcharger.

Une fois que tout est assemblé, cela devrait ressembler à ceci :

DIY Smart Lock avec Arduino et RFID

Bien que ce ne soit pas nécessaire, j'ai créé un petit montage pour simuler une serrure de porte à partir de chutes de bois.

Modifier l'esquisse

Une fois le circuit construit, il est temps de configurer notre Arduino Sketch. Idéalement, la bibliothèque MFRC522 est livrée avec un exemple de croquis appelé Contrôle d'accès qui fait presque exactement ce que nous voulons faire. Connectez votre Arduino à votre ordinateur et ouvrez Fichier> Exemples> MFRC522> AccessControl dans l'IDE Arduino.

Il existe une mine d'informations fournies à la fois dans l'exemple de croquis et sur la page GitHub de la bibliothèque. Nous n'avons qu'à modifier quelques lignes. Vous pouvez également télécharger notre code modifié à partir de ce GitHub Gist.

Tout d'abord, le croquis a été conçu pour un circuit avec une seule LED RVB utilisant une anode commune. Nous ne l'utiliserons pas, alors commentez simplement cette section.

//#define COMMON_ANODE 

Maintenant, faites correspondre nos broches LED à celles définies dans le croquis.

#define redLed 3 // Définir les broches LED 
#define greenLed 4
#define blueLed 2

Nous devons changer la broche de relais (bien que nous utilisions un MOSFET dans ce cas) pour correspondre à notre configuration.

#define relais 5 // Définir la broche MOSFET 

Pour faciliter la modification de la durée d'ouverture de la serrure par la suite, nous allons créer une variable pour celle-ci.

int lockDelay=10000 ; // le verrou reste ouvert pendant 10 secondes. 

Nous n'avons plus qu'à faire un changement. Tout en bas de la boucle méthode, enterrée dans une instruction if est l'appel de méthode granted(300) . Nous devons changer cela pour qu'il utilise notre lockDelay variables.

accordé(lockDelay); // Ouvrir la serrure de la porte pendant la durée de lockDelay 

Enregistrez le croquis sous un nouveau nom et téléchargez-le sur votre Arduino. Une fois terminé, ouvrez le moniteur série. La première fois que vous faites cela, il vous demandera de numériser quelque chose à utiliser comme carte maîtresse. Tenez votre carte devant le lecteur et l'UID de la carte devrait s'afficher sur le moniteur série, ainsi que le message Tout est prêt

C'est ça! Votre clé principale est configurée. Débranchez votre carte Arduino de l'ordinateur. Les détails de votre clé principale seront enregistrés dans l'EEPROM de l'Arduino, même après la mise hors tension.

Test de la configuration complète

Jetez un dernier coup d'œil rapide sur votre câblage pour vérifier que tout est en place et connectez votre alimentation 12v. À ce stade, il convient de mentionner que vous devez vous méfier du cycle de service de votre solénoïde. Le solénoïde bon marché que j'utilise pour ce test n'a pas un cycle de service de 100 %, par conséquent, il ne doit pas être laissé dans sa position verrouillée pendant de longues périodes. Pour en faire une configuration permanente, utilisez un solénoïde à cycle de service de 100 %. Encore mieux serait un solénoïde normalement fermé (NC), qui reste verrouillé lorsqu'il n'est pas alimenté. Cela signifie également que toute personne souhaitant contourner le système ne peut pas simplement le débrancher !

Lorsque le circuit est sous tension, la LED bleue doit s'allumer pour indiquer que l'appareil est opérationnel. Le fait de tenir la carte maître au-dessus du lecteur la place en mode administrateur et devrait faire clignoter les trois voyants. Pendant qu'ils clignotent, vous pouvez tenir d'autres cartes ou porte-clés au-dessus du lecteur pour ajouter ou supprimer des droits d'accès. Il clignotera en vert pour donner accès et en bleu pour retirer. Utilisez à nouveau la carte maîtresse pour quitter le mode administrateur.

Désormais, lorsque vous tenez une carte ou un porte-clés avec accès au lecteur, il doit clignoter en vert et ouvrir le verrou. S'il clignote en rouge, l'accès a été refusé !

DIY Smart Lock avec Arduino et RFID

 Tout est terminé !

Bien que ce projet soit un simple début d'utilisation de dispositifs RFID dans votre configuration de bricolage, ce n'est pas la configuration la plus sécurisée. Nous ne suggérons pas au jury de truquer cela jusqu'à votre porte d'entrée.

Vous pouvez construire l'ensemble du mécanisme dans une boîte et utiliser le solénoïde pour le verrouiller. Remplissez la case avec des cookies et utilisez votre clé principale pour décider qui a accès et qui ne l'a pas. Devenez le maître des cookies !

Vous pouvez supprimer complètement le solénoïde et fixer une bande LED à sa place, et avoir une lumière activée par RFID. Vous pouvez utiliser les mêmes idées pour afficher des données comme un mot de passe Wi-Fi sur un petit écran lorsqu'une carte ou un porte-clés avec accès est tenu devant le lecteur.

Avez-vous utilisé la RFID dans vos configurations à la maison ? Faites-nous part de vos projets dans la section des commentaires ci-dessous !

Crédit image :Annmarie Young via Shutterstock.com


[]