Smart Lock DIY avec Arduino et RFID

Voici comment construire un simple verrou intelligent basé sur RFID en utilisant un Arduino comme épine dorsale et quelques composants bon marché.

Voici comment construire un simple verrou intelligent basé sur RFID en utilisant un Arduino comme épine dorsale et quelques composants bon marché.
Publicité

Vous marchez jusqu'à un verrou invisible que vous seul avez la clé pour, et ouvrez-le sans même le toucher. Cela paraît bien? Aujourd'hui, nous allons construire une serrure intelligente basée sur RFID simple utilisant un Arduino comme épine dorsale 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'utilisera probablement tous les jours. 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 en utilisant un module de lecture Mifare MFRC522, pour ouvrir et fermer une serrure. Nous allons utiliser une carte-clé principale pour ajouter ou supprimer l'accès à différentes étiquettes, et créer une lecture LED simple pour nous dire ce qui se passe dans le système.

Enfin, nous allons ajouter un solénoïde pour agir comme le verrou, et un MOSFET pour le déclencher et le désactiver en toute sécurité en utilisant notre Arduino.

Le lecteur MFRC522 peut lire et écrire des données sur des puces RC522 et stocke ces données dans l'EEPROM de l'Arduino. Comment utiliser l'EEPROM Arduino pour sauvegarder les données entre les cycles de puissance Comment utiliser l'EEPROM Arduino pour sauvegarder les données entre les cycles de puissance Saviez-vous que l'Arduino peut stocker des données? quand il est éteint? Je parle de l'EEPROM, alors rejoignez-moi comme je vous montre comment lire et écrire. Lire la suite . Ce serait un excellent ajout à toute installation de bricolage, et est particulièrement pertinent pour tout système de sécurité à la maison de base. Il pourrait être utilisé aux côtés des systèmes d'alarme DIY Comment faire un simple système d'alarme Arduino Comment faire un simple système d'alarme Arduino Détecter le mouvement, puis effrayer le diable d'un intrus avec une alarme aiguë et des lumières clignotantes. Cela vous semble-t-il amusant? Bien sûr que oui. C'est l'objectif du projet Arduino d'aujourd'hui, ... Lire la suite ou Caméra de sécurité de bricolage Caméra de sécurité réseau Pan et Tilt avec Raspberry Pi Caméra de sécurité réseau Pan and Tilt avec Raspberry Pi Découvrez comment faire une caméra de sécurité panoramique et inclinable à distance avec un Raspberry Pi. Ce projet peut être complété en une matinée avec seulement les parties les plus simples. Lire plus de systèmes.

Tu auras besoin de

  • Arduino. Nous avons utilisé un Uno, mais tout conseil Arduino Guide d'achat Arduino: Quel conseil devriez-vous obtenir? Guide d'achat Arduino: Quel conseil devriez-vous obtenir? Il y a tellement de différents types de cartes Arduino là-bas, vous seriez pardonné d'être confus. Lequel devriez-vous acheter pour votre projet? Laissez-nous vous aider, avec ce guide d'achat Arduino! Lire la suite ou clone suffira.
  • 3 résistances de 220 ohms
  • 1 x 10k ohm résistance
  • Mosfet à canal N au niveau logique
  • Module MFRC522 avec au moins deux cartes / breloques à 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 voyage publique.
  • LED rouges, bleues et vertes
  • Solénoïde 12v (2 $)
  • Alimentation 12v
  • Breadboard et les fils de raccordement

Le module MFRC522

L'étoile de cette configuration est un module bon marché MFRC522, qui est venu avec une carte et une télécommande contenant une puce S50, chacun stockant son propre numéro d'identification unique (UID). Ceux-ci sont fonctionnellement identiques, juste dans une forme différente.

module et carte

Commencez par rechercher la bibliothèque MFRC522 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 novice avec Arduino, vous pouvez trouver ce guide pour commencer Getting Started with Arduino: Guide du débutant Initiation à Arduino: Guide du débutant Arduino est une plate-forme de prototypage électronique open source basée sur un matériel flexible et facile à utiliser. Logiciel. Il est destiné aux artistes, designers, amateurs et toute personne intéressée par la création d'objets ou d'environnements interactifs. Lire plus utile!

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

brochage arduino rfid
Crédit d'image: Miguel Balboa via Github

Attention: cette carte fonctionne sur 3.3V, pas sur 5V, veillez donc à la connecter à la bonne broche.

Pour tester l'installation, ouvrez l'esquisse DumpInfo à partir de Fichier> Exemples> MFRC522> DumpInfo et chargez-la sur votre carte Arduino. Ouvrez le moniteur série et gardez l'un de vos objets RFID à la portée du lecteur. Vous devriez voir quelque chose comme ceci:

vidage info lecture en série

Si vous obtenez des erreurs dans la lecture disant que MIFARE_Read() failed: Timeout in communication, ou PCD_Authenticate() failed: Timeout in communication, ne vous inquiétez pas. Cela signifie probablement que vous n'avez pas conservé l'étiquette au 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.

Le reste du circuit

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

circuit d'installation complet fritzing

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

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. Il n'y a rien pour vous empêcher d'utiliser un solénoïde plus puissant ou plus puissant, bien que vous ayez besoin d'un transformateur abaisseur pour alimenter l'Arduino de plus de 12V. Portez également une attention particulière à la fiche technique de votre MOSFET pour vous assurer que vous ne le surchargez pas.

Une fois que tout est mis en place, il devrait ressembler à ceci:

disposition du circuit

Bien que ce ne soit pas nécessaire, j'ai créé une petite plate-forme pour simuler une serrure de porte à partir de débris de bois.

Modifier l'esquisse

Avec le circuit construit, il est temps de configurer notre Arduino Sketch. Commodément, la bibliothèque MFRC522 est livrée avec un exemple d'esquisse 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 y a une mine d'informations fournies à la fois dans l'esquisse d'exemple et sur la page GitHub pour la bibliothèque. Nous avons seulement besoin de modifier quelques lignes. Alternativement, vous pouvez télécharger notre code modifié à partir de ce GitHub Gist.

Premièrement, l'esquisse a été conçue pour un circuit avec une seule LED RGB utilisant une anode commune. Nous n'utiliserons pas cela, alors commentez simplement cette section.

 //#define COMMON_ANODE 

Maintenant, faites correspondre nos broches LED à celles définies dans l'esquisse.

 #define redLed 3 // Set Led Pins #define greenLed 4 #define blueLed 2 

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

 #define relay 5 // Set MOSFET Pin 

Pour faciliter le changement de la durée d'ouverture du verrou, nous allons créer une variable pour celui-ci.

 int lockDelay=10000; // lock stays open for 10 seconds. 

Nous avons seulement besoin de faire un changement de plus. Tout en bas de la méthode de boucle, enter dans une instruction if est l'appel de méthode accordé (300) . Nous devons changer cela afin qu'il utilise notre variable lockDelay .

 granted(lockDelay); // Open the door lock for lockDelay duration 

Enregistrez l'esquisse sous un nouveau nom et téléchargez-la sur votre Arduino. Quand c'est fini, ouvrez le moniteur série. La première fois que vous faites cela, il vous sera demandé de scanner quelque chose à utiliser comme carte maîtresse. Tenez votre carte au lecteur, et l'UID de la carte devrait apparaître sur le moniteur de série, avec le message Tout prêt

C'est tout! Votre clé principale est entièrement configurée. Débranchez votre carte Arduino de l'ordinateur. Vos détails de clé principale seront sauvegardés dans l'EEPROM de l'Arduino, même après la mise hors tension.

Test de l'installation complète

Jetez un dernier coup d'œil 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 devriez 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 fonctionnement de 100 pour cent, par conséquent, il ne devrait pas être laissé dans sa position verrouillée pendant de longues périodes de temps. Pour en faire une configuration permanente, utilisez un solénoïde de cycle de service de 100%. Mieux encore, un solénoïde normalement fermé (NF) reste verrouillé lorsqu'il n'est pas alimenté. Cela signifie également que quiconque souhaite contourner le système ne peut pas simplement le débrancher!

Lorsque le circuit est sous tension, le voyant bleu doit s'allumer pour indiquer que l'appareil est opérationnel. Tenir la carte maîtresse sur le lecteur la place en mode admin, ce qui devrait faire clignoter les trois voyants. Pendant qu'ils clignotent, vous pouvez placer d'autres cartes ou breloques sur le lecteur pour ajouter ou supprimer des droits d'accès. Il clignote en vert pour donner l'accès, et en bleu pour l'emporter. Utilisez à nouveau la carte maîtresse pour quitter le mode administrateur.

Maintenant, 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é!

Terminé!

Alors que ce projet est un début simple dans l'utilisation des dispositifs RFID dans votre installation de bricolage, ce n'est pas la configuration la plus sécurisée. Nous ne suggérons pas au jury de truquer ceci à 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 boîte 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 complètement supprimer le solénoïde et fixer une bande de 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é avec accès est tenu au lecteur.

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

Crédit d'image: Annmarie Young via Shutterstock.com

In this article