sialesa - sistema de alarma escolar automtizada

22
REPORTE DE LAS MATERIAS DE: SISTEMAS PROGRAMABLES Y DISEÑO DE INTERFACES CATEDRATICO: Ing. Octavio Morales Domínguez CARRERA: Ingeniería en Sistemas Computacionales NOMBRE DEL PROYECTO: Sistema de Alarma Escolar Automatizada No. Control Alumno 12700197 Iván Alejandro Vázquez Ramos 12700187 Juan Elías Pérez Hernández 12700169 Yordin Ali Bravo Santizo COMITÁN DE DOMÍNGUEZ, CHIAPAS TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico de Comitán

Upload: elias-log

Post on 18-Aug-2015

73 views

Category:

Education


1 download

TRANSCRIPT

REPORTE DE LAS MATERIAS DE: SISTEMAS PROGRAMABLES Y DISEÑO DE INTERFACES

CATEDRATICO:

Ing. Octavio Morales Domínguez

CARRERA:

Ingeniería en Sistemas Computacionales

NOMBRE DEL PROYECTO:

Sistema de Alarma Escolar Automatizada

No. Control Alumno12700197 Iván Alejandro Vázquez Ramos12700187 Juan Elías Pérez Hernández12700169 Yordin Ali Bravo Santizo

COMITÁN DE DOMÍNGUEZ, CHIAPAS

5 JUNIO DE 2015

TECNOLÓGICO NACIONAL DE MÉXICO

Instituto Tecnológico de Comitán

INTRODUCCION

En este presente proyecto se hace el desarrollo de un sistema que consiste en la automatización de las alarmas en las escuelas, mejor conocido como “chicharras”. El sistema tendrá opciones de programación de horarios en la que la alarma sonara, por ejemplo, hora de entrada de clases, inicio del receso, fin del receso y hora de salida de clases.

Para días festivos, el sistema podrá ser programado qué días estará desactivada. Esta programación puede ser realizada cada mes o semanalmente, dependiendo lo que el usuario necesite.

En casos especiales como reuniones o actividades inesperadas, el sistema contara con un botón manual para que la alarma se desactive.

INDICE

Contenido Página

1. JUSTIFICACION DEL PROYECTO ……………………………………….. 1

2. OBJETIVOS..………………………………………………………………………

2

2.1 OJETIVOS ESPECIFICOS.……………………………………………….

2

3. MARCO TEORICO.……………………………………………………………. 2

3.1 ARDUINO.………………………………………………………………….. 2,3

3.2 SENSORES Y ACTUADORES.……………………………………….. 3,4

3.3 RELE O RELAY.……………………………………………………………. 4,5

3.4 PROGRAMACION JAVA.……………………………………………… 5,6

3.5 NETBEANS.………………………………………………………………….

7

3.6 LIBRERÍA DE CONEXIÓN ARDUINO-NETBEANS.…………… 7,8,9

4. RESULTADOS ………………………………………………………………….. 10,11

5. CONCLUSION.………………………………………………………………….. 12

6. BIBLIOGRAFIA

1. JUSTIFICACION DEL PROYECTO

El Sistema de Alarma Escolar Automatizada, es un sistema dedicado

especialmente para instituciones educativas donde se pretende evitar retrasos

para el comienzo y finalización de clases que la institución maneje, teniendo como

beneficio el buen aprovechamiento de las horas de clases de manera más eficaz,

así como también ahorrar el tiempo de la persona que está asignada a esta tarea

o evitar la distracción a la actividad que esté realizando y así beneficiar a cualquier

institución educativa que hace uso de una alarma tradicional.

1

2. OBJETIVOS

Implementar alarmas de aviso en las instituciones educativas de manera

innovadora para la eficiencia de las horas de clases mediante la automatización de

estas.

2.1 OBJETIVOS ESPECIFICOS

Implementar el sistema en todas las instituciones educativas existentes en

el país.

Usar herramientas accesibles para el desarrollo del sistema.

Tener una interfaz fácil y accesible al usuario.

Tener función de modo automático y modo manual para su activación.

Tener una instalación que facilite hacer cambios en los componentes que

lleguen a tener fallos.

3. MARCO TEORICO

Para el desarrollo de este sistema se hace uso de distintas herramientas que

hacen posible el funcionamiento de la misma. Cada una de ellas realizan

operaciones diferentes, pero la herramienta principal es una placa Arduino. Esta

placa es el circuito principal que hará que funcione el sistema de alarma escolar ya

que esta se trabaja la parte física del sistema, mientras que en la parte lógica se

hace uso del lenguaje de programación Java mediante el entorno de desarrollo

Netbeans. Esta y otras herramientas utilizadas para el desarrollo del sistema se

darán a conocer a continuación.

3.1 Placa Arduino

Arduino es una plataforma de electrónica abierta (open Hardware) para la creación

de prototipos basada en software y hardware flexibles y fáciles de usar. Arduino

puede tomar información del entorno a través de sus pines de entrada de toda una

gama de sensores y puede afectar aquello que le rodea controlando luces,

motores y otros actuadores.

El microcontrolador en la placa Arduino se

programa mediante el lenguaje de

2

Figura 1. Placa Arduino 1

programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino

(basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse

sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de hacerlo

y comunicar con diferentes tipos de software.

Un Hardware abierto. Para que todos en vez de “repararlo” podamos diseñar y

aprender. Arduino es un Hardware con el cual podremos hacer nuestras

implementaciones fácilmente. Arduino ha sido diseñado para ser fácilmente

extensible, estando basado en estándar y poderosos componentes.

Para programar la placa es necesario

descargarse de la página web de Arduino el

entorno de desarrollo (IDE). Se dispone de

versiones para Windows y para MAC, así como

las fuentes para compilarlas en LINUX. En el

caso de disponer de una placa USB es necesario

instalar los drivers FTDI. Estos drivers vienen

incluidos en el paquete de Arduino mencionado

anteriormente. Existen en la web versiones para

distintos sistemas operativos.

3.2 Sensores y actuadores

En general, cualquier sistema que requiera adquirir, procesar, medir, controlar y

monitorear información de su entorno necesitará de componentes periféricos de

entrada y salida llamados Transductores, los cuales se dividen en Transductores

de Entrada y Transductores de Salida. En forma genérica, los primeros son

conocidos como Sensores y los segundos como Actuadores.

En la toma de medidas siempre existe un cierto grado de incertidumbre. En

principio, el incremento del a información hace posible la reducción del a

incertidumbre. Para ello se trata de tomar más medidas o de emplear sensores

redundantes.

3

Figura 2. Interfaz de desarrollo de Ardino v1.0

Existen diferentes portadores de información basados en distintos principios

físicos y químicos.

Así, entre los principios y parámetros involucrados cabe mencionar:

Mecánica: Posición, velocidad, tamaño, fuerza, etc.

Termotecnia: Temperatura, calor, etc.

Electricidad: Voltaje, intensidad, resistencia, capacidad, etc.

Magnetismo: Intensidad de campo, densidad de flujo, etc.

Química: Concentración de un material, estructura cristalina, etc.

Radiación de todas las frecuencias: Intensidad, frecuencia, fase, etc.

Con respecto al procesamiento y transmisión del a información, pueden emplearse

también distintas tecnologías con limitaciones físicas diferentes:

Hidráulica mediante el empleo de componentes fluidicos. En este caso,

existe el límite del a velocidad del sonido en un fluido.

Eléctrica y electrónica. En la actualidad se emplea circuitos electrónicos. El

límite de velocidad viene dado por l amovilidad del as cargas en un material

semiconductor.

Radiante empleando componentes ópticos. El límite es la velocidad del a

luz en la guía.

En la actualidad, se emplea casi con exclusividad el procesamiento electrónico.

Para su empleo es necesario traducir las magnitudes a señales eléctricas.

3.3 Relé o Relay

El Relé es un interruptor operado magnéticamente. El relé se activa o desactiva

(dependiendo de la conexión) cuando el electroimán (que forma parte del relé) es

energizado (le ponemos un voltaje para que funcione).

Esta operación causa que exista conexión o no, entre dos o más terminales del

dispositivo (el relé). Esta conexión se logra con la atracción o repulsión de un

pequeño brazo, llamado armadura, por el electroimán. Este pequeño brazo

conecta o desconecta los terminales antes mencionados.

4

Si el electroimán está activo jala el brazo

(armadura) y conecta los puntos C y D. Si el

electroimán se desactiva, conecta los puntos D y

E.

De esta manera se puede conectar algo, cuando

el electroimán está activo, y otra cosa conectada,

cuando está inactivo.

Es importante saber cuál es la resistencia del

bobinado del electroimán (lo que está entre los terminales A y B) que activa el relé

y con cuanto voltaje este se activa. Este voltaje y esta resistencia nos informan

que magnitud debe de tener la señal que activará el relé y cuanta corriente se

debe suministrar a éste.

La corriente se obtiene con ayuda de la Ley de Ohm: I = V / R.

Dónde:

- I es la corriente necesaria para activar el relé

- V es el voltaje para activar el relé

- R es la resistencia del bobinado del relé

3.4 Programación Java

Java es un lenguaje de programación de propósito general, concurrente, orientado

a objetos que fue diseñado específicamente para tener tan pocas dependencias

de implementación como fuera posible. Su intención es permitir que los

desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en

cualquier dispositivo (conocido en inglés como WORA, o "write once, run

anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma

no tiene que ser recompilado para correr en otra. Java es.

Como cualquier lenguaje de programación, el lenguaje Java tiene su propia

estructura, reglas de sintaxis y paradigma de programación. El paradigma de

5

Figura 3. Componentes de un relé

programación del lenguaje Java se basa en el concepto de programación

orientada a objetos (OOP), que las funciones del lenguaje soportan.

El lenguaje Java es un derivado del lenguaje C, por lo que sus reglas de sintaxis

se parecen mucho a C: por ejemplo, los bloques de códigos se modularizan en

métodos y se delimitan con llaves ({ y }) y las variables se declaran antes de que

se usen.

Estructuralmente, el lenguaje Java comienza con paquetes. Un paquete es el

mecanismo de espacio de nombres del lenguaje Java. Dentro de los paquetes se

encuentran las clases y dentro de las clases se encuentran métodos, variables,

constantes, entre otros. En este tutorial, aprenderá acerca de las partes del

lenguaje Java.

El kit de desarrollo de Java

Cuando usted descarga un kit de desarrollo de Java (JDK), obtiene, además del

compilador y otras herramientas, una librería de clase completa de programas de

utilidad preconstruidos que lo ayudan a cumplir cualquier tarea común al desarrollo

de aplicaciones. El mejor modo para tener una idea del ámbito de los paquetes y

bibliotecas JDK es verificar la documentación API JDK.

Entorno de desarrollo

El JDK incluye un conjunto de herramientas de línea de comandos para compilar y

ejecutar su código Java, que incluye una copia completa del JRE. Aunque

ciertamente se pueden usar estas herramientas para desarrollar sus aplicaciones,

la mayoría de los desarrolladores valoran la funcionalidad adicional, la gestión de

tareas y la interfaz visual de un IDE.

Eclipse es un IDE de código abierto popular para el desarrollo Java. Maneja las

tareas básicas, tales como la compilación de códigos y la configuración de un

entorno de depuración, para que pueda centrase en escribir y probar códigos.

Para el desarrollo Java se necesita tener instalado un JDK para usar Eclipse.

6

3.5 NetBeans

NetBeans es un entorno de desarrollo integrado libre, hecho principalmente para

el lenguaje de programación Java, este entorno de desarrollo sera utilizado para el

desarrollo del interfaz del sistema planteado anteriormente.

La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir

de un conjunto de componentes de software llamados módulos. Un módulo es un

archivo Java que contiene clases de java escritas para interactuar con las APIs de

NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las

aplicaciones construidas a partir de módulos pueden ser extendidas agregándole

nuevos módulos. Debido a que los módulos pueden ser desarrollados

independientemente, las aplicaciones basadas en la plataforma NetBeans pueden

ser extendidas fácilmente por otros desarrolladores de software.

3.6 Librerías de conexión Arduino - NetBeans

Para la comunicación entre la placa arduino y el entorno de desarrollo NetBeans

se necesitan de unas librerías para el acceso al puerto serie de la placa Arduino,

algunos de ellos se basa en implementaciones binarias en nuestro sistema. Para

ello, el primer paso es instalar la librería RXTX en el equipo, dependiendo del

sistema operativo, se podrá instalar de manera diferente en cada una de ellas tal

como lo indica en documento de instalación que se puede encontrar en el

siguiente enlace: http://rxtx.qbang.org/wiki/index.php/Installation

Una vez hecho esto, crear un nuevo proyecto en NetBeans; en Archivo → Nuevo

Proyecto y elija a Java en Categorías y Aplicación de Java en Proyectos.

Luego, en la pestaña de NetBeans Proyectos, haga clic en su proyecto y

seleccione Propiedades.

En la ventana Propiedades del proyecto, seleccione las Librerias en el

panel Categorías.

Haga clic en el botón Agregar JAR / Carpeta.

7

Encuentra en la que colocó su instalación Arduino IDE. Dentro de este

directorio hay un directorio lib habrá algunos archivos JAR. Seleccione

todos ellos y haga clic en Aceptar.

Como queremos pedir prestado la configuración Arduino IDE el programa

necesita saber dónde está que archivos de configuración. Hay una manera

simple de hacer eso.

Estando en la ventana Propiedades del proyecto, seleccione Ejecutar en el

panel Categorías. En el directorio de trabajo, haga clic en el botón

Examinar y seleccione el directorio de su Arduino IDE.

Puede cerrar ahora la ventana Propiedades del proyecto. En este momento

de autocompletar para estas bibliotecas se permiten en el código.

Una vez hecho todo esto, debe eliminar toda línea de código que tenga en la

clase que haya creado, y para probar su funcionamiento correcto copie las

líneas de código tal como aparece en la figura 4

8

9

Figura 4. Código de prueba para conexión Arduino-Java

RESULTADOS

Después de haber concluido con la

programación en Java, re realizaron las

primeras pruebas utilizando un led que

simula muestra “chicharra” tal como se

puede observar en la figura 5.

Según el funcionamiento, el LED tendrá que

estar encendido por 5 segundos cada vez

que llegue la hora que fue programada al

principio, dando un resultado exitoso.

Por otro lado, en la interfaz de usuario tal como se

muestra en la figura 6, se puede observar la ventana

donde ingresamos el nombre de la escuela, elegimos

el nivel escolar de la misma y los turnos que ofrece el

instituto. Para luego ser dirigido a otra ventana que,

dependiendo de qué nivel escolar sea elegido, esta

mostrara una configuración diferente para asignar el

horario en que la alarma sonara.

10

Figura 5. Las primeras pruebas utilizando un LED.

Figura 6. Ventana de inicio del sistema

Figura 7. Configuración de los horarios para una escuela secundaria.

Como se puede observar en la figura 8 tenemos la ventana principal y final, donde

nos indica datos de la escuela, fecha y hora actual y un pequeño apartado donde

nos informa de la próxima suspensión de clases, día en que la alarma no

funcionara

11

Figura 8. Ventana principal y final de sistema.

CONCLUSION

Para el desarrollo de sistema planteado se pudo observar que un 90% es formado

por la programación en Java, mientras que el 10% forma parte de la instalación

física de la misa.

Durante su desarrollo en la programación lógica en Java se pudo encontrar

problemas con la librería RXTX que nos permite la comunicación con la placa

Arduino, ya que dependiendo del sistema operativo, ya sea de 32 o 64 bits, la

librería deberá corresponder a cualquiera de estas dos arquitecturas y poder evitar

errores de comunicación. Una vez conseguido esto, la programación fue lo que

quedaba dándole una mejor estructura para obtener los datos referentes a los

horarios mediante el diseño de la interfaz de usuario desarrollado en el software

de diseño gráfico Photoshop.

Una vez concluido la programación, se comenzó a realizar pruebas, en las cuales

se obtuvieron resultados exitosos así como pequeños errores que posteriormente

se corrigieron para obtener mejores resultados y poder finalizar por completo el

sistema.

12

BIBLIOGRAFIA

[ 1 ] Sbdar, M. (25 de abril de 2015). MANUAL DE PROGRAMACIÓN DE

ARDUINO [Mensaje de Blog]. Recuperado de

http://dfists.ua.es/~jpomares/arduino/page_01.htm

[ 2 ] CortoCircuito. (25 de abril de 2015). Introducción a Arduino [Mensaje de Blog].

Recuperado de http://www.cortoc.com/2011/12/introduccion-arduino.html

[ 3 ] Roy. (25 de abril de 2015 ¿Que son Sensores y Actuadores? [Mensaje de

Blog]. Recuperado de http://automotrizenvideo.com/%C2%BFque-son-sensores-y-

actuadores/

[ 4 ] NetBeans Tutorials Team. (25 de abril de 2015) Using the Calendar

Component [Mensaje de Blog]. Recuperado de

ttp://javanetbeans.net78.net/kb/60/web/calendar.html

[ 5 ] Electrónica Unicrom. (25 de abril de 2015) Relé, Relay - Relevador [Mensaje

de Blog]. Recuperado de http://unicrom.com/Tut_relay.asp

[ 6 ] GeekTheory. (25 de abril de 2015) Tutorial 0: Introducción a Java y NetBeans

[Mensaje de Blog]. Recuperado de https://geekytheory.com/tutorial-0-introduccion-

a-java-y-netbeans/

http://tifon.fciencias.unam.mx/cobian/docencia/programacion1/bases-teoricas-

examen-1/Introducci%F3n%20B%E1sica%20a%20Netbeans%20para

%20desarrollo%20en%20Java.pdf

13