sábado, 14 de septiembre de 2013


Proyecto control 1: Aplicación acordeón con Processing y Arduino

Jiménez Juan Carlos  COD. 2010119031
GRUPO 2
Ingeniería Electrónica,
Facultad de Ingeniería
Universidad del Magdalena

Resumen—Este proyecto inició con la capacitación en el manejo de Processing el cual es una herramienta de programación muy didáctica y útil para quienes no son grandes programadores, con la ayuda de éste programa se creó una aplicación muy interactiva y fue una acordeón virtual luego para complementar la experiencia se introdujo el control por hardware, en el cual se presionan los botones de la acordeón por medio de unos pulsadores que se comunica con Processing a través  de una placa de desarrollo Arduino, usando comunicación serial se logró transmitir y recibir datos entre el computador y el circuito de control externo.

INTRODUCCIÓN
En este informe se tratan los apartes más relevantes de la aplicación Arduino-Processing, se presenta el desarrollo y construcción del código además de los inconvenientes principales que se encontraron durante el proceso. La importancia de éste proyecto radica en afianzar los conocimientos sobre programación de software y hardware y la comunicación de medios externos al computador, la utilización de Processing y Arduino es un campo nuevo en el manejo de las herramientas debido a esto se requiere de las fuentes oficiales y foros en la web para agilizar la programación.

MARCO TEÓRICO
Processing es un lenguaje de programación, entorno de desarrollo, y comunidad en línea. Desde el año 2001, Processing ha promovido la alfabetización de software con las artes visuales y la alfabetización visual con la tecnología. Inicialmente creado para servir como un bloc de dibujo de software, y para enseñar los fundamentos de programación de computadoras dentro de un contexto visual, Processing se convirtió en una herramienta de desarrollo para los profesionales.
Por otro lado Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos. Arduino puede ser utilizado para desarrollar objetos autónomos e interactivos, como prototipos o interactuar con software instalado en el ordenador. Dada su rápida curva de aprendizaje y su precio económico es ideal para educadores, diseñadores y cualquiera interesado en la electrónica y robótica.

DESARROLLO DE LA APLICACIÓN
En esta parte haremos una explicación del código en Processing con el cual se generó la aplicación cabe destacar que mediante el compilador de arduino se programó previamente el  hardware para que pudiera hacerse la comunicación serial directamente con Processing. También es importante decir que el código aquí explicado es el de la aplicación final pero que previa a la inclusión de arduino se tenía un código más extenso pero también con más errores.
Primero que todo se llamaron las librerías necesarias en éste caso



La librería minim se usó para la reproducción de sonidos, la librería serial se usó para que Processing pudiera hacer comunicación a través de los puertos y la arduino fue necesaria para que por medio de sentencias en Processing se controlara el arduino
Luego se hacen las declaraciones de variables correspondientes, cabe destacar que AudioPlayer se usa para declarar los sonidos que se van a reproducir



Una vez hecho lo anterior hacemos las configuraciones necesarias primero para la comunicación serial, para imagen de fondo y tamaño de la pantalla, luego se le asignan a variables los distintos fragmentos de sonido y por último se hace la configuración del arduino como lo son los pines de entrada y salida.




El último fragmento de código corresponde a la ejecución de las acciones de control. Primero colocamos la imagen de fondo como fondo, a continuación explicaremos un fragmento de código usado para la reproducción de un sonido y una vez tengamos esto la acción se vuelve repetitiva para los demás sonidos
En un sí, preguntamos si en el pin especifico que estamos usando para determinada tecla del acordeón tiene un alto, si tiene un alto es porque hemos presionad la tecla. Dado que se presentaron problemas con la reproducción entonces se vuelve a configurar la variable para asignarle el sonido e inmediatamente ponemos a reproducirla. Como queremos saber en la pantalla cual tecla del acordeón se reprodujo entonces las siguientes sentencias son para dibujar un rectángulo en el lugar de la tecla por último para que la comunicación sea bilateral se enciende y apaga un led en un tiempo determinado por un retardo. Lo anterior se repite para los restantes siete sonidos.






Para finalizar la explicación podemos mencionar que frecuentemente se presentaron errores como:
Array Index Out Of Bounds: Este error se presenta por la declaración de variables ya sea de la librería debido a esto se exede la capacidad de algún vector que me genera un desbordamiento.
NullPointerException: Esta excepción puede ser lanzada por múltiples causas, la más habitual es que estamos intentando acceder a un atributo de un objeto para el que todavía no hemos reservado memoria.
Además de éstos dos comunes errores se presentaron y se pueden presentar muchos otros éstos se dan debido a la estructura y lógica que le demos a nuestro código de programa.
En las siguientes figuras se muestran las partes de la aplicación:



Figura 1. Esquema general



Figura 2. Arduino Mega 2560





Figura 3. Processing



Figura 4. Pulsadores para controlar botones del acordeón



Figura 5 interfaz visual


REFERENCIAS
http://www.consultoriajava.com/index.shtml

No hay comentarios:

Publicar un comentario