Proyecto Fisica 4, Arduino

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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.