DEPARTAME DEPARTAME NTO NTO DE E LÉ CTRI CTRI CA Y ELECTRÓNICA
Ingeniería en Electrónica y Telecomunicaciones
TECNOLOGÍAS DE SOFTWARE
Índice 1.
PLANTEAMIENTO PLANTEAMIENTO DEL PROBLEMA............................................................... .......................................................................... ........... 3
2.
OBJETIVOS DEL PROYECTO.................................................................... ....................................................................................... ................... 3
2.1.
Objetivo general ............................................................... ............................................................................................................ ............................................. 3
2.2.
Objetivos específicos.............................................. específicos..................................................................................................... ....................................................... 3
3.
ESTADO DEL ARTE .......................................................... ....................................................................................................... ............................................. 3
4.
MARCO TEÓRICO ............................................................. .......................................................................................................... ............................................. 5
5.
DIAGRAMAS DIAGRAMAS........................................................... ................................................................................................................... ........................................................ 9
6.
LISTA DE COMPONENTES COMPONENTES .......................................................... ......................................................................................... ............................... 10
7.
MAPA DE VARIABLES................................................................. ................................................................................................ ............................... 10
8.
EXPLICACION EXPLICACION DEL CODIGO FUENTE............................................................ ..................................................................... ......... 11
9.
DESCRIPCION DESCRIPCION DE PRERREQUISITOS PRERREQUISITOS Y CONFIGURACION CONFIGURACION ................................ 16
10.
APORTACIONES APORTACIONES ........................................................... ...................................................................................................... ........................................... 19
11.
CONCLUSIONES CONCLUSIONES ........................................................... ...................................................................................................... ........................................... 20
12.
RECOMENDACIONES RECOMENDACIONES .............................................................. ............................................................................................. ............................... 20
13.
CRONOGRAMA CRONOGRAMA ............................................................. ........................................................................................................ ........................................... 21
14.
BIBLIOGRAFÍA BIBLIOGRAFÍA.............................................................. ......................................................................................................... ........................................... 22
1. PLANTEAMIENTO DEL PROBLEMA Uno de los principios de la Robótica es lograr que un dispositivo electrónico sea controlado por el usuario a través de una computadora. Con Arduino podemos controlar circuitos utilizando aplicaciones escritas en cualquier lenguaje de programación que soporte comunicación serial. Para efectos de este proyecto, concentraremos nuestros esfuerzos en desarrollar un piano electrónico con 2 octavas en Java, implementado un circuito conformado por un parlante, un LCD y resistencias que puedan ser conmutados desde nuestra computadora, utilizando una interfaz en Java y nuestra tarjeta de adquisición de señales Arduino. Para realizar el envío y recepción de datos seriales entre dos computadoras mediante el Arduino y las aplicaciones de cada Pc de manera que nuestra aplicación pueda conectarse por un segundo puerto serial con otra aplicación.
2. OBJETIVOS DEL PROYECTO 2.1. Objetivo general
Desarrollar un piano electrónico con 2 octavas que cuente interfaz en java que represente su teclado y sea capaz de transmitir valores al Arduino por medio del puerto serie.
2.2. Objetivos específicos
una plataforma de software Java Enterprise Edition (JEE). Lo cual permite que se desarrolle aplicaciones en lenguaje programación Java y comunicarlas de distintas formas con la tarjeta de adquisición Arduino. . Existe una similitud al utilizar la plataforma Arduino como medio de comunicación entre los circuitos, sensores y el exterior, pero no se utiliza comunicación serial si no recurre a otros medios disponibles como: conexión Ethernet, Wifi y Bluetooth.
Para (Fidel Biendicho Lletí, 2015) realizada en la Universidad Politécnica de Valencia hace énfasis en la
importancia de la comunicación entre un módulo Bluetooh
en Arduino con Android en el cual se establece una comunicación inalámbrica en forma serial la cual recibe las señales por medio de la frecuencia. El objetivo de la publicación es indicar el proceso de comunicar el Arduino con Bluetooh mediante Android el cual se maneja de forma serial y se utiliza una aplicación para control dicha aplicación. Una herramienta que nos ofrece el arduino para la comunicación es el Bluetooth es
comunicación entre el ordenador y el Arduino existen varios estándares de comunicación como lo es el RS232 es la que permite la comunicación punto a punto. En la investigación se hace referencia a la utilidad de del USB ( Universal Serial Bus) este ofrece una variedad de ventajas en la conexión convencionales en serie y en paralelo, entre las ventajas que ofrecen son la capacidad de proporcionar energía al dispositivo periférico y el ancho de banda (hasta 12 Mbits/s) .La comunicación por Arduino facilita la adquisición de datos por medio del ordenador La información en la investigación serán de gran utilidad para la comunicación serial usadas para recopilar información adquirida por los sensores y la tarjeta de adquisición Arduino. Para (Vega, Santamaría, & Rivas, 2014),el desarrollo del proyecto tiene como fin la gestión eléctrica domiciliaria por medio del diseño y desarrollo de un sistema domótica que permite encender una bombilla Led desde una distancia remota sin importar la localización geográfica en la que se encuentre el usuario , para el desarrollo del proyecto se utilizaron la nube de Windows Azure en el software y el Arduino en el hardware, en este artículo se hace uso de la interoperabilidad entre un hogar y el mundo virtual del internet el Internet de las cosas, lo cual permite que exista en enlace entre los
o n i u d r A l e d e r a w t f o S
La plataforma combina el hardware con un lenguaje de programación que sirve para controlar los distintos sensores que se encuentran conectados a la placa, por medio de instrucciones y parámetros que nosotros establecemos al conectar la placa a un ordenador.
Este lenguaje del Arduino se llama Wirirng , basado en la plataforma Processing con los lenguaje de programación C / C++, de este lenguaje derivan otros más que son muy utilizados en el ámbito de Ingeniería y desarrollo, como C#, Java, BASIC, Php, Phytom, JavaScript, Perl , entre otros más
EL software puede descargarse desde el sitio web oficial de Arduino, ya que opera bajo licencia libre y está disponible a todo público.
El lenguajes de programación de alto nivel derivados de C, para trabajar desde el nivel programación del procesador, debe descargarse el software que incluye las librerías necesarias para poder utilizar el lenguaje de manera completa
Fig 2..Software del Arduino
Características técnicas del Arduino Para nuestro proyecto se hará uso del Arduino Uno, el cual tiene el microcontrolador ATmega328P Microcontrolador Tensión de funcionamiento Voltaje de entrada (recomendado) Voltaje de entrada (límite) Pines de E / S digitales Pines de E / S digitales de PWM Clavijas de entrada analógica Corriente DC por Pin E / S Corriente DC para 3.3V Pin Memoria flash SRAM EEPROM Velocidad de reloj LED_BUILTIN
ATmega328P 5V 7-12V 6-20V 14 (de los cuales 6 proporcionan salida PWM) 6 6 20 mA 50 mA 32 KB (ATmega328P) de los cuales 0,5 KB utilizados por el gestor de arranque 2 KB (ATmega328P) 1 KB (ATmega328P) 16 MHz 13
Entradas y Salidas del Arduino Uno
Tiene 14 pines que funcionan con 5v dispone 6 pines de entrada analogos
RX y TX: se usan para transmisiones serie de señales TTL
Interrupciones externas: Los pines 2 y 3 están configurados para generar una interrupción en el atemega,
PWM: dispone de 6 salidas destinadas a la generación de señales PWM de hasta 8 bits
SPI: Los pines 10, 11, 12, 13, se usan para omunicaciones PSI, trasladar información full dúplex en un entorno Maestro/ Esclavo.
Figura 5.-Entradas y salidas del Arduino Uno
I2C: Comunicación a través de un bus I 2C, para interconexión de sistemas embebidos. Dispositivos de interfaz, desde plantillas LCD, Memorias EEPROM, sensores, etc.
Posee menor velocidad ya que los datos se transmiten enviando del bit menos significativo al mas significativo
Tiene mayor cobertura en distancia
Comunicación Serial
Es mas dificil de hacerla comunicación serial que la paralela
Es menos suseptible a fallas ya que al constar de un solo cable puede existir menores fallas en las conexiones
Figura 7.-Comunicación serial
5. DIAGRAMAS
Figura 9.-Metamodelo Aplicaciòn
6. LISTA DE COMPONENTES
Arduino Uno Parlante
Nos proporciona la entrada de datos y almacenamiento del mismo, y el puerto es para comunicarse y realizar la conexiòn.
8. EXPLICACION DEL CODIGO FUENTE Creamos nuestra interfaz gráfica de nuestro piano con los botones, selectores, checks entre otros:
Importamos las librerías que necesitamos Dentro de las más importantes que poseemos son:
En la clase PianoTecno definimos las variables que nos permita realizar la comunicación serial con otra computadora
Asignación de botones de la interfaz gráfica creada por defecto del programa.
Ahora nosotros estamos colocando un if para decir si el botón check llamado chknotasmusicales que lo hemos agregado como extra para poder escuchar las notas en la misma computadora, es seleccionado, que realice o reproduzca en este caso la nota seleccionada en la PC1. Para el otro if que tenemos dentro de la misma función de cada botón es cuando seleccionamos
Dentro de los void loops vamos a tener nuestras funciones Como tenemos las mismas funciones dentro de cada tecla
En primera instancia es necesario instalar el NetBeans y Arduino ID los cuales se pueden descargar gratuitamente de sus páginas oficiales. o o
Arduino https://www.arduino.cc/en/main/software NetBeans https://netbeans.org/downloads/
Poseer un microcontrolador Arduino, los modelos más utilizados son “Mega” o “Uno”,
para este caso se puede usar cualquiera puesto que el número de pines a utilizar son suficientes en ambos, se los puede comprar en cualquier tienda de electrónica o en línea, se debe tener en cuenta que en Arduino su software y hardware son libres así que podremos encontrar el mismo modelo genérico en un precio muy cómodo.
Configuración La configuración previa al desarrollo del proyecto se indica a continuación:
Java Para realizar la comunicación de Java con Arduino necesitamos de la librería PanamaHitek_Arduino v2.8.2, la cual podemos encontrar en: o https://github.com/PanamaHitek/PanamaHitek_Arduino/releases/tag/2.8.2 El primero paso es agregar las librerías necesarias en Netbeans se agregan de la siguiente manera :
Figura 9.-Librería rxtx
Se elige la opción rxtx-2.1-7-bins-r2.zip , una vez finalizada la descarga se procede a importar el archivo .jar Es importante reconocer el puerto serial al que está conectado el Arduino para realizar la comunicación serial .
Seleccionamos la opción “Administrador de dispositivos”, y desde el menú desplegable “Puertos (COM y LPT)” obtenemos el puerto “COM” asociado a nuestro Arduino:
Figura 12.-Reconocimineto de puertos
Acoplamiento entre un ordenador y el módulo Bluetooth del Arduino
11.CONCLUSIONES
•
Al realizar el diseño e implementación del circuito, usando los recursos necesarios para nuestra aplicación dirigida a la utilización del Arduino e interfaces de Java se comprobó que estos aplicativos son didácticos y beneficiosos para el ámbito educativo. Al interactuar con las prestaciones propias de Arduino en la creación nuestra aplicación pudimos comprobar que mediante el uso de esta tarjeta de adquisición de señales el desarrollo de aplicaciones resulta ágil y eficaz. Se comprobó que la conectividad entre ordenadores para nuestra aplicación puede ser muy útil y aplicable en diferentes áreas del Sofware y Electrònica. Se amplió el concepto sobre la integraciòn Arduino+Java y sus diversas prestaciones en el campo de la programación con Arduino, misma que puede interactuar con circuitos electrónicos.
12.RECOMENDACIONES Descargar e instalar las librerías que permitan la conexión entre Arduino y Java
13. CRONOGRAMA
14. BIBLIOGRAFÍA Fidel Biendicho Lletí. (6 de 7 de 2015). UNIVERSIDAD POLITECNICA DE VALENCIA . Obtenido de https://riunet.upv.es/bitstream/handle/10251/57549/Memoria.pdf?sequence=1 YF Solahuddin y W. Ismail. (5 de 6 de 2014). IEEE . Obtenido de http://ieeexplore.ieee.org/document/6868379/