Cómo hacer un sistema de seguridad para el hogar usando Arduino Uno

Cómo hacer un sistema de seguridad para el hogar usando Arduino Uno
Arduino es la plataforma más favorable para crear diferentes proyectos que se relacionan principalmente con los dispositivos que se usan comúnmente en nuestra rutina de vida diaria. Del mismo modo, también podemos aprender el funcionamiento de los circuitos utilizando la plataforma Arduino. En este contexto hemos hecho un sistema de seguridad utilizando el Arduino Uno.

Creación de un sistema de seguridad en el hogar utilizando Arduino Uno

El sistema de seguridad siempre se basa en algún tipo de autorización y esa autorización puede ser en forma de código de paso, huella digital, reconocimiento de voz y reconocimiento facial. En este proyecto hemos diseñado un sistema de seguridad que utiliza una contraseña para la autorización. Los siguientes son los componentes que hemos utilizado para hacer un sistema de seguridad.

  • Arduino Uno
  • Tablero de circuitos
  • Conectando cables
  • Keypad de membrana 4 × 4
  • Pantalla de cristal líquido 16 × 2 (LCD)
  • Módulo RGB

La imagen para el esquema de crear un sistema de seguridad en el hogar utilizando Arduino S publicado a continuación:

Ensamblaje de hardware para crear el sistema de seguridad en el hogar

Para ensamblar el hardware, hemos conectado los componentes de tal manera que en primer lugar hemos colocado la pantalla LCD y el potenciómetro en la placa de pan. Además, hemos publicado una imagen a continuación para el ensamblaje del hardware para el sistema de seguridad.

Los cables marrones interactúan la LCD con el Arduino, y los cables azules conectan el teclado con Arduino y para ajustar el brillo 0f el LCD, el cable amarillo conecta el potenciómetro con LCD.

Hemos utilizado el módulo RGB para mostrar el estado de la autorización cuando se ingresa la contraseña y el color de los cables muestra el color de los LED utilizados para la indicación.

Código Arduino para el sistema de seguridad en el hogar

El código Arduino compilado para el sistema de seguridad doméstico se proporciona a continuación:

#Include // Definición de la biblioteca para LCD
#Include // Definición de la biblioteca para el teclado
LiquidCrystal LCD (A1, A0, 5, 4, 3, 2); // Arduino Pins para LCD
#define contraseña_length 9 // Definición de la longitud de la contraseña
char userinput [contraseña_length];/*cadena para almacenar la entrada del usuario*/
Char Master [contraseña_length] = "1234"; /*Guardar la contraseña correcta*/
Char CustomKey; // Esta variable contiene la entrada de la tecla de cada tecla presionada
byte pressCount = 0;/* para almacenar el contador durante la cantidad de veces que se presionan las teclas*/
Const byte filas = 4; // Definición del número de filas
const byte cols = 4; // Definición del número de columnas
int led = a2; // arduino pin para led verde
int led2 = a3; // arduino pin para led rojo
teclas de char [filas] [cols] = // Asignación de valores a las teclas del teclado

'1', '2', '3', 'a',
'4', '5', '6', 'B',
'7', '8', '9', 'c',
'*', '0', '#', 'd'
;
// C La clave se usa para BARRAR y se utiliza una clave para ingresar la contraseña
byte rowpins [filas] = 13,12,11,10; // Arduino Pins para filas de teclado
byte colpins [cols] = 9,8,7,6; // Arduino Pins para columnas de teclado
Keypad CustomKeypad = Keypad (MakeKeyMap (teclas), Rowpins, Colpins, filas, cols); // Mapeo de los valores a las teclas respectivas del teclado
setup () void
lcd.begin (16,2); // Inicializando las dimensiones de LCD
lcd.setCursor (0,0); // Establecer el lugar para que se muestren los datos
lcd.imprimir ("arduino home"); // datos que se mostrarán
lcd.setCursor (0,1); // Establecer el lugar para que se muestren los datos
lcd.imprimir ("Sistema de seguridad"); // Los datos se mostrarán
retraso (2000); // tiempo para el cual se mostrarán los datos
lcd.clare (); // borde la pantalla LCD
PinMode (LED, salida);
PinMode (LED2, salida);
DigitalWrite (LED2, bajo); // Asignación de estado bajo a LED rojo

bucle void ()
lcd.setCursor (0,0); // establecer el lugar para que se muestren los datos
lcd.imprimir ("Ingrese la contraseña:"); // pidiendo ingresar la contraseña
CustomKey = CustomKeypad.WaitforKey (); // esperando que el usuario ingrese la contraseña
if (CustomKey != NO_KEY && CustomKey != 'C' && CustomKey != 'A') /* Si se presiona la tecla que no sea transparente y se presiona igual a la función* /

userInput [pressCount] = customKey;/ * Cuente las teclas con los valores enteros presionados */
lcd.setCursor (PressCount + 4, 1); /*Configuración del lugar donde se mostrará la contraseña en LCD*/
lcd.imprimir("*"); // Mostrar el asterisco de cada tecla de contraseña
PressCount ++; // Incrementa uno en el recuento de la longitud de la contraseña que es 4

else if (customkey == 'c') // Si se presiona la tecla que tiene la función de claro C

lcd.clare (); // luego borre la pantalla LCD
borrar datos();

else if (customkey == 'a') /* Si se presiona la tecla y el recuento de contraseñas es inferior a 4, entonces borre la LCD y muestre la contraseña no válida* /

lcd.claro();
lcd.setCursor (0,0);
lcd.Imprimir ("Contraseña no válida!"); // Muestra su contraseña no válida
retraso (2000);
borrar datos();

if (pressCount == 4) / *Si se ingresa la contraseña de valor de 4, y luego coincida con la entrada del usuario con contraseña dada * /

lcd.claro();
espera aquí(); // función que muestra la contraseña en asterisco


nulo waithere ()
lcd.setCursor (0,0);
lcd.imprimir ("Ingrese la contraseña:");
lcd.setCursor (0,1);
lcd.imprimir(" ****");
CustomKey = CustomKeypad.WaitforKey (); // esperando que el usuario presione la tecla igual a
if (CustomKey != NO_KEY && CustomKey == 'A') /*Si se presiona la tecla Ingresa, el programa coincidirá con la contraseña ingresada por el usuario* /

lcd.claro();
lcd.setCursor (0,0);
si (!STRCMP (UserInput, Master)) // La entrada del usuario coincide y luego otorga el acceso

lcd.setCursor (0,0);
lcd.imprimir ("Acceso otorgado");
DigitalWrite (LED, High); // enciende el LED verde
retraso (1000);
borrar datos();

else if (strcmp (userInput, maestro)) /*Si la contraseña no se coincide, entonces niegue el acceso* /

lcd.setCursor (0,0);
lcd.imprimir ("Acceso denegado");
DigitalWrite (LED2, High); // enciende el LED rojo
retraso (2000);
borrar datos();


/* Condiciones para cada tecla Presionada en el teclado para cada tecla más que no sea borrar e ingrese la función Wait Here se usa para mostrarlo en LCD*/
if (CustomKey != NO_KEY && CustomKey == 'C')

lcd.claro();
borrar datos();

if (CustomKey != NO_KEY && CustomKey == '0')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '1')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '2')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '3')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '4')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '5')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '6')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '7')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '8')

espera aquí();

if (CustomKey != NO_KEY && CustomKey == '9')

espera aquí();


// función asignada a la clave C del teclado para borrar la pantalla LCD
nulo clearData ()
Mientras (PressCount != 0)

UserInput [PressCount--] = 0; // disminuye el valor ingresado a cero
DigitalWrite (LED, bajo);
configuración(); // llamando a la función de configuración para reiniciar el programa

Hemos dado la contraseña en el código y el programa simplemente toma la entrada del usuario y coincide con la contraseña. Este programa verifica la contraseña de dos maneras, una verificación de la longitud de la contraseña y luego coincide con ambas contraseñas guardadas en la cadena.

Si las contraseñas son correctas, el programa dará el acceso y encenderá el LED verde, mientras que si la contraseña es incorrecta, negará el acceso y el LED rojo se encenderá.

Implementación de hardware del sistema de seguridad en el hogar utilizando Arduino Uno

La imagen publicada a continuación muestra el inicio del código Arduino para el sistema de seguridad en el hogar. Además, hemos publicado las imágenes del código Arduino en la misma secuencia en la que se ejecuta el código.

En la figura a continuación, el código solicita la contraseña y le hemos dado el código de contraseña utilizando el teclado.

A continuación, hemos presionado la tecla A en el teclado para ingresar la contraseña y la contraseña es correcta, por lo que se enciende el LED verde, lo que significa que se otorga el acceso.

Del mismo modo, si la contraseña no es correcta, el LED rojo girará, lo que significa que la autorización no se da.

Conclusión

Para hacer proyectos de nivel para principiantes o avanzados, la plataforma Arduino será una excelente opción, ya que permite a los usuarios crear circuitos de la manera fácil. Hay una amplia variedad de proyectos de bricolaje que se pueden hacer con Arduino. Se realiza un sistema de seguridad en el hogar en este artículo, se utiliza un teclado para obtener la contraseña donde se utiliza el módulo RGB para indicar el acceso.