Anda di halaman 1dari 25

"Ao de la Consolidacin del Mar de

Grau"

C
ARRERA TCNICA DE COMPUTACIN E
INFORMTICA

SISTEMA DIGITAL DE ACCESO


INTELIGENTE

INTEGRANTES:
Nerio Marcaaupa Ventura.
Flix Paredes Rojas.
Marisol Salvatierra Ortiz.
Vilma Marcaaupa Ventura .
Ricardo Huincho Huaira.
Taype Ordoez Fredy.
Rosa Paredes Rojas.
Jorge Paredes Rojas.
Kenye Ccente de la Cruz.

CICLO: II

LIRCAY _HUANCAVELICA
2016

1
INTRODUCCIN

En la actualidad, obtener un sistema de seguridad es muy importante y


necesario, ya que el mismo nos permite de una u otra forma estar un poco
ms seguros, es por ello que uno de los objetivos de este proyecto es el
brindar mayor seguridad y tranquilidad a las personas.

En si el objetivo general es desarrollar un sistema de seguridad -cerradura


electrnica controlado por una pantalla LCD y un teclado matricial.

El proyecto presenta un mensaje en la pantalla LCD, desde el cual debemos


introducir la clave para activar la cerradura que nos permite abrir la puerta.

Al momento de ingresar una calve errada la pantalla mostrar error; y al


tercer intento fallido se activar la alarma sonora. A la vez cuando cerradura
no cierra la puerta en un tiempo determinado se volver a activar la alarma
sonora.

El circuito que construiremos utiliza una secuencia de cuatro dgitos, la cual


nos proporciona 1000 posibilidades distintas para escoger la clave de
acceso.

2
NDICE

Contenido
1. RESUMEN EJECUTIVO DEL PROYECTO................................................4

2. JUSTIFICACIN O FUNDAMENTACIN DEL PROYECTO....................4

3. OBJETIVOS DEL PROYECTO..................................................................4

4. BENEFICIARIOS DEL PROYECTO..........................................................4

5. COSTO Y FINANCIAMIENTO DEL PROYECTO.....................................5

6. DESARROLLO DEL PROYECTO.............................................................6

7. MATERIALES........................................................................................... 6

A. DIAGRAMA DE FLUJO.......................................................................11

B. FUNCIONALIDAD DEL SISTEMA......................................................11

C. MONTAJE DEL PROPOTIPO..............................................................11

D. PROGRAMACION.............................................................................. 12

CONCLUSIONES...................................................................................... 16

BIBLIOGRAFIA......................................................................................... 17

Anexo.......................................................................................................... 18

3
1. RESUMEN EJECUTIVO DEL PROYECTO
En el siguiente informe se detalla, los pasos que se siguieron para el
desarrollo de un sistema de seguridad que permite el acceso de un
ambiente utilizando Arduino. El objetivo principal de este proyecto es
disear una cerradura electrnica para aquellos lugares de acceso
restringido.

2. JUSTIFICACIN O FUNDAMENTACIN DEL


PROYECTO
El proyecto consiste en la implementacin de una cerradura elctrica
activada a un sensor magntica, a la cual se puede acceder mediante
una clave que ser introducida por medio del teclado matricial a un
microcontrolador conformada por un Arduino uno.

El Arduino uno ser la encargada de comparar la clave introducida


por el usuario con la estipulada por defecto, permitiendo visualizar:
OK PUERTA ABIERTA o ERROR; mediante una pantalla de
cristal lquido (Liquid Crystal Display LCD).Si la clave digitada es
correcta se habilita la cerradura elctrica y se activa el puerto de
salida, en caso contrario se lanza el mensaje error.

3. OBJETIVOS DEL PROYECTO


El objetivo general de este proyecto es desarrollar un sistema de
seguridad -cerradura electrnica controlado por una pantalla LCD y un
teclado matricial.

4. BENEFICIARIOS DEL PROYECTO


Los beneficiaros directos de este proyecto son las empresas (privadas
y estatales), las instituciones educativas y la poblacin en general.

4
5. COSTO Y FINANCIAMIENTO DEL PROYECTO

MATERIAL PRECIO
2 ARDUINO ORIGINAL UNO R3 EN CAJA
190
SELLADO CON NUEVOS PRECIOS

1 TECLADO KEYPAD MATRICIAL 4X4 10

1 DISPLAY LCD 16X2 (BACKLIGHT AZUL) 15


MODULO BUZZER ZUMBADOR ACTIVO
ALARMA SIRENA PARA ARDUINO 15

2 LED 3
1 RESISTOR DE 330 Y 4 RESISTORES DE 1
K 5

1 POTENCIMETRO DE 10 K 20

1 TRANSISTOR 3904 2

MOC 3041 3

1 Motor paso a Paso de Impresora Matricial 120

1 PROTOBAR 20

Total Inversin 403

6. DESARROLLO DEL PROYECTO

5
7. MATERIALES
a) Placa Arduino Uno

Arduino es una plataforma de hardware libre, basada en una


placa con un microcontrolador y un entorno de desarrollo,
diseada para facilitar el uso de la electrnica en proyectos
multidisciplinares.

Es una plataforma de hardware y software de cdigo abierto,


basada en una sencilla placa con entradas y salidas, analgicas
y digitales, en un entorno de desarrollo que est basado en el
lenguaje de programacin Processing. Es decir, una plataforma
de cdigo abierto para prototipos electrnicos.
Al ser open source, tanto su diseo como su distribucin, puede
utilizarse libremente para el desarrollo de cualquier tipo de
proyecto sin necesidad de licencia.

6
b) Teclado Keypad 4X4

Un teclado matricial es un simple arreglo de botones


conectados en filas y columnas, de modo que se pueden leer
varios botones con el mnimo nmero de pines requeridos. Un
teclado matricial 4x4 solamente ocupa 4 lneas de un puerto
para las filas y otras 4 lneas para las columnas, de este modo
se pueden leer 16 teclas utilizando solamente 8 lneas de un
microcontrolador. Si asumimos que todas las columnas y filas
inicialmente estn en alto (1 lgico), la pulsacin de un botn se
puede detectar al poner cada fila a en bajo (0 lgico) y checar
cada columna en busca de un cero, si ninguna columna est en
bajo entonces el 0 de las filas se recorre hacia la siguiente y as
secuencialmente.

c) Pantalla LCD 16x2

7
La pantalla de cristal lquido o LCD (Liquid Crystal Display) es un
dispositivo Controlado de visualizacin grafico para la
presentacin de caracteres, smbolos o incluso dibujos (en
algunos modelos), es este caso dispone de 2 filas de 16
caracteres cada una, aunque los hay de otro nmero de filas y
caracteres. Este dispositivo est gobernado internamente por
un microcontrolador y regula todos los parmetros de
presentacin, este modelo es el ms comnmente usado y esta
informacin se basar en el manejo de este u otro LCD
compatible.

d) Zumbador

BUZZER en ingls, es un transductor electroacstica que


produce un sonido o zumbido continuo o intermitente de un
mismo tono (generalmente agudo). Sirve como mecanismo de
sealizacin o aviso, y son utilizados en mltiples sistemas
como en automviles o en electrodomsticos, incluidos
los despertadores.

Inicialmente este dispositivo estaba basado en un


sistema electromecnico que era similar a una campana
elctrica, pero sin el badajo metlico, el cual imitaba el sonido
de una campana.

8
e) Led De 3mm

Un led, (de la sigla inglesa LED: light-emitting diode, que


significa diodo emisor de luz) es un diodo semiconductor que
emite luz. Se usan como indicadores en muchos dispositivos, y
cada vez con mucha ms frecuencia, en iluminacin.

f) 1 Resistor de 330 y 4 Resistores de 1 k

La resistencia es uno de los componentes imprescindibles en la


construccin de cualquier equipo electrnico, ya que permite
distribuir adecuadamente la corriente y voltaje a todos los
puntos necesarios.

g) Potencimetro De 10 K

Un potencimetro es una Resistencia Variable. As de sencillo. El


problema es la tcnica para que esa resistencia pueda variar y
como lo hace.

9
h) Transistor 3904

Es un transistor de unin bipolar de mediana potencia,


destinado para propsito general en amplificacin y
conmutacin, construido con semiconductor silicio en diferentes
formatos como TO-92, SOT-23 y SOT-223 como se muestra en la
figura I, donde tambin se muestra su distribucin de pines.
Puede amplificar pequeas corrientes a tensiones pequeas o
medias y trabajar a frecuencias medianamente altas.

i) Moc 3041

Son conocidos como optoaisladores o dispositivos de


acoplamiento ptico basan su funcionamiento en el empleo de
un haz de radiacin luminosa para pasar seales de un circuito
a otro sin conexin elctrica. Estos son muy tiles cuando se
utilizan, por ejemplo, Microcontroladores PICs y/o PICAXE si
queremos proteger nuestro microcontrolador este dispositivo es
una buena opcin. En general pueden sustituir los rels ya que

10
tienen una velocidad de conmutacin mayor, as como, la
ausencia de rebotes

j) Motor Paso a Paso

El motor paso a paso ser utilizado para controlar la


puerta corrediza automtica.

A. DIAGRAMA DE FLUJO
El sistema de seguridad -cerradura electrnica realizara el
siguiente proceso:

11
B. FUNCIONALIDAD DEL SISTEMA
El programa se basa principalmente en un men mostrado por
el LCD a travs del cual podemos visualizar la activacin de
nuestra chapa elctrica mediante el ingreso de una contrasea.
Las teclas numricas se reservan nicamente para los dgitos
de la contrasea. Una vez ingresado la contrasea, si fuera este
correcto nos abrira la puerta mediante la chapa elctrica. Si
ingresamos incorrectamente la contrasea errada tres veces, se
activar una alarma sonora. A la vez que no se cierra la puerta,
se activara la alarma sonora.

C. MONTAJE DEL PROPOTIPO


Para el montaje de nuestro prototipo se utiliza el software
Fritzing en el cual se muestra el sistema de seguridad:

12
En este esquema se muestra las conexiones de la Arduino Uno
hacia el teclado 4x4, para la chapa elctrica, el zumbador y iytla
pantalla LCD.

D. PROGRAMACION
Para la realizar la programacin se ha usado el Software Arduino
que se puede descargar gratuitamente por internet.

CODIGO FUENTE PARA CONTROLAR EL CONTROL DE ACCESOS

/*4x4 Matrix Keypad connected to Arduino

This code prints the key pressed the keypad to the serial port*/

#include <Keypad.h>

#include <LiquidCrystal.h> //Incluir esta libreria para


poder usar el lcd

LiquidCryst al lcd(7,6,5,4,3,2); //Definimos la pantalla LCD

const byte numRows= 4; //number of rows on the keypad

13
const byte numCols= 4; //number of columns on the keypad

int buzzer = 13;

int chapa = 12;

int sensorPuerta = 15;

int posLCD = 5; //Posicion del LCD en linea

int cantidadDigitos = 4; // Tamao de la clave

int clave = 3333; // clave de ingreso

int claveTemp = 0; //Almacenamiento temporal de clave


ingresada

int cantidadDigitosx = cantidadDigitos; //Tamao de clave para


usar durante el programa

int multiplo = cantidadDigitos;

int error = 0;

//keymap defines the key pressed according to the row and


columns just as appears on the keypad

char keymap[numRows][numCols]=

{'1', '2', '3', 'A'},

{'4', '5', '6', 'B'},

{'7', '8', '9', 'C'},

{'*', '0', '#', 'D'}

};

//Code that shows the the keypad connections to the arduino


terminals

byte rowPins[numRows] = {11,10,9,8}; //Rows 0 to 3

14
byte colPins[numCols]= {A2,A3,A4,A5}; //Columns 0 to 3

//initializes an instance of the Keypad class

Keypad myKeypad= Keypad(makeKeymap(keymap), rowPins,


colPins, numRows, numCols);

void setup()

lcd.begin(16,2);

pinMode( buzzer, OUTPUT);

pinMode (chapa, OUTPUT);

pinMode (sensorPuerta, INPUT);

digitalWrite (sensorPuerta, HIGH);

//If key is pressed, this key is stored in 'keypressed' variable

//If key is not equal to 'NO_KEY', then this key is printed out

//if count=17, then count is reset back to 0 (this means no key


is pressed during the whole keypad scan process

void loop()

lcd.setCursor(1,0); //Con este comando decimos en que


linea queremos escribir

lcd.print("Ingrese Clave:"); //escribe en LCD

char keypressed = myKeypad.getKey(); //obtiene valor del


teclado

if (keypressed != NO_KEY) //verifica si se ha presionado


tecla

15
//Mostramos en la pantalla LCD

lcd.setCursor(posLCD,1); //Con este comando


decimos en que linea queremos escribir

lcd.print("*"); //muestra asterisco

posLCD = posLCD + 1; //cursor del LCD + 1


posicion

multiplo--; //Resta el contador de digitos

//////////////////////////////////////////////////////////////////////////////////////////
/////////////

if (multiplo == 0) { claveTemp = (keypressed - 48) +


claveTemp;} //verifica si es el ultimo digito

if (multiplo != 0) { int multiplox = multiplo;

int claveTempx = (keypressed - 48) * 10;

multiplox-- ;

while (multiplox != 0) { claveTempx =


claveTempx * 10; multiplox-- ;}

claveTemp = claveTempx + claveTemp;}

//////////////////////////////////////////////////////////////////////////////////////////
/////////////

cantidadDigitosx-- ; //

if (cantidadDigitosx == 0) {

16
if (clave == claveTemp) {

lcd.setCursor(5,1); lcd.print(" ok "); delay(1000);


lcd.setCursor(1,1); lcd.print("Puerta Abierta");

digitalWrite (chapa,HIGH);delay(800); digitalWrite


(chapa,LOW);delay(1000);

int abierto = 10; int val = 0;

while (abierto !=0) {val =


digitalRead(sensorPuerta); if (val == LOW) { abierto = 0;}

else {delay(1000);
abierto--; } }

abierto = 1;

while (abierto !=0) {val =


digitalRead(sensorPuerta); if (val == LOW) { abierto = 0;
digitalWrite(buzzer,LOW);}

else
{digitalWrite(buzzer,HIGH); } } error = 0;}

else { lcd.setCursor(5,1); lcd.print("Error"); delay(1000);


error++;}

cantidadDigitosx = cantidadDigitos; claveTemp = 0;


multiplo = cantidadDigitos; posLCD = 5;

lcd.setCursor(0,1); lcd.print(" ");}

17
if (error == 3) {lcd.setCursor(3,1); lcd.print("Bloqueado");
digitalWrite(buzzer ,HIGH);delay(1000);
digitalWrite(buzzer,LOW);error = 0;

lcd.setCursor(0,1); lcd.print(" ");}

CODIGO FUENTE PARA CONTROLAR EL MOTOR PASO A PASO

int motorPin1 = 8;

int motorPin2 = 9; /* Pines del Arduino al integrado */

int motorPin3 = 10;

int motorPin4 = 11;

int pulso=15;

int val = 0;

int delayTime = 5000; // DelayTime determina


la espera entre uno y otro paso

int delayTime1 = 5; // DelayTime1 determina


la velocidad de giro entre un paso y otro

int count = 0;

void setup() {

pinMode (pulso, INPUT);

pinMode(motorPin1, OUTPUT); // Configuracion de


los Pines como salida digital

pinMode(motorPin2, OUTPUT);

pinMode(motorPin3, OUTPUT);

pinMode(motorPin4, OUTPUT);}

18
void loop() {

val=digitalRead(pulso);

if(val==HIGH)

for (count = 0; count < 200; count++) /* (variable)en donde


podemos modificar la cantidad de pulsos que se desean asignar
al motor,

para variar la cantidad de giros o


fraccion de giro en un sentido.

(50 pulsos para 360)(25 pulsos


para 180)(10 pulsos para 72) ETC.....*/

{ // Punto A (Primero)

digitalWrite(motorPin1, HIGH);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, HIGH);

delay(delayTime1); // Tiempo entre pulsos

// Punto B (Segundo)

digitalWrite(motorPin1, HIGH);

digitalWrite(motorPin2, HIGH);

digitalWrite(motorPin3, LOW);
19
digitalWrite(motorPin4, LOW);

delay(delayTime1);

// Punto C (Tercero)

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, HIGH);

digitalWrite(motorPin3, HIGH);

digitalWrite(motorPin4, LOW);

delay(delayTime1);

// Punto D (Cuarto)

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, HIGH);

digitalWrite(motorPin4, HIGH);

delay(delayTime1); }

delay(delayTime);

for (count = 0; count < 220; count++) /* (variable)en


donde podemos modificar la cantidad de pulsos que se desean
asignar al motor,

para variar la cantidad de giros


o fraccion de giro en sentido contrario.

20
j (50 pulsos para 360)(25 pulsos
para 180)(10 pulsos para 72) ETC.....*/

// Punto D (Cuarto)

{digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, HIGH);

digitalWrite(motorPin4, HIGH);

delay(delayTime1);

// Punto C (Tercero)

digitalWrite(motorPin1, LOW);

digitalWrite(motorPin2, HIGH);

digitalWrite(motorPin3, HIGH);

digitalWrite(motorPin4, LOW);

delay(delayTime1);

// Punto B (Segundo)

digitalWrite(motorPin1, HIGH);

digitalWrite(motorPin2, HIGH);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, LOW);

delay(delayTime1);

21
// Punto A (Primero)

digitalWrite(motorPin1, HIGH);

digitalWrite(motorPin2, LOW);

digitalWrite(motorPin3, LOW);

digitalWrite(motorPin4, HIGH);

delay(delayTime1);}

delay(delayTime);

val==LOW;

22
CONCLUSIONES

Hoy en da el uso e implementacin de microprocesadores han


sido de mucha importancia y relevancia en nuestras vidas,
debido a la gran versatilidad que ellos poseen al momento de
requerir instalar algn algoritmo para poder crear
sistemas automatizados.

Como podemos observar, para este proyecto se hizo uso


exhaustivo de programacin adems de Re instruirnos en
cuanto al lenguaje a programar debido a la complejidad del
objetivo principal de la cerradura.

Para terminar este sistema de puerta elctrica es un proyecto


para la vida futura.

23
BIBLIOGRAFIA

http://jamangandi2012.blogspot.com/2012/10/que-es-
arduino-te-lo-mostramos-en-un.html
http://www.circuitoselectronicos.org/2011/03/teclado-
matricial-4x4.html
https://es.scribd.com/doc/44252680/LCD-16X2
http://www.youtube.com/watch?v=bHCwHxJGs1I
http://www.tech-zen.tv/episodes/shows/make-it-
work/episodes/keypad-input-to-an-arduino-episode-11

24
Anexo
Soldando el trabajo

ARMANDO EL ARDUINO UNO Y TODO EL SISTEMA DE FUNCIN

25

Anda mungkin juga menyukai