Está en la página 1de 17

lOMoARcPSD|13047262

Trabajo Final Arquitectura de Computadoras

Arquitectura de Computadoras (Universidad Tecnológica del Perú)

Studocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Josei Velasquez (velasquezjm1996@gmail.com)
“Año del Bicentenario del Perú: 200 años de
independencia”

UNIVERSIDAD TECNOLÓGICA DEL PERÚ

CURSO:

Arquitectura de Computadoras

PROFESOR:

Valencia Morales, Pedro Hugo

ESTUDIANTES:

Ruiz Silva Edgar Joel – U21220561

Rojas Paredes Carlos Cristofer – U19300770

Huamani Bueno, Diego Andrés – 1221996

Cordova León Alex G. – U19308264

Yupanqui Allcca Frank - U20200854

Lima, octubre del 2021

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


Índice

1 Tabla de contenido
2 Introducción..............................................................................................................................3
3 Estado del Arte.........................................................................................................................3
4 Detalles del Proyecto................................................................................................................3
4.1 Objetivos............................................................................................................................3
4.2 Especificaciones de los componentes utilizados..............................................................3
4.3 Esquema de conexión.......................................................................................................7
4.4 Código de control de proyecto.......................................................................................10
4.5 URL de video de funcionamiento del proyecto.............................................................16
4.6 Conclusiones....................................................................................................................16
4.7 Referencias APA 7..........................................................................................................16

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


2 Introducción

En el presente documento se expondrá la funcionalidad del proyecto “Sistema de alarma contra


incendio”. Se expondrá el funcionamiento de este circuito de forma detallada, el código fuente el
cual hace la función de controlar y mostrar la información de los sensores instalados, descripción de
los componentes utilizados en el proyecto.

3 Estado del Arte

Se realizo una búsqueda de un proyecto que cubriera una necesidad doméstica y común a todas las
personas. Para ello se pensó en un problema cotidiano como el incendio dentro de una cocina o el
aumento de temperatura en un ambiente de un hogar, de esta forma el problema sería algo afín a
cualquier usuario.

4 Detalles del Proyecto

4.1 Objetivos

El objetivo del presente proyecto es mostrar el funcionamiento y detalles de construcción de un


Sistema de Alarma contra incendios y control de temperatura, para lo cual se detallará sus
componentes, esquema de conexión y código de control.

4.2 Especificaciones de los componentes utilizados


Especificaciones de los componentes utilizados:

para este proyecto se usaron los siguientes materiales:

 01 tablero de pruebas pequeñas:

Es una especie de tablero con orificios en el cual se puede insertar componentes electrónicos
y cables para armar circuitos.

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


 Una placa de Arduino Uno R3:

Es utilizado para 2 funciones fundamentales. Alimentar la placa utilizando los 5 voltios


proporcionaos por el puerto USB del ordenador, para cargar un sketch al microcontrolador
utilizando la interfaz USB-serie.

 32 leds

Es un dispositivo que permite el paso de la corriente en un solo sentido y que al ser


polarizado emite un haz de luz.

 01 Resistencia

Sirve para limitar la corriente que circula por una rama de un circuito eléctrico.

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


 01 pantalla LCD 16 x 2

Utilizado para la visualización de los contenidos e información de manera gráfica, mediante


el uso de diferentes caracteres.

 1 pieza

Utilizado para medir la presión y transformarlo en lecturas de señales eléctricas

 2 micro Servomotores

Dispositivo eléctrico autónomo que gira partes de la maquina con alta eficiencia y con gran
precisión.

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


 2 micro Servomotores de tipo posicional

El eje de salida gira aproximadamente la mitad de un círculo, o 180 grados. Tiene topes
físicos colocados en el mecanismo de engranaje para evitar que se gire más allá de estos
límites para proteger el sensor de rotación.

 1 sensor de Gas

Los sensores de gas son dispositivos que indican la presencia de algún gas específico, en
algunos casos pueden configurarse o, en caso de tener sensores más precisos, miden la
concentración de gas. Los sensores de gas son usados para prevenir la exposición a gases
combustibles y gases tóxicos.

 1 sensor de Temperatura [TMP36]

Es un componente analógico de entrada, es decir, su funcionamiento consiste en entregar la


información correspondiente a la temperatura del ambiente por medio del voltaje en su pin
de señal, la tarjeta Arduino a su vez recibe la señal y la lee con uno de sus pines analógicos
de entrada.

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


 1 teclado 4 x 4

Dispositivo que agrupa varios pulsadores y permite controlarlos empleando un número de


conductores inferior al que necesitaríamos al usarlos de forma individual. Podemos emplear
estos teclados como un controlador para un autómata o un procesador como Arduino.

4.3 Esquema de conexión

Para organizar el esquema completo de conexión, se describirá los componentes, conexión y


función que influye en el funcionamiento del sistema de alarma contra incendio.

Luego de especificar los componentes utilizados, es básico tener en cuenta el Arduino para realizar
las conexiones necesarias, por otro lado, se requiere el sensor de humo, el sensor de temperatura,
una pantalla LCD para la muestra de datos hacia el usuario, tres resistencias para limitar la corriente
dirigidas a la pantalla LCD y con el sensor de humo, para luego ser unidas de un tablero de pruebas
pequeña.

En la siguiente imagen mostramos la conexión correspondiente de los sensores hacia los puertos
correctos del Arduino.

(Figura de conexión de

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


Además, se realizó la inclusión de un teclado conectado hacia los puertos analógicos y digitales
para la entrada/salida de datos.

(Figura de conexión del teclado)

Ahora, en una nueva tabla de pruebas pequeña, se realizará las conexiones de otros componentes
como dos micro servomotores, seis leds, una resistencia, un pieza y dos micro servomotores de tipo
posicional.

(Figura de conexión de micro servomotores)

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


Antes de culminar, se agrega una nueva tabla de pruebas pequeñas que servirá para la señalización
direccional que muestra los Leds y de ser muy necesario, una resistencia.

(Figura de conexión de Leds indicador)

Por último, la conexión de todas las tablas de pruebas pequeñas hacia el Arduino para que pueda
comenzar a funcionar.

(Figura de conexión entre tablas pequeñas al Arduino)

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


(Figura de conexión completa)

4.4 Código de control de proyecto

El código del proyecto está distribuido en cerca de 400 líneas de las cuales se dividen principalmente
en 4 grandes secciones importantes, estás son:

Importación de librerías

La funcionalidad del circuito depende directamente de 3 librerías esenciales cuando se trabaja con
LCD, servomotores y sensores, estos son:

 Servo.h, librería que permite a la placa Arduino controlar una gran variedad de servo
motores. En nuestro caso tenemos 4 servo motores 2 para cada funcionalidad en específico.

 LiquidCrystal.h, librería que permite a la placa Arduino controlar LCD basados en el


chipset Hitachi HD44780 o compatibles, que trabajan en modo 4-8 bits. Para ese propósito,
estamos usando un único LCD 16x2.

 Keypad.h, librería con el propósito de usar los teclados de estilo matricial con Arduino.
Con esta librería, se manipulará el teclado 4x4 agregado al circuito

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


Definición de variables

La siguiente parte del código es en la que se definirá todas las variables necesarias para el
funcionamiento del sistema de alarma.

Toda esta sección se encuentra entre las líneas 17 y 100. Entre las variables que más nos importan
son las que hacen referencia al teclado, LCD, sensores, servomotores, alarma y leds.

En la línea 26 se define la variable teclado, que será una instancia de la clase Keypad. Para este
propósito se necesita definir un arreglo con las entradas que usaremos del teclado, los pines
horizontales, los pines verticales, cantidad de filas y columnas. En este caso, sólo necesitamos las
entradas numéricas.

En la línea 29 se define una referencia al LCD, los parámetros enviados al constructor son los
números de los pines a los cuales tenemos conectado en el circuito.

Entre otros, se define los pines que harán referencia a determinados componentes. Por ejemplo, en
la línea 67 y la línea 80 refieren al componente con roles de notificación auditiva y visual.

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


Setup

Esta función es llamada cuando el circuito inicia. Por eso que aquí se está definiendo el modo de los
pines, algunas definiciones de las librerías ya mencionadas, etc. Esta sección se ejecuta una sola
vez, cuando se enciende o se reinicia la placa Arduino.

Podemos ver que en la línea 93 y 94, aparecen dos componentes que hasta ahora no hemos
comentado, los servos motores. El método attach de los objetos Servo requiere como parámetros el
número del pin, pulso mínimo y máximo en correspondencia al ángulo inicial de los servos que
estamos manipulando.

Loop

Este método es la que permite repetir el cuerpo del código constantemente, de esa manera podremos
cambiar, interactuar, responder ante determinados eventos. Esta es la parte más extensa del
programa, se encuentra entre las líneas 102 y 397.

Entonces, dividiremos esta sección en los siguientes 3 fragmentos:

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


 Lecturas: Denominamos lecturas a esta sección porque básicamente el objetivo de esta
sección es de ajustar y leer datos de los sensores. Comprendido entre las líneas 103 y 120 se
lee los valores de los sensores de humo y el sensor de temperatura gracias al método
analogRead() especificando el pin analógico para su posterior conversión a unidades más
fáciles de manejar.

Alarmas

Esta parte del código está dedicado a las validaciones correspondidas para lanzar las respectivas
alarmas del circuito, tanto sonoras, visuales como motoras. Esta sección representa las líneas 122
hasta 172. Entre esas líneas se evalúa 3 casos: cuando la temperatura está por sobre los 45 y el gas
debajo de los 60, cuando el gas está por sobre los 60 y la temperatura debajo de los 45, y finalmente
cuando el gas y la temperatura exceden sus valores normales, es decir, 60 y 45 respectivamente.

Si por ejemplo consideramos la línea 155, en la que se evalúa cuando los valores exceden tanto para
el gas como para la temperatura, veremos que se activan las luces, se enciende la alarma,
cambiamos el ángulo de inclinación de los servos a 180 y 55 respectivamente. Todo esto se verá
reflejado en el LCD 16x2.

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


Panel de Control

Finalmente, la parte del panel de control está comprendida por las líneas 202 y 397. Sólo se
accederá a esta sección del código al ingresar la clave correcta en el tablero (la cual fue definida en
la línea 34), de lo contrario se mostrará en el LCD el correspondido mensaje para las contraseñas
inválidas.

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


En caso de ingresar la contraseña adecuada, las líneas 252, 270, 286 y 306 se encargarán de evaluar
las principales funciones del panel de control: visualizar una vez la temperatura (opción 1),
visualizar una vez el gas (opción 2), visualizar una vez la temperatura y gas (opción 3), y, por
último, mantener visualizando la temperatura y gas (opción 4).

La lectura de la opción por parte del usuario final se realiza gracias al método getKey del objeto de
la clase Keypad definida en la línea 26.

En la parte del código de la opción 4 del panel de control se visualizará un bucle while que se
mantendrá ejecutando hasta la opción del panel de control cambie. La lectura de los datos por parte
de los sensores se hace gracias al método analogRead en la línea 312 y 316 que cumplirá su rol de
mantener leyendo los datos secuencialmente.

Finalmente, así es como está distribuido el código del proyecto. El código cumple con su rol, pero
si existe la posibilidad de mejorar su organización, establecer nuevos métodos que agrupen ciertas
funcionalidades y que faciliten la reutilización, sobre todo en varias partes de los bucles.

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)


4.5 URL de video de funcionamiento del proyecto

https://www.youtube.com/watch?v=1tfEPkUbXys&t

4.6 Conclusiones

Existen diverso software libre como es el Tinkercad, gracias a esta herramienta hemos podido
simular el funcionamiento de un Sistema de Alarma Contra Incendio.

Durante el desarrollo del tema, hemos visto el funcionamiento de la placa de Microcontroladores


Arduino con la cual hemos podido dar funcionamiento a nuestro Sistema de Alarma Contra
Incendio.

Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en
hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores.

Al usar Arduino, decidimos utilizar en nuestro proyecto la mayoría de elementos electrónicos que
vimos en cada clase

Nos pareció un buen proyecto, motivador y que nos sirvió de mucha experiencia, aumentando
nuestro grado de trabajo en equipo, usando conocimientos previamente adquiridos e investigación
de cosas que el equipo desconocía.

4.7 Referencias APA 7

Jimbo, E. (15 de agosto de 2020). PROYECTO: "Sistema De Alarma Contra Incendio". Autodesk
TINKERCAD. https://www.tinkercad.com/things/kMp1OEH3TNa-proyecto-sistema-de-alarma-
contra-incendio

Arduino (2021). Arduino Docs. Arduino Documentation. https://docs.arduino.cc/

Descargado por Josei Velasquez (velasquezjm1996@gmail.com)

También podría gustarte