sialesa - sistema de alarma escolar automtizada
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
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