domingo, 13 de noviembre de 2011

Proyecto #2(Proyecto Robótica)

Autor: Felipe Leal
Competencia: Gestión en TI(Nivel 2) 
Palabras Clave: NXT,



PROYECTO #2

Objetivo
Manejar las estructuras de datos Arreglos (Arrays) y Archivos, y manejo de tareas concurrentes.

Descripción
Cada grupo deberá contextualizar una situación de uso del robot NXT, donde la solución considere fuertemente el uso de arreglos y archivos.
Para ello, las etapas contempladas en este proyecto son:
  • Elaboración de la idea: Cada grupo deberá escribir un documento que describa su proyecto, dejando claramente establecido el contexto y cómo se aplicarán los arreglos y archivos. (Puede usar como guía los enunciados de proyectos anteriores de este curso y de Prog. de Robots).
  • Validación de la idea: El martes 11 de octubre en clases, los profesores conversarán con cada grupo de modo de colaborar en la elaboración de la idea y validarla, realizando una retroalimentación frente a cada propuesta de proyecto. Los grupos subirán como respuesta a esta "Tarea" el documento con el proyecto del grupo (plazo miércoles 12 de octubre).
  • Implementación del proyecto: Considerando la retroalimentación dada, el grupo implementa el proyecto.
  • Presentación: Los proyectos deberán ser presentados el día viernes 28 de octubre, a las 15.00 hrs.

Bono adicional
El uso de la tecnología Bluetooth permitirá tener un bono adicional en su calificación. Para ello deberán trabajar dos grupos en conjunto de a cuerdo a las especificacioens dadas originalmente, asumiendo el trabajo adicional que implica (programación, informe detallado, etc.).





Grupo: DIRTY-BOT

Integrantes:
Angel Aedo
Martin Berkhoff
Felipe Leal
(Claudia de la Hoz) en conversaciones.

Proyecto 2: Robot Guardia


¡MacGyver Debe Salir De La Ciudad! Pero no cuenta con sistema de seguridad alguno que permita cuidar de su propiedad.
Provisto solamente de su Kit NXT y un teléfono Android , se dispuso a crear un sistema que en todo momento resguarde puertas, ventanas y pasillos y le mantenga informado del estado de su hogar.

IMPLEMENTACIÓN

Simularemos una casa y sus accesos mas comunes en una pequeña maqueta creada para el proyecto.

Cada vez que algún sensor (de los implementados) detecte algo anormal, el brick creará un reporte (que se guardara en un archivo) y utilizando tecnología bluetooth se comunicará con el teléfono, el cual, según sea el caso realizara las acciones necesarias para comunicarse con el Usuario:

-Captura de Fotografía
-Envío de Email
-Envío de SMS
-Llamada telefónica (con fin informativo).


También Se utilizaran funciones mecánicas para simular la presencia de alguna persona en el inmueble.

El Uso de arreglos es fundamental para crear un reporte con los datos obtenidos por cada sensor y tener un estado de alerta consecuente a la situación.

Los Sensores a Implementar Son:

-UltraSonido
-Tacto
-Sonido
-De luz (Siempre que encontremos un uso significativo para el).




Introducción
. Dirty Lock, el nuevo sistema de seguridad; que con su novedosa tecnología mantendrá seguras nuestras viviendas, aplicando novedosas tecnologías: app inventor, bluetooth, lego mindstorm , programación en nxc y twitter. Una nueva herramienta que nos permitirá dejar una de las más comunes de las preocupaciones: la seguridad de nuestras viviendas.
. El desarrollo de este sistema de seguridad fue pensado de manera estricta y rigurosa para que bajo ningúna circunstancia se pueda vulnerar la seguridad de nuestros hogares.

¿Cómo logramos esto?:

. Hacer un sistema de seguridad de este tipo toma tiempo; pero aquí podrán ver el proceso, paso a paso de la creacion del sistema de seguridad DIRTY LOCK.

Estrategia de Trabajo

. Al comenzar el Proyecto tuvimos la claridad de lo que queríamos hacer como proyecto, esto nos llevó como grupo a dividir las funciones: Felipe Leal, a cargo de crear la aplicación en app inventor; Angel Aedo la tarea de hacer la programacion en nxc del robot, y la creacion de archivos. Martin berkhoff quedo como staff de apoyo ayudando en todas las tareas que los compañeros requirieran.
. Lo primero, luego de dividir el trabajo, fue pensar en las tecnologías que tenemos a nuestro alcance para poder hacer un eficiente sistema de seguridad.
. Aquí seleccionamos básicamente cuatro tecnologías, sin contar los sensores: twitter, bluetooth, app inventor y lenguaje nxc.
¿Por qué no otras tecnologías?
. Simpemente porque en el momento consideramos que éstas eran suficiente para poder crear un sistema de seguridad efectivo; lo que no quita que exploremos con nuevas tecnologias más adelante.
. Con esta primera selección tuvimos lo básicos para iniciar el software en app inventor.
. App Inventor: Es una parte de Google Labs, un parque infantil para lo ingenieros de Google y aventureros usuarios de Google, con este programa para celulares Android es posible crear muchos tipos de aplicaciones; Con app inventor es posible crear aplicaciones que quedaran guardadas en la nube.
. Para mas informacion ir a esta pagina http://www.appinventor.es/ aquí encontraran video de presentacion, tutoriales y manual de como descargar app inventor.




. Creacion de el software en app inventor:






.
La aplicación que logramos hacer pudo conectarse con el nxt via bluetooth y coordinar acciones mediante sensores. Esta es la base de la aplicación, cada ves que cualquier tipo de sensor detecta algo, la aplicación enviaba un twitter dando cuenta de que el sensor estaba activo, este también podia llamar a la persona dueña del hogar si esto era necesario; o si el nivel de alarma que marcaron los sensores era demasiado alto.
. El uso de los sensores está especificado en el anexo de lego mindstorm. Como también la programación en nxc.



. En paralelo nuestro sistema de seguridad utilizando las tecnologias: Lego mindstorm y programacion en nxc, registra y genera un archivo de todas las actividades sospechosas que ocurren en el transcurso de la noche o en el tiempo que el usuario considere dentro de su hogar, ya sea forzar la puertas o ventanas, movimientos dentro de su casa y sonidos sobre lo normal. 

. Uso de sensores: Utilizamos del quit de legos mindstorm los siguientes sensores: Sensor de Sonido, encargado de detectar los sonidos que sean poco comunes. Sensor tacto, este cuida las puertas y ventanas del hogar y también verifica si estas se abren. Sensor Ultrasonido, encargado de ver si algo se mueve dentro de el hogar.

. Motor: aquí utilizamos un motor con una función única y específica, en el anexo maqueta se dejará más en claro esa parte.


Pseudocódigo

Subrutina TraspasaArchivo()
{
. . . Crear Archivo "Reporte.txt"
. . . Escribe linea "Reporte"
. . . Escribe linea "------------------"
. . . Si(Evento=2)
. . . {
. . . . . . Almacena "puerta"
. . . }
. . . Si(Evento=3)
. . . {
. . . . . . Almacena "ventana"
. . . }
. . . Si(Evento=1)
. . . {
. . . . . . Almacena "ruido"
. . . }
. . . Si(Evento=4)
. . . {
. . . . . . Almacena "movimiento"
. . . }
. . . Escribe linea Almacena, Tiempo
. . . Cierra Archivo
. . . Detiene Todas las Tareas
}

Subrutina Arreglos(x, y)
{
. . . almacena x en arreglo1
. . . almacena y en arreglo2
}

tarea conexion()
{
. . . mientras(verdad)
. . . {
. . . . . . ver estado bluetooth()
. . . . . . si(estado = activado desconectado)
. . . . . . {
. . . . . . . . . Tocar sonido
. . . . . . }
. . . . . . si(estado = activado conectado)
. . . . . . {
. . . . . . . . . Mostrar mensaje pantalla
. . . . . . }
. . . }
}

tarea sonido()
{
. . . mientras(verdad)
. . . {
. . . . . . si sensorSonido>sonido
. . . . . . {
. . . . . . . . . toma tiempo
. . . . . . . . . subrutina arreglo()
. . . . . . }
. . . }
}

tarea tacto1()
{
. . . mientras(verdad)
. . . {
. . . . . . si Sensor tacto se activa
. . . . . . {
. . . . . . . . . toma tiempo
. . . . . . . . . subrutina arreglo()
. . . . . . }
. . . }
}

tarea tacto2()
{
. . . mientras(verdad)
. . . {
. . . . . . si Sensor tacto se activa
. . . . . . {
. . . . . . . . . toma tiempo
. . . . . . . . . subrutina arreglo()
. . . . . . . . . mover interruptor 1 vez
. . . . . . }
. . . }
}

tarea movimiento()
{
. . . mientras(verdad)
. . . {
. . . . . . si SensorUS < Distancia
. . . . . . {
. . . . . . . . . toma tiempo
. . . . . . . . . subrutina arreglo()
. . . . . . }
. . . }
}

tarea main()
{
. . . Comenzar tareas()
}. . . 

. . . 
Código

Conclusión

El presente trabajo nos ha permitido implementar un sistema de seguridad, mediante la utilización de herramientas de la informática como lo son : app inventor, lenguaje nxc, bluetooth.
Para la creacion de una aplicación en android y la programacion en nxc.
Durante el proceso de investigacion fue necesario aprender sobre la creacion de archivos y arreglos en nxc y la programacion en app inventor. En este ultimo fue necesario buscar guias y tutoriales para poder aplicar una programacion adecuada a los requerimientos del equipo.
El trabajo en grupo no permitió avnazar sumando los aportes de cada uno de los integrantes, no obstante a medida que avanzabamos en el proceso se nos fueron presentando dificultades que nos llevaron a nuevas interrogantes, a la búsqueda de mayor información, a la consulta de nuevas fuentes de tal modo que el avanse se vio enrriquecido por el aprendizaje.
El resultado final de este proyecto, permite ver un sistema de Resguardo o de seguridad, funcionando a través de un equipo de tefelonía celular, con sistema Android en conjunto con la programación nxc y con la posibilidad de dar seguimiento de los eventos vía Twitter.















No hay comentarios:

Publicar un comentario