Proyecto-Sistema Seguridad Caja Fuerte

| INDICE 1.-OBJETIVO………………………………………………………………………… 2 2.-JUSTIFICACIÓN………………………………………………………………… 2 3.-DESARROLLO DEL PROYE

Views 63 Downloads 0 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

|

INDICE 1.-OBJETIVO………………………………………………………………………… 2 2.-JUSTIFICACIÓN………………………………………………………………… 2 3.-DESARROLLO DEL PROYECTO…………………………………………... 3 3.1.-Materiales necesarios………………………………………………… 3 3.2.-Montaje Prototipo……………………………………………………… 4 3.3.-Programación…………………………………………………………….. 6 3.4.-Montaje de maqueta…………………………………………………. 11

4.-PRESUPUESTO…………………………………………………………………. 12 5.-NOTACIÓN BIBLIOGRAFICA……………………………………………….14

1

1.-OBJETIVO El objetivo de este proyecto es un sistema de seguridad de una caja fuerte controlado por una pantalla LCD y un teclado matricial 4x4. El proyecto presenta un menú por pantalla desde el cual debemos introducir la contraseña para activar el servo que nos permite abrir y cerrar la puerta. A través de este menú podemos visualizar mediante la pantalla controlada por el teclado el estado de nuestro sensor de temperatura, sensor de vibración, comprobar y borrar datos introducidos y desbloquear el programa, que se bloqueara al introducir 3 veces de manera incorrecta la contraseña.

2.-JUSTIFICACIÓN La principal justificación es crear un sistema de seguridad eficaz, que bloque todo el programa al cometer un mínimo de errores y que nos alerte cuando la caja fuerte sea sometida a vibraciones altas o altas temperaturas.

2

3.-DESARROLLO DEL PROYECTO 3.1.-Materiales necesarios -Arduino Uno SMD - Modulo LCD I2C Serie 2 x 16. -Teclado matricial 4 x 4. - Sensor de Vibración.

- Servomotor. -Zumbador. - 3 LEDs de 5 mm. -3 resistencias de 220 Ω, 470 Ω y 10k. -Placa Protoboard. -Cables conectores. -Sensor de temperatura. -Caja de madera.

3

3.2.-Montaje Prototipo Para el montaje de nuestro prototipo hemos utilizado Arduino UNO SMD, es una modificación del Arduino UNO cuya principal diferencia es el tipo de encapsulado que ofrece. El esquema del montaje sería el siguiente:

En dicho esquema se pueden aprecia todas las conexiones realizadas para cada uno de los LEDs, el sensor de temperatura (LM35), el zumbador, el servo, el sensor de vibarción y el tecaldo matricial.

4

Las siguientes fotos muestran el montaje real:

5

3.3.-Programación. Hemos realizado la programación de nuestro prototipo con el programa arduino 1.0.1 que podemos descargar de la propia web de arduino. Hemos utilizado números libreiras: .-Password.h. Necesaria para establecer una contraseña e utilizar diveras funciones incluidas en ella. .-Keypad.h. Es la librería para el teclado matriciail. .-Wire.h. Permite comunicar con dispositivos I2C. .-LiquidCrystal_I2C.h. Es la librería de nuestro LCD. .-Servo.h. Librería utilizada para el funcionamiento del servomotor.

El programa se basa principalmente en un menú mostrado por el LCD a través del cual podemos visualizar el estado de nuestros sensores así como la activación de nuestro servo mediante contraseña. Las teclas numéricas se reservan únicamente para los dígitos de la contraseña. La tecla F nos muestra por pantalla la temperatura a la que se encuentra la caja fuerte. La tecla E nos muestra el valor de vibración que tenemos actualmente. La tecla C nos permite comprobar la contraseña introducida, si fuera correcta nos abriría la puerta mediante el servo, si fuera incorrecta nos pediría una nueva introducción sumando un error a la cuenta. Si fallamos tres veces el sistema se bloquearía, nos pediría una contraseña de desbloqueo que debemos de comprobar con la tecla A. La tecla D nos permitiría borrar los dígitos introducidos en el caso de que nos equivocáramos. La tecla C nos permite cerrar la puerta una vez abierta. Si se sobrepasa la temperatura límite o se comete error en la introducción de la contraseña, el diodo LED rojo y el zumbador se activarían. Si los niveles de vibración sobrepasas el límite establecido se encendería el LED amarillo. Si introducimos la contraseña correcta y activamos el Servo, se enciende el LED verde.

6

Visualización del programa: #include #include #include #include #include LiquidCrystal_I2C lcd(0x27,16,2); Password password = Password( "1234" ); int LM35= A0; int TempH = 28 ; float Temp; int Entrada=1; float Nivel; int Lim=1000; int salida=13; Servo servo1; int posicion; int led = 13; int led2= 3; int led3=2; int posi=0; int i=0; int pirPin = 7; int p; int x; int errores; const byte ROWS = 4; const byte COLS = 4; // Define the Keymap char keys[ROWS][COLS] = { {'1','2','3','F'}, {'4','5','6','E'}, {'7','8','9','D'}, {'A','0','B','*'} }; byte rowPins[ROWS] = { 7,6,5,4 }; byte colPins[COLS] = { 11,10,9,8, };

void setup(){ Serial.begin(9600); lcd.init(); lcd.backlight(); servo1.attach(12); posicion = 800; posicion = map(posicion, 0, 1023, 0, 179); servo1.write(posicion); delay(150); pinMode(led, OUTPUT); pinMode(pirPin, INPUT); digitalWrite(pirPin, LOW); pinMode(led2,OUTPUT); pinMode(led3,OUTPUT); keypad.addEventListener(keypadEvent); char key = keypad.getKey(); } void loop() { if(errores>=3){ password.set("4321"); lcd.setCursor(0,0); lcd.print("Bloqueado"); char key = keypad.getKey(); if (key=='1' || key=='2' || key=='3' || key=='4' || key=='5' || key=='6' || key=='7' || key=='8' || key=='9' || key=='0'){ lcd.setCursor(5+i,1); lcd.print("*"); i++; } else if (key=='F' || key=='E' ||key=='D' || key=='C'|| key=='B') { 7

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); else {

Temp=(5*analogRead(A0)*100/1023.0); Nivel = analogRead(Entrada); lcd.setCursor(0,0); if(Temp>TempH) { digitalWrite(salida,HIGH); delay(1000); digitalWrite(salida,LOW); } if(Nivel