Professional Documents
Culture Documents
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:
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
void setup() {
PROCESOS CONDICIONALES
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);
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
LISTA DE COMPONENTES
MODULO RELAY DE DOS CANALES: SIRVE PARA CORTAR Y DAR EL PASO A LA CORRIENTE
MEDIANTE EL CONTROLADOR ARDUINO
LEDS