Anda di halaman 1dari 5

UNIVERSIDAD NACIONAL DEL ESTE- FACULTAD POLITÈCNICA

PROYECTO DE LABORATORIO DE FÌSICA IV


Claudia Álvarez, Marcelo Gamarra, Romina Barboza, Victor Rolón
PUERTA DE SEGURIDAD CON ARDUINO

Resumen --- En este proyecto se realiza un sistema de posterior impacto que pueda tener a nivel académico y
seguridad para utilizar en puertas con Arduino, que social.
permite a las personas utilizar una mejor tecnología.
Mediante el uso de la programación se intentará
llevar a cabo el funcionamiento de este dispositivo y II. MARCO TEÒRICO
asi también el uso de la física general para los El Arduino es una plataforma de hardware de código
cálculos matemáticos que así requiera el montaje de abierto, basado en una placa de circuito impreso que
ese instrumento. contiene un microcontrolador que cuenta con entradas y
Cabe destacar de la importancia de este proyecto que se salidas, analógicas y digitales, en un entorno de desarrollo
quiere llevar a cabo, pues la aplicación de este que está basado en un lenguaje de programación
instrumento de tecnología facilitara mucho a las personas procesing. El dispositivo conecta el mundo físico con el
a lugares en donde se encuentre un instrumento asi a parte mundo virtual, o el mundo analógico con el digital
de aportarle un pequeño lujo. controlando sensores, alarmas, sistemas de luces, motores
y actuadores.
OBJETIVO GENERAL: Como ya hemos mencionado el sistema de seguridad
 Hacer funcionar el dispositivo de seguridad que con Arduino tiene como objetivo el de monitorear una
funcione para que los usuarios puedan interactuar puerta y disparar un sensor en caso de que este detecte el
con él. acercamiento de un usuario y por ende esta puerta pueda
permitir el paso, además tiene un teclado para interactuar
OBJETIVOS ESPECIFICOS: con el usuario.
 Terminar en el tiempo establecido los trabajos. Por tanto, en este proyecto simularemos, el control de
 Conseguir el trabajo en equipo con la ayuda acceso a una estancia o la desactivación/activación de
mutua. algún dispositivo o elemento. Para tener en cuenta que el
 Cumplir con el cronograma de actividades problema con las alarmas y los sistemas de seguridad no
 Investigar otros proyectos semejantes para es tanto su montaje e implementación, como desarrollar
la certeza de que no están siendo puenteados la línea o los
mejorar el dispositivo.
sensores.

MATERIALES A UTILIZAR
INTRODUCCIÓN Arduino
El avance de la tecnología ocurre a un ritmo bastante Teclado Matricial 4x4
acelerado por el cual instrumentos como el del sistema de Resistencias de 1x100 Ohm
puertas controlado por Arduino utilizados en los lugares 2x330 Ohm, 1/4W para los Leds
bastante concurridos son de mucha importancia, pues Un led rojo, un led de color verde
aporta estética y una mayor comodidad a la gente. Es por Una protoboard
eso que nos hemos interesado en este proyecto sobre el Fuente de alimentación externa de 5V
sistema de seguridad para poder así trabajarlo en grupo y Relè
ver la posibilidad de aplicar a nuestro entorno, en este caso Conectores de prueba
nuestro lugar de estudios. Con los conocimientos que Capacitor
hemos tenido de programación con los
microcontroladores vimos la posibilidad de trabajar con
este dispositivo y principalmente por su aplicación y
MAGNITUDES A MEDIR simple y se compone al menos de dos partes. Estas dos
partes necesarias, o funciones encierran bloques que
Resistencias Capacitancia contienen declaraciones o instrucciones como:
Voltaje
Corriente Void setup ()
{
Estamentos;
}
Void loop ()
{
Estamentos;
}
PROGRAMACION DEL ARDUINO En donde setup () es la parte encargada de recoger la
configuración y loop () es la que contiene el programa que
La programación en Arduino es la programación en un se ejecutara cíclicamente
microcontrolador, este consiste en traducir a líneas de
código las tareas automatizadas que queremos hacer Declaración de la variable: Todas las variables tienen que
leyendo de los sensores y en función de las condiciones declararse antes de que puedan ser utilizadas. Para
del entorno, programar la interacción con el mundo declarar una variable se comienza por definir su tipo como
exterior mediante unos actuadores. int (entero), long (largo) float ( flotante) asignándoles
El Arduino proporciona un entorno de programación siempre su nombre y opcionalmente un valor inicial.
sencillo y potente para programar, pero además incluye Formas de conexionado de entrada y salida – Salida
las herramientas necesarias para compilar el programa y Digital
quemar el programa ya compilado en la memoria flash del
microcontrolador. Además, el IDE nos ofrece un sistema int ledPin = 13; // LED en el pin digital 13 void setup() //
de gestión de librería y placas muy práctico. configura el pin de salida { pinMode(ledPin, OUTPUT);
A continuación, presentaremos el diseño de un Arduino // configura el pin 13 como salida } void loop() // inicia el
con sus respectivas partes de las que se compone y sus bucle del programa { digitalWrite(ledPin, HIGH); //
respectivos nombres: activa el LED delay(1000); // espera 1 segundo
digitalWrite(ledPin, LOW); // desactiva el LED
delay(1000); // espera 1 segundo }

Este es un ejemplo básico equivalente al de hola mundo


de cualquier lenguaje de programación haciendo
simplemente el encendido y apagado de un led. En este
ejemplo el LED esta conectado en el pin13, y se enciende
y apaga cada segundo. La resistencia que se debe colocar
en serie con el led en este caso puede omitirse ya que el
pin13 del Arduino ya incluye en la tarjeta de resistencia.

Simulación del programa para hacer funcionar el


dispositivo de seguridad: Antes que nada vamos a
necesitar un par de librerias para poder manejar el display
y el teclado. Para el teclado vamos a usar una librería
keypad y para el display Liquid Crystal 12C, por tanto
Figura 1. 1
este seria el sketch:

#include <LiquidCrystal_I2C.h>
Estructura al programar con arduino: La estructura básica #include <Wire.h>
del lenguaje de programación de Arduino es bastante
#include <Keypad.h> rojo
/* Funcion de configuracion de pines del modulo LCD/I2C digitalWrite(ledVerde, LOW); // apagamos el verde
(Direccion,en,rw,rs,d4,d5,d6,d7,backlight,polaridad)*/

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7,
3, POSITIVE); lcd.setCursor(0,0); // situamos el curs
const byte Filas = 4; //Cuatro filas or el la posición 2 de la linea 0.
const byte Cols = 4; //Cuatro columnas lcd.print("Introduzca clave"); // escribimos en L
byte Pins_Filas[] = {9,8,7,6};//Pines Arduino a l CD
as filasbyte lcd.setCursor(cursor,1); // cursor en la posicion
Pins_Cols[] = {5,4,3,2}; // Pines Arduino a las c de la variable, linea 1
olumnas. }
//no utilizar los pines 1 y 0 para no interferir void loop()
en Rx y Tx {
char Teclas [ Filas ][ Cols ] = char pulsacion = Teclado1.getKey() ; // leemos pu
{ lsacion
{'1','2','3','A'}, if (pulsacion != 0) //Si el valor es 0 es que no
{'4','5','6','B'}, se ha pulsado ninguna tecla
{'7','8','9','C'}, { // descartamos almohadilla y asterisco
{'*','0','#','D'} if (pulsacion != '#' && pulsacion != '*' && clave
}; ==0)
char codigoSecreto[4] = {'2','2','5','5'}; // Aqu { lcd.print(pulsacion); // imprimimos pulsación
i va el codigo secreto cursor++; // incrementamos el cursor
// Para cambiar el tamaño de la clave, solo hay q tone(buzzer,350); // tono de pulsación
ue cambiar el tamaño del array delay(200);
int posicion=0; // necesaria para la clave noTone(Buzzer
int cursor=5; // posicion inicial de la clav //--- Condicionales para comprobar la clave intr
e en el LCD oducida -----------
int clave=0; // para el LCD // comparamos entrada con cada uno de los digitos
int luz=0; // para el LCD , uno a uno
int tiempo=0; // para el LCD if (pulsacion == codigoSecreto[posicion])
int ledVerde=11; // pin para el LED verde posicion ++; // aumentamos posicion si es correc
int ledRojo=12; // pin para el LED rojo to el digito if (posic
int buzzer=10; // pin altavoz ion == 4)
Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins { // comprobamos que se han introducido los 4 cor
_Filas, Pins_Cols, Filas, Cols); rectamente
void setup() digitalWrite (13,HIGH); // encendemos LED
Serial.begin(9600) ; lcd.setCursor(0,0); // situamos el cursor el
lcd.begin(16,2); // inicializamos el LCD. la pos 0 de la linea 0.
lcd.noBacklight(); // apagamos LCD lcd.print("Clave correcta "); // escribim
pinMode (ledVerde,OUTPUT); os en LCD
pinMode (ledRojo, OUTPUT); delay(200);
pinMode (buzzer, OUTPUT) // tono de clave correcta
digitalWrite(ledRojo,HIGH); // encendemos el LED tone(buzzer,500);
delay(100); luz=1; // indicamos que esta encendid
noTone(buzzer); pulsacion =0; // borramos el valor para poder le
tone(buzzer,600) er el siguiente condicional
delay(100);
}
noTone(buzz
tone(buzzer,800); if (pulsacion == '#' && luz==1)
delay(100); { // comprobamos tecla y estado
noTone(buzzer); lcd.noBacklight(); // apagamos
lcd.setCursor(5,1); // cursor en la posicion 5, l luz=0; // indicamos que esta apagada
inea 1 }
clave=1; // indicamos que se ha introducido la cl //--- Condicionales para resetear clave introduci
ave da -------------
digitalWrite(ledRojo,LOW); //apagamos el LED rojo if (pulsacion == '*')
digitalWrite(ledVerde, HIGH); // encendemos el ve { // asterisco para resetear el contador
rde posicion = 0;
} cursor =-5
//--- En el caso de que este incompleta o no haya clave=0;
mos acertado ---------- posicion=0;
if(cursor>8) // comprobamos que no pase de lcd.setCursor(0,0); // situamos el cursor el la
la cuarta posición posición 2 de la linea 0.
{ cursor=5; // lo volvemos a colocar al ini lcd.print("Introduzca clave"); // escribimos en L
cio CD
posicion=0; // borramos clave introduci lcd.setCursor(5,1);
da lcd.print(" "); // borramos de la pantalla los nu
lcd.setCursor(5,1); meros
lcd.print(" "); // borramos la clave de la lcd.setCursor(5,1);
pantall digitalWrite(ledRojo,HIGH); // encendemos el LED
lcd.setCursor(5,1); rojo
if(clave==0) // comprobamos que no hemos digitalWrite(ledVerde, LOW); // apagamos el verde
acertad }
{ tone(buzzer,70,500); // para generar
delay(250); // tono de error }
noTone(buzzer);
}
}
}
}
//--- Condicionales para encender o apagar el LCD
--------------
if (pulsacion == '#' && luz==0)
{ // comprobamos tecla y encendemos si esta apaga
do
lcd.backlight(); // encendemo
[6] Cerradura Elèctica con clave usando Arduino.
Programación para Ingenieros
[7] Electrónica Básica, Newton C. Braga.
[9] Introducción al Arduino, Massimo Banzi

Figura 1. 2

Figura 1. 3

IV.CONCLUSIONES
Aun después de todo de que fue algo interesante queda por
mejorar bastante mas aun para poder ir perfeccionando mas este
trabajo y poder ir aplicando a otros aspectos en donde sea de
mucha importancia la implementación de dispositivos de
seguridad.
REFERENCIAS
[1] Manual de Programación para Arduino. Gutierrez, Josè
[2] Proyectos de Arduino. Universidad de Colombia
[3] Sistema de Seguridad para una puerta. Instituto
Tecnológico de Costa Rica
[4] Control de acceso con una clave alfanumérica,
www.prometec.net
[5] Diseño e implementación de un sistema de seguridad a
través de sensores. Universidad Politècnica Salesiana