UNIVERSIDAD NACIONAL DEL ESTE- FACULTAD POLITÈCNICA PROYECTO DE LABORATORIO DE FÌSICA IV Claudia Álvarez, Marcelo Gamarr
Views 163 Downloads 1 File size 285KB
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 quiere llevar a cabo, pues la aplicación de este instrumento de tecnología facilitara mucho a las personas a lugares en donde se encuentre un instrumento asi a parte de aportarle un pequeño lujo.
OBJETIVO GENERAL: Hacer funcionar el dispositivo de seguridad que funcione para que los usuarios puedan interactuar con él. OBJETIVOS ESPECIFICOS: Terminar en el tiempo establecido los trabajos. Conseguir el trabajo en equipo con la ayuda mutua. Cumplir con el cronograma de actividades Investigar otros proyectos semejantes para mejorar el dispositivo.
INTRODUCCIÓN El avance de la tecnología ocurre a un ritmo bastante acelerado por el cual instrumentos como el del sistema de puertas controlado por Arduino utilizados en los lugares bastante concurridos son de mucha importancia, pues aporta estética y una mayor comodidad a la gente. Es por eso que nos hemos interesado en este proyecto sobre el sistema de seguridad para poder así trabajarlo en grupo y ver la posibilidad de aplicar a nuestro entorno, en este caso nuestro lugar de estudios. Con los conocimientos que hemos tenido de programación con los microcontroladores vimos la posibilidad de trabajar con este dispositivo y principalmente por su aplicación y
salidas, analógicas y digitales, en un entorno de desarrollo que está basado en un lenguaje de programación procesing. El dispositivo conecta el mundo físico con el mundo virtual, o el mundo analógico con el digital controlando sensores, alarmas, sistemas de luces, motores y actuadores. Como ya hemos mencionado el sistema de seguridad con Arduino tiene como objetivo el de monitorear una puerta y disparar un sensor en caso de que este detecte el acercamiento de un usuario y por ende esta puerta pueda permitir el paso, además tiene un teclado para interactuar con el usuario. Por tanto, en este proyecto simularemos, el control de acceso a una estancia o la desactivación/activación de algún dispositivo o elemento. Para tener en cuenta que el problema con las alarmas y los sistemas de seguridad no es tanto su montaje e implementación, como desarrollar la certeza de que no están siendo puenteados la línea o los sensores. MATERIALES A UTILIZAR Arduino Teclado Matricial 4x4 Resistencias de 1x100 Ohm 2x330 Ohm, 1/4W para los Leds Un led rojo, un led de color verde Una protoboard Fuente de alimentación externa de 5V Relè Conectores de prueba Capacitor
MAGNITUDES A MEDIR Resistencias Voltaje Corriente
Capacitancia
PROGRAMACION DEL ARDUINO La programación en Arduino es la programación en un microcontrolador, este consiste en traducir a líneas de código las tareas automatizadas que queremos hacer leyendo de los sensores y en función de las condiciones del entorno, programar la interacción con el mundo exterior mediante unos actuadores. El Arduino proporciona un entorno de programación sencillo y potente para programar, pero además incluye las herramientas necesarias para compilar el programa y quemar el programa ya compilado en la memoria flash del microcontrolador. Además, el IDE nos ofrece un sistema de gestión de librería y placas muy práctico. A continuación, presentaremos el diseño de un Arduino con sus respectivas partes de las que se compone y sus respectivos nombres:
simple y se compone al menos de dos partes. Estas dos partes necesarias, o funciones encierran bloques que contienen declaraciones o instrucciones como: Void setup () { Estamentos; } Void loop () { Estamentos; } En donde setup () es la parte encargada de recoger la configuración y loop () es la que contiene el programa que se ejecutara cíclicamente Declaración de la variable: Todas las variables tienen que declararse antes de que puedan ser utilizadas. Para declarar una variable se comienza por definir su tipo como int (entero), long (largo) float ( flotante) asignándoles siempre su nombre y opcionalmente un valor inicial. Formas de conexionado de entrada y salida – Salida Digital int ledPin = 13; // LED en el pin digital 13 void setup() // configura el pin de salida { pinMode(ledPin, OUTPUT); // configura el pin 13 como salida } void loop() // inicia el bucle del programa { digitalWrite(ledPin, HIGH); // 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.
Figura 1. 1
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 este seria el sketch: #include
Estructura al programar con arduino: La estructura básica del lenguaje de programación de Arduino es bastante
#include
#include
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
e en el LCD
//--- Condicionales para comprobar la clave intr 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
int ledRojo=12;
// pin para el LED rojo
to el digito
int buzzer=10;
// pin altavoz
ion == 4)
posicion ++; // aumentamos posicion si es correc if (posic
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); lcd.noBacklight();
// inicializamos el LCD. // apagamos LCD
la pos 0 de la linea 0. lcd.print("Clave correcta ");
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);
// escribim
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 ---------if(cursor>8)
// comprobamos que no pase de
la cuarta posición {
cursor=5;
posicion=0; lcd.setCursor(0,0); // situamos el cursor el la posición 2 de la linea 0.
// lo volvemos a colocar al ini
cio
lcd.print("Introduzca clave"); // escribimos en L 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] [7] [9]
Figura 1. 2
N
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] [2] [3] [4] [5]
Manual de Programación para Arduino. Gutierrez, Josè
Proyectos de Arduino. Universidad de Colombia Sistema de Seguridad para una puerta. Instituto Tecnológico de Costa Rica Control de acceso con una clave alfanumérica, www.prometec.net Diseño e implementación de un sistema de seguridad a través de sensores. Universidad Politècnica Salesiana
Cerradura Elèctica con clave usando Programación para Ingenieros Electrónica Básica, Newton C. Braga. Introducción al Arduino, Massimo Banzi
Arduino.