Comment fabriquer un système de sécurité à domicile à l'aide d'Arduino Uno

Comment fabriquer un système de sécurité à domicile à l'aide d'Arduino Uno
Arduino est la plate-forme la plus favorable pour créer différents projets qui sont principalement liés aux appareils couramment utilisés dans notre routine de vie quotidienne. De même, nous pouvons également apprendre le fonctionnement des circuits à l'aide de la plate-forme Arduino. Dans ce contexte, nous avons créé un système de sécurité en utilisant l'Arduino Uno.

Création d'un système de sécurité domestique à l'aide d'Arduino Uno

Le système de sécurité est toujours basé sur un certain type d'autorisation et que l'autorisation peut se présenter sous la forme de code de passe, d'empreintes digitales, de reconnaissance vocale et de reconnaissance faciale. Dans ce projet, nous avons conçu un système de sécurité qui utilise un mot de passe pour l'autorisation. Voici les composants que nous avons utilisés pour créer un système de sécurité.

  • Arduino Uno
  • Planche à pain
  • Fils de connexion
  • Clavier à membrane 4 × 4
  • Affichage en cristal liquide 16 × 2 (LCD)
  • Module RVB

L'image pour le schéma de création d'un système de sécurité domestique à l'aide d'Arduino publiée ci-dessous:

Assemblage matériel pour créer le système de sécurité domestique

Pour assembler le matériel, nous avons connecté les composants de telle manière que nous avons d'abord placé l'écran LCD et le potentiomètre sur la planche à pain. De plus, nous avons publié une image ci-dessous pour l'assemblage du matériel pour le système de sécurité.

Les fils bruns interfacent l'écran LCD avec l'Arduino, et les fils bleus connectent le clavier avec Arduino et pour régler la luminosité 0f le LCD Le fil jaune relie le potentiomètre avec l'écran LCD.

Nous avons utilisé le module RVB pour afficher l'état de l'autorisation lorsque le mot de passe est entré et que la couleur des fils affiche la couleur des LED utilisées pour l'indication.

Code Arduino pour le système de sécurité domestique

Le code Arduino compilé pour le système de sécurité domestique est donné ci-dessous:

#include // Définition de la bibliothèque pour l'écran LCD
#include // Définition de la bibliothèque du clavier
LCD LiquidCrystal (A1, A0, 5, 4, 3, 2); // Arduino Pins pour LCD
#define mot de passe_length 9 // Définition de la longueur du mot de passe
Char userInput [password_length]; / * chaîne pour stocker l'entrée utilisateur * /
char maître [mot de passe_length] = "1234"; / * Enregistrer le mot de passe correct * /
Char CustomKey; // Cette variable maintient l'entrée de la clé de chaque touche appuyée
BYTE PRESSCOUNT = 0; / * Pour stocker le compteur pour la quantité de fois où les touches sont pressées * /
lignes d'octets const = 4; // Définition du nombre de lignes
Const Byte Cols = 4; // Définition du nombre de colonnes
int led = a2; // broche arduino pour la LED verte
int led2 = a3; // broche arduino pour LED rouge
clés de char [lignes] [cols] = // attribuant des valeurs aux clés du clavier

'1', '2', '3', 'a',
'4', '5', '6', 'B',
'7', '8', '9', 'C',
'*', '0', '#', 'D'
;
// La clé C est utilisée pour claire et une clé est utilisée pour entrer le mot de passe
BYTE ROWPINS [ROWS] = 13,12,11,10; // broches arduino pour les rangées de clavier
BYTE COLPINS [COLS] = 9,8,7,6; // broches Arduino pour les colonnes de clavier
Keypad CustomKeyPad = Keypad (Makekeymap (touches), Rowpins, Colpins, Rows, Cols); // Mappage des valeurs aux touches respectives du clavier
void setup()
LCD.commencer (16,2); // initialisation des dimensions de l'écran LCD
LCD.setCursor (0,0); // définir la place pour que les données soient affichées
LCD.print ("arduino home"); // data à afficher
LCD.setCursor (0,1); // définir la place pour que les données soient affichées
LCD.print ("Système de sécurité"); // Données à afficher
Delay (2000); // temps pour lequel les données seront affichées
LCD.clear (); // effacer le LCD
PinMode (LED, sortie);
PinMode (LED2, sortie);
DigitalWrite (LED2, Low); // attribuant un état bas à la LED rouge

VOID LOOP ()
LCD.setCursor (0,0); // Définition de la place pour que les données soient affichées
LCD.print ("Entrez le mot de passe:"); // demandant la saisie du mot de passe
CustomKey = CustomKeyPad.waitForkey (); // En attendant que l'utilisateur entre le mot de passe
if (CustomKey != No_KEY && CustomKey != 'C' && CustomKey != 'A') / * Si une touche autre que la fonction claire et égale à la fonction est enfoncée * /

userInput [PressCount] = CustomKey; / * Comptez les touches avec les valeurs entières appuyées sur * /
LCD.setCursor (PressCount + 4, 1); / * Définition de l'endroit où le mot de passe sera affiché sur l'écran LCD * /
LCD.imprimer("*"); // Affichage de l'astérisque sur chaque clé de mot de passe
PressCount ++; // incrément un dans le compte de la longueur du mot de passe qui est 4

else if (customKey == 'C') // Si la touche ayant une fonction claire C est enfoncée

LCD.clear (); // alors effacez le LCD
effacer les données();

else if (customKey == 'a') / * si la touche est enfoncée et que le nombre de mots de passe est inférieur à 4, alors effacez l'écran LCD et affichez le mot de passe non valide * /

LCD.clair();
LCD.setCursor (0,0);
LCD.Imprimer ("Mot de passe non valide!"); // Afficher son mot de passe non valide
Retard (2000);
effacer les données();

if (presscount == 4) / * Si le mot de passe de valeur 4 est entré, faites correspondre la saisie de l'utilisateur avec le mot de passe donné * /

LCD.clair();
attends ici(); // Fonction qui affiche le mot de passe en astérisque


void waithere ()
LCD.setCursor (0,0);
LCD.print ("Entrez le mot de passe:");
LCD.setCursor (0,1);
LCD.imprimer(" ****");
CustomKey = CustomKeyPad.waitForkey (); // En attendant que l'utilisateur appuie sur la touche égale
if (CustomKey != No_key && coustomKey == 'a') / * Si la touche Entrée est appuyée, le programme correspondra au mot de passe entré par l'utilisateur * /

LCD.clair();
LCD.setCursor (0,0);
si (!strcmp (userInput, maître)) // L'entrée utilisateur est adaptée puis accorde l'accès

LCD.setCursor (0,0);
LCD.print ("Accès accordé");
DigitalWrite (LED, haut); // allume la LED verte
retard (1000);
effacer les données();

else if (strcmp (userInput, maître)) / * si le mot de passe n'est pas égalé, niez l'accès * /

LCD.setCursor (0,0);
LCD.print ("Accès refusé");
DigitalWrite (LED2, High); // allume la LED rouge
Retard (2000);
effacer les données();


/ * Conditions pour chaque touche appuyée sur le clavier pour chaque touche autre que claire et entrez la fonction d'attente ici est utilisée pour l'afficher sur l'écran LCD * /
if (CustomKey != No_key && coustomKey == 'c')

LCD.clair();
effacer les données();

if (CustomKey != No_key && coustomKey == '0')

attends ici();

if (CustomKey != No_key && coustomKey == '1')

attends ici();

if (CustomKey != No_key && coustomKey == '2')

attends ici();

if (CustomKey != No_key && coustomKey == '3')

attends ici();

if (CustomKey != No_key && coustomKey == '4')

attends ici();

if (CustomKey != No_key && coustomKey == '5')

attends ici();

if (CustomKey != No_key && coustomKey == '6')

attends ici();

if (CustomKey != No_key && coustomKey == '7')

attends ici();

if (CustomKey != No_key && coustomKey == '8')

attends ici();

if (CustomKey != No_key && coustomKey == '9')

attends ici();


// Fonction affectée à la clé C du clavier pour effacer le LCD
void clearData ()
Pendant (presse != 0)

userInput [PressCount--] = 0; // diminue la valeur entrée à zéro
DigitalWrite (LED, bas);
installation(); // appelle la fonction de configuration pour redémarrer le programme

Nous avons donné le mot de passe dans le code et le programme prend simplement les entrées de l'utilisateur et correspond au mot de passe. Ce programme vérifie le mot de passe de deux manières, un en vérifiant la longueur du mot de passe, puis il correspond aux deux mots de passe enregistrés dans la chaîne.

Si les mots de passe sont corrects, le programme donnera l'accès et allumera la LED verte alors que si le mot de passe est incorrect, il refusera l'accès et la LED rouge s'allumera.

Implémentation matérielle du système de sécurité domestique à l'aide d'Arduino Uno

L'image publiée ci-dessous montre le début du code Arduino pour le système de sécurité à domicile. De plus, nous avons publié les images du code Arduino dans la même séquence dans laquelle le code s'exécute.

Dans la figure ci-dessous, le code demande le mot de passe et nous avons donné le mot de passe à l'aide du clavier.

Ensuite, nous avons appuyé sur la touche UN sur le clavier pour saisir le mot de passe et le mot de passe est correct, donc la LED verte est allumée, ce qui signifie que l'accès est accordé.

De même, si le mot de passe n'est pas correct, la LED rouge tournera, ce qui signifie que l'autorisation n'est pas donnée.

Conclusion

Pour faire des projets de niveau débutant ou à l'avance, la plate-forme Arduino sera un excellent choix car il permet aux utilisateurs de créer des circuits à la simple manière. Il existe une grande variété de projets à faire soi-même qui peuvent être réalisés à l'aide d'Arduino. Un système de sécurité domestique est réalisé dans cet article, un clavier est utilisé pour obtenir le mot de passe où le module RVB est utilisé pour indiquer l'accès.