- Liste des composants
- Schéma de circuit pour la serrure de porte du clavier Arduino
- Code Arduino pour serrure de porte à clavier numérique
- Assemblage et test du verrou de porte du clavier Arduino
Souvent, nous devons sécuriser une pièce à notre domicile ou à notre bureau (peut-être le laboratoire d'un dextre secret) afin que personne ne puisse accéder à la pièce sans notre permission et assurer une protection contre le vol ou la perte de nos accessoires et actifs importants. Il y a tellement de types de systèmes de sécurité présents aujourd'hui mais dans les coulisses, pour l'authentification, ils reposent tous sur l'empreinte digitale, le scanner de rétine, le scanner d'iris, l'identification de visage, le scanner de langue, le lecteur RFID, le mot de passe, la broche, les motifs, etc. le moins coûteux consiste à utiliser un mot de passe ou un système basé sur un code PIN. Donc, dans ce projet, j'ai construit une serrure de porte à clavier Arduino qui peut être montée sur n'importe laquelle de vos portes existantes pour les sécuriser avec un mot de passe numérique. Auparavant, nous avons également construit d'autres serrures de porte intéressantes qui sont énumérées ci-dessous.
- Serrure de porte RFID Arduino
- Verrou de porte solénoïde Arduino
- Verrou à code numérique Raspberry Pi
- Serrure de porte électronique 555 Timer
Avant de créer notre projet de verrouillage de porte par mot de passe, nous devons d'abord collecter les composants requis, puis continuer et suivre le processus de construction étape par étape.
Liste des composants
- Carte Arduino Uno / Pro / Mini ou personnalisée utilisant le microcontrôleur Atmega 328p
- 16 x 2 LCD (affichage à cristaux liquides)
- Clavier matriciel 4 x 3 ou 4 x 4 pour Arduino
- Servomoteur
- Casier de porte imprimé en 3D / casier de porte personnalisé
- Composants supplémentaires pour l'alimentation d'un chargeur mobile 1 Amp 5 Volt
- Boîtes en plastique de 4 '' / 6 '', fils de liaison, boulons d'écrous, boîtier en plastique, etc.
Schéma de circuit pour la serrure de porte du clavier Arduino
Le schéma de circuit complet de notre projet de verrouillage de porte à clavier numérique basé sur Arduino est illustré ci-dessous.
Tout d'abord, nous partons du cerveau de ce projet qui est la carte Arduino UNO. La carte Arduino est connectée à un écran LCD et à un servomoteur. Le servomoteur est utilisé pour pousser (verrouiller) ou tirer (déverrouiller) le loquet de la porte. Un écran LCD 16 x 2 est nécessaire pour afficher le message par Arduino, 16 x 2 signifie qu'il a 16 nombre de colonnes et 2 nombre de lignes. Si vous êtes complètement nouveau dans les modules d'affichage LCD 16x2, vous pouvez consulter ce didacticiel d'interfaçage LCD Arduino pour en savoir plus.
Ici, j'utilise un servomoteur Towerpro SG90 5v pour fabriquer notre casier de porte personnalisé. Il s'agit d'un servomoteur de niveau de base et fonctionne très bien avec Arduino sans circuit de pilotage ni module externe. En outre, le coût de ce servomoteur est très inférieur, vous pouvez donc vous permettre de l'acheter facilement. Vous pouvez également consulter ce didacticiel de commande de moteur servo Arduino pour en savoir plus sur le servomoteur et son fonctionnement. Connectez le servomoteur à la broche D9 Arduino Digital et à une alimentation 5 volts. Ce servomoteur a un total de 3 lignes d'entrée (GND, + 5V et SIGNAL LINE).
Dans ce projet, j'ai utilisé un clavier matriciel 4 x 4 (mais la partie clavier 4 x 4 n'est pas disponible en fritzing pour faire cette représentation graphique), mais ne vous inquiétez pas car le clavier matriciel 4 x 3 fonctionne également très bien avec mon codage. Nous avons besoin d'un clavier pour saisir le mot de passe et verrouiller manuellement notre casier de porte personnalisé. Il se compose de 16 touches (interrupteur logiciel) 4 touches dans les lignes (R1, R2, R3, R4) et 4 touches dans les colonnes (C1, C2, C3, C4) lorsqu'une touche enfoncée, il établit une connexion entre les lignes correspondantes et colonnes. Le tableau ci-dessous montre comment connecter votre Arduino avec le clavier.
Clavier | Arduino |
Broche 1 (rangée 1) | Digital Pin1 |
Broche 2 (rangée 2) | Broche numérique 2 |
Broche 3 (rangée 3) | Broche numérique 3 |
Broche 4 (rangée 4) | Broche numérique 4 |
Broche 5 (colonnes 5) | Broche numérique 5 |
Broche 6 (colonnes 6) | Broche numérique 6 |
Broche 7 (colonnes 7) | Broche numérique 7 |
Code Arduino pour serrure de porte à clavier numérique
Le code de verrouillage de porte Arduino complet se trouve au bas de cette page. Vous pouvez télécharger directement le code, mais il est recommandé de lire les paragraphes ci-dessous pour comprendre comment le code fonctionne. En outre, il est important de vous assurer que vous avez ajouté la bibliothèque de clavier suivante à votre IDE Arduino pour compiler le code avec succès. Pour ce faire, ouvrez simplement le lien ci-dessous et téléchargez le fichier ZIP. Ensuite, sur votre IDE Arduino, accédez à Sketch -> Inclure la bibliothèque -> Add.ZIP Library et recherchez le fichier que vous venez de télécharger.
- Bibliothèque de clavier Arduino
Après avoir inséré tous les fichiers d'en-tête et de bibliothèque, attribuez toutes les broches pour LCD, définissez la longueur du mot de passe et définissez la position initiale du servo sur 0. Après cela, prenez un type de données «char» pour déclarer le nombre qui peut le contenir, y compris le caractère nul.
//#comprendre
Avec ce morceau de code (char Master = "123456";) - sous le Char Master, je déclare le mot de passe de la serrure de porte, puis attribue le nombre de lignes et de colonnes dans le clavier et déclare également keyMaps et me connecte avec des lignes et Colonnes. Sous la configuration vide, initialisez la broche de signal servo D9, l'état du servo fermé et imprimez le nom du projet / appareil / entreprise avec 3 secondes de retard sur le temps de démarrage de l'appareil.
void setup () {myservo.attach (9); ServoClose (); lcd.begin (16, 2); lcd.print ("Arduino Door"); lcd.setCursor (0, 1); lcd.print ("- Rechercher le projet--"); retard (3000); lcd.clear (); }
Sous la fonction de boucle, la simple condition if-else est là. Selon l'état (il est verrouillé automatiquement), imprimez «La porte est fermée» avec 3 secondes de retard et le servo tourne en position de fermeture, les données de la porte comptent pour 1 sinon le casier de porte reste ouvert et le compte de données 0, la rotation servo ouverte à la position passe à 0 degrés à 180 degrés et pour fermer il passe de 180 à 0. Les fonctions d'ouverture et de fermeture du servo sont illustrées ci-dessous.
void ServoOpen () {for (pos = 180; pos> = 0; pos - = 5) {// passe de 0 degrés à 180 degrés // par pas de 1 degré myservo.write (pos); // dit au servo d'aller en position dans la variable retard 'pos' (15); // attend 15ms que le servo atteigne la position}} void ServoClose () {for (pos = 0; pos <= 180; pos + = 5) {// passe de 180 degrés à 0 degrés myservo.write (pos); // dit au servo d'aller en position dans la variable retard 'pos' (15); // attend 15ms que le servo atteigne la position}}
Écrivez la position du servo avec 15 secondes de retard pour atteindre la position du servo. Sous la fonction void open, imprimez sur l'écran LCD «Enter Password» puis la condition spécifie que le mot de passe entré doit être le même avec la clé personnalisée, dans ce corps, les données sont comptées et stocke le caractère dans le tableau de données, incrémenté et le mot de passe d'entrée imprimé sur l'écran LCD si le la longueur des données (nombre de clés) et le mot de passe d'entrée correspondent à Data Master (où les clés prédéfinies sont présentes). Ensuite, comme une action LCD effacer, servo variateur, imprimer sur LCD «La porte est ouverte» et le compteur de données est remis à 0.
Si la clé d'entrée ne correspond pas à Data Master, en tant qu'action sur l'écran LCD, effacez l'impression sur l'écran LCD «Mauvais mot de passe» pour notifier avec 1 seconde de retard et reste dans sa position de verrouillage avec un compteur de données réglé sur 1 et continuez ce processus en boucle.
if (data_count == Password_Lenght - 1) // si l'index du tableau est égal au nombre de caractères attendus, comparez les données au master {if (! strcmp (Data, Master)) // égal à (strcmp (Data, Master) == 0) {lcd.clear (); ServoOpen (); lcd.print ("La porte est ouverte"); porte = 0; } else {lcd.clear (); lcd.print ("Mauvais mot de passe"); retard (1000); porte = 1; } effacer les données(); }
Assemblage et test du verrou de porte du clavier Arduino
Maintenant, placez tout sur une boîte en plastique de 4 pouces / 6 pouces et alimentez-le avec un chargeur mobile, alignez tout bien à l'aide du boîtier. Idéalement, j'aurais pu utiliser l'impression 3D pour assembler ma serrure, mais après avoir conçu mes fichiers, j'ai trouvé que l'impression 3D était très coûteuse, j'ai donc simplement réparé le servo en premier, puis connecté le casier à glissière normal avec mon servo à l'aide d'une plaque métallique et recouvert il avec de la fibre de verre, bien que cela fonctionne bien, il est moins sûr.
Si vous voulez plus de sécurité, vous devez imprimer un modèle de serrure de porte 3D qui fonctionne en interne avec ce servo. Vous pouvez télécharger les fichiers STL requis à partir du lien ci-dessous et les imprimer en 3D si vous avez accès à une imprimante 3D.
Télécharger les fichiers STL pour l'impression 3D
Les fichiers de conception sont également présentés dans l'image ci-dessous.
Au début du projet, au moment où nous l'allumons pour la première fois, nous devons donner le nom du projet (vous pouvez également afficher le nom de l'entreprise) pour qu'il ait l'air intelligent et exclusif comme un appareil commercial (comme vous pouvez le voir dans l'image ci-dessous).
Avec 3 secondes de retard, verrouillez rapidement la porte et vérifiez directement sur l'affichage l'état du verrouillage de la porte comme indiqué sur l'image ci-dessous.
Lorsque vous verrouillez manuellement la porte en appuyant sur la touche «#», cela indique d'abord que Porte est fermée pendant 1 seconde, puis Enter Password. D'autre part, lorsque la porte est déverrouillée en entrant le mot de passe correct, cela indique que la porte est ouverte.
Si la porte reste en état de déverrouillage, il affiche - La porte est ouverte tant que vous verrouillez manuellement la porte selon le codage. J'ai donné le code et vous pouvez personnaliser les paramètres en modifiant le paramètre d'affichage du code si nécessaire. Vous pouvez également vérifier le fonctionnement complet avec la vidéo liée au bas de cette page.