You are on page 1of 10

SISTEMA DE SEGURIDAD

Concepto:
Un sistema de seguridad es un conjunto de elementos interrelacionados cuyo objetivo principal
es establecer un nivel de protección frente a posibles riesgos, peligros, carencias o delitos que
puedan afectar de forma negativa la integridad de una población (persona, un hogar, un
negocio…)

QUE ES DOMOTICA:

 conjunto de procesos y métodos para automatizar una vivienda


 conjunto de sistemas y tecnologías capaces de automatizar una vivienda,
mediante la gestión inteligente de la energía, las comunicaciones, la iluminación,
la seguridad y todos los elementos de una vivienda o edificación con el fin de
aportar seguridad, bienestar y confort.
 Este proyecto consiste en la automatización de procesos de seguridad
mediante un sensor, bocinas, luces y un panel de control para programar las
funciones requeridas.
Materiales

 Tarjeta Arduino mega 2560


 Modulo Controlador I2C para pantalla
 Pantalla LiquidCrystal 2*16
 Sensor de contacto maagnetico
 Teclado matricial 4*4
 Cables de conexión
 Modulo relevador 2 canales 5v.
 Caja plástica
 Caja cartón
 Paletas de madera
 Silicona
 Bocina o buzzer
 Transformador de carga 5v 1000 mA.
 Transformador DE 12. 1500 mA.
 Resistencias de 1k ohm.
 Led color rojo, blanco
 Pulsadores

DIAGRAMA
PARA CARGAR EL CODIGO A LA TARJETA ARDUINO NECESITAMOS EL PROGRAMA LLAMADO:
IDE ARDUINO
CODIGO
DEFINICION DE LIBRERIAS
#include <Keypad.h> // Controla el teclado
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include <EEPROM.h> //Controla E/S EEPROM
const byte filas = 4; //filas del teclado son 4
const byte columnas = 4; //columnas del teclado son 4
byte pinsFilas[filas] = {5, 4, 3, 2}; //pines del Arduino a donde va conectado el
teclado
byte pinsColumnas[columnas] = {9, 8, 7, 6}; //pines del Arduino a donde va conectado el
teclado
char teclas[filas][columnas] = {
{'1', '2', '3', 'A'}, // Declaración del teclado
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'},
};

ASIGNACION DE VARIABLES
int i=0;
int j=0;
int a; //aux
int buzzer = 10; // buzzer conectado al pin 10
int relevibracion = 33; //relevador que controla al sensor, conectado al pin 33
int vibracion = 37; //sensor conectado al pin 37
int relevocina = 35; //relevador que controla la bocina conectado al pin 35
int ledblanco = 11;
int ledrojo = 12;
int estado = 0; //ESTADO DEL SENSOR

DESIGNACION DE VARIABLES DE ENTRADA Y SALIDA

void setup() {

lcd.init(); //inicio de la pantalla


lcd.backlight(); //inicio luces de la pantalla
digitalWrite(relevocina, HIGH); //inicio del relevador de la bocina en apagado
digitalWrite(relevibracion, LOW); //inicio del relevador del sensor en prendido
pinMode(vibracion, INPUT); //inicio del sensor activado (entrada de señal)
pinMode(buzzer, OUTPUT); //inicio del buzzer como salida de audio
pinMode(relevibracion, OUTPUT); //inicio del relevador del sensor, salida de energía para el
sensor
pinMode(relevocina, OUTPUT);
pinMode(ledblanco, OUTPUT);
pinMode(ledrojo, OUTPUT);
delay(2000); //tiempo de espera para el siguiente proceso
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("INGRESE SU CLAVE"); //la pantalla muestra el comentario en comillas
lcd.setCursor(5, 1);
lcd.print("____");
}//fin del setup

PROCESOS CONDICIONALES

void loop() { //inicio de bucle repetitivo de los procesos

estado = digitalRead(vibracion);
if(estado == LOW){ //si el sensor se activa
lcd.setCursor(0, 0);
digitalWrite(ledblanco, HIGH); //el led se enciende
digitalWrite(ledrojo, HIGH);
delay(100);
lcd.print("ALERTA !!! "); //pantalla muestra mensaje entre comillas
analogWrite(buzzer,4000); //buzzer suena por 10 segundos
delay(10000);
analogWrite(buzzer,LOW); //buzzer se apaga
delay(100);
lcd.setCursor(0, 0);
lcd.print("BOCINA ACTIVA!! ");
delay(100);
digitalWrite(relevocina, LOW); // relevador de la bocina se activa
delay(8000); //tiempo de espera de 8 segundos
digitalWrite(relevocina, HIGH); //relevador de la bocina de desactiva
delay(100);
digitalWrite(ledblanco, LOW); //el led se apaga
digitalWrite(ledrojo, LOW);
delay(100);
lcd.setCursor(0, 0);
lcd.print("SENSOR ACTIVO! ");
delay(2000);
reset();
}
leerIngreso(1);

PROCESOS DE INFORMACION DE LA ALARMA

void informacion() {
digitalWrite(ledblanco, HIGH); //led se enciende
digitalWrite(ledrojo, HIGH);
delay(100);
lcd.setCursor(0, 0);
lcd.print("'A' INGRESA "); //se muestra los datos entre comillas
delay(1200);
lcd.setCursor(0, 0);
lcd.print(" PASSWORD ");
delay(2000);
lcd.setCursor(0, 0);
lcd.print("'B' INFORMACION ");
delay(1200);
lcd.setCursor(0, 0);
lcd.print(" DEL MENU ");
delay(2000);
lcd.setCursor(0, 0);
lcd.print("'C' CAMBIAR ");
delay(1200);
lcd.setCursor(0, 0);
lcd.print(" PASSWORD ");
delay(2000);
lcd.setCursor(0, 0);
lcd.print("'D' CIERRE ");
delay(1200);
lcd.setCursor(0, 0);
lcd.print(" DEL SISTEMA ");
delay(2000);
digitalWrite(ledblanco, LOW);
digitalWrite(ledrojo, LOW);
delay(100);
}
PROCESOS DE CAMBIO DE CLAVE DE LA ALARMA
void cambioPass() {
digitalWrite(ledrojo, HIGH);
delay(100);
lcd.setCursor(0, 0);
lcd.print("CAMBIAR PASSWORD "); //muestra los datos entre comillas
delay(1200);
lcd.setCursor(0, 0);
lcd.print("INGRESE PASSWORD ");
delay(1000);
lcd.setCursor(0, 0);
lcd.print("ANTERIOR ");
delay(1500);
reset();
while(passUser[3]==NO_KEY){
leerIngreso(1);} //lee el ingreso de la clave
if (evaluar(1) == 1) //comparación s i la clave es correcta
{
lcd.setCursor(0, 0);
lcd.print("INTRODUCE ");
delay(1000);
lcd.setCursor(0, 0);
lcd.print("PASSWORD NUEVO ");
delay(1000);
reset();
while(passUser[3]==NO_KEY) //ingreso de password nuevo
{
leerIngreso(1); //se guarda el password ingresado
}
lcd.setCursor(0, 0);
lcd.print("VUELVA A INGRESAR ");
delay(1000);
lcd.setCursor(0, 0);
lcd.print("PASSWORD NUEVO ");
delay(1000);
lcd.setCursor(0, 0);
lcd.print("INGRESE SU CLAVE "); //muestra los datos entre comillas
delay(1000);
lcd.setCursor(5, 1);
lcd.print("____");
lcd.setCursor(0, 0);
i=0;
while(confirmPass[3]==NO_KEY)
{
leerIngreso(2);
}
if(evaluar(2)==1)
{
// funcion de EEPROM
for (int i = 0; i <= 3; i++)
{
EEPROM.write(i, passUser[i]); //memoria del controlador ingresa la clave nueva
}
for (int i = 0; i <= 3; i++)
{
password[i] = EEPROM.read(i);
}
analogWrite(buzzer,1000);
delay(2000);
analogWrite(buzzer,LOW);
delay(250);
analogWrite(buzzer,1500);
delay(2500);
analogWrite(buzzer,LOW);
delay(250);
digitalWrite(ledrojo, LOW);
delay(100);
digitalWrite(ledblanco, HIGH);
delay(100);
lcd.setCursor(0, 0);
lcd.print("PASSWORD ");
delay(1000);
lcd.setCursor(0, 0);
lcd.print("CAMBIADO :) ");
delay(2000);
digitalWrite(ledblanco, LOW);
delay(100);
}
Else //en caso de no ingresar la clave correctamente
{
digitalWrite(ledrojo, HIGH);
delay(100);
lcd.setCursor(0, 0);
lcd.print("ERROR !! PASSWORD "); //pantalla muestra el error de ingreso de password
delay(1200);
lcd.setCursor(0, 0);
lcd.print("NO COINCIDE ");
delay(2000);
digitalWrite(ledrojo, LOW);
delay(100);
}

}
else {
msgError();
}
reset(); //se borra la clave ingresada erróneamente
}
PROCESO DE CONEXIÓN DE LOS COMPONENTES

 Conectar la pantalla con su respectivo controlador de pantalla I2C a la placa Arduino


MEGA, cada pin de la pantalla es conectado al módulo I2C el que se encarga de reducir
la cantidad de conexiones de la pantalla a la tarjeta Arduino como se indica en la sección
VARIABLES del código fuente.
 Conectar el módulo relé de igual manera a la placa Arduino, el módulo relevador esta
alimentado por carga positiva y negativa proveniente de la tarjeta Arduino más un cable
de control para los procesos de energización y desconexión de los sensores como indica
el código.
 Conectar los sensores a los pines correspondientes de la placa Arduino, estos sensores
son energizados por carga negativa y positiva mas un cable de control.
 Conectar el teclado a la placa Arduino, son 8 pines de conexión que van conectados a
cada pin de la tarjeta Arduino
 Conectar la bocina y buzzer a los pines digitales de salida de la placa Arduino
 Alimentar la placa con el transformador de 5 voltios

LISTA DE COMPONENTES
MODULO RELAY DE DOS CANALES: SIRVE PARA CORTAR Y DAR EL PASO A LA CORRIENTE
MEDIANTE EL CONTROLADOR ARDUINO

SENSOR DE CONTACTO MAGNETICO: cierra y abre el contacto para el paso de señal

PANTALLA LCD DE 2*16: MUESTRA LOS DATOS PROGRAMADOS EN LA TARJETA ARDUINO Y EL


FUNCIONAMIENTO DEL SISTEMA DE SEGURIDAD

TECLADO DE 4*4: PERMITE EL INGRESO DE DATOS HACIA EL SISTEMA DE ALARMA

PLACA MICROCONTROLADOR PROGRAMABLE ARDUINO MEGA 2560

BOTONES PULSADORES: realizan el envió de señales mediante la pulsación


PARLANTE 12 VOLTIOS

BUZZER: emite pitidos según la programación

LEDS

MODULO BLUETOOTH: permite la conexión de un dispositivo (celular) con la placa arduino

CONEXION MEDIANTE LA APLICACIÓN POR EL MODULO BLUE TOOTH


La aplicación que controla el sistema de alarma esta realizado en la plataforma online MIT APP
INVENTOR, La aplicación nos permite activar y desactivar la alarma, así como encender y
apagar la sirena mediante una conexión por el módulo bluetooth HC-05

You might also like