Está en la página 1de 22

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

Ingeniería en Electrónica y Telecomunicaciones

TECNOLOGÍAS DE SOFTWARE

Nombre:
Jordan Armas
Francisco Changotagsi
Ludwing Radrigan
Saúl Obando

NRC: 3552

Producto de Unidad

Docente: Ing. Darwin Alulema


Sangolquí, 31 de Mayo del 2018
Índice
1. PLANTEAMIENTO DEL PROBLEMA .......................................................................... 3
2. OBJETIVOS DEL PROYECTO ....................................................................................... 3
2.1. Objetivo general ............................................................................................................ 3
2.2. Objetivos específicos..................................................................................................... 3
3. ESTADO DEL ARTE ....................................................................................................... 3
4. MARCO TEÓRICO .......................................................................................................... 5
5. DIAGRAMAS ................................................................................................................... 9
6. LISTA DE COMPONENTES ......................................................................................... 10
7. MAPA DE VARIABLES................................................................................................ 10
8. EXPLICACION DEL CODIGO FUENTE ..................................................................... 11
9. DESCRIPCION DE PRERREQUISITOS Y CONFIGURACION ................................ 16
10. APORTACIONES ...................................................................................................... 19
11. CONCLUSIONES ...................................................................................................... 20
12. RECOMENDACIONES ............................................................................................. 20
13. CRONOGRAMA ........................................................................................................ 21
14. 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


 Identificar las prestaciones de Arduino que permitan realizar y ejecutar
nuestras propias aplicaciones.
 Detallar el proceso de la conexión entre dos ordenadores y la emisión-
recepción de datos entre ellas.
 Relacionar los conocimientos acerca de la integración de proyectos de
Arduino+Java y las librerías que funcionan como herramientas que facilitan
este proceso

3. ESTADO DEL ARTE

En (Carrera, Fuertes, Villacís, & Toulkeridis, 2015) se realiza un proyecto basada en


el uso de la plataforma Arduino, el siguiente proyecto tiene como finalidad de medir
características ambientales en Quito para ello hacen uso de sensores. La plataforma
Arduino es una plataforma abierta en una computación física la cual se compone de un
microcontrolador montado en una placa electrónica, esta tarjeta de adquisición de
señales puede ser usada para desarrollar objetos interactivos como son la de recolección
de datos por medio de sensores y control de luces ,motores entre otros (Banzi, 2011).
Para realizar la comunicación de la información recopilada con el arduino es necesario
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


una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que
posibilita la transmisión de voz y datos entre diferentes dispositivos (Arduino) mediante
un enlace por radiofrecuencia en la banda ISM de los 2.4 GHz, Su objetivo facilitar
comunicación entre equipos móviles, eliminar cables y conectores y facilitar la
sincronización de datos entre equipos personales implementación.

El módulo bluetooth más frecuente en el Arduino son los denominados HC-06 y


HC-05 que son muy económicos y están disponibles independientes o en modo
SHIELD y para zócalo XBEE. Como el módulo BlueTooth es básicamente un nodo BT
conectado a un interface serie, se estable una conexión en principio para conectar los
pines RX y Tx ya qua son los de comunicación.

En (Mantilla Torres & Játiva López, 2016) tiene como objetivo desarrollar una
aplicación que permita medir y visualizar los niveles de temperatura, humedad y GLP,
recopilados a través de sensores procesados a tras de un Arduino MEGA usada como
tarjeta de adquisición y servidor.

El proyecto se realiza una comunicación en serie para los sistemas de adquisición


de datos, la medición se la realiza en un lugar distanciado del ordenador. Para la
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
objetos y el Internet y para que en un futuro personas puedan emplear esta tecnología en
su domicilio.

4. MARCO TEÓRICO

Consiste en una placa con un microcontrolador y una serie de puertos de entrada y


salida. Los microcontroladores AVR más usados son el Atmega168, Atmega328,
Atmega 1280, y Atmega8 por su sencillez y bajo costo
Hardware del Arduino

Lo microcontroladores CortexM3 de ARM de 32 bits,5 coexistirán con los otros como


son el AVR de 8 bits. ARM y AVR son plataformas diferentes, pero gracias al IDE de
Arduino los programas se compilan y luego se ejecutan sin cambios en cualquiera de las
plataformas.

El arduino tiene puertos seriales de entrada / salida, lo que le permite conectarse por
medio de un cable USB a una computadora para poder trabajar con ella desde nivel
software, ya que es dónde se le darán las “ordenes”

La diferencia de los distintos Arduino se da por la tensión utilizada en las placas.


Generalmente las microcontroladoras con CortexM3 tienen un voltaje de 3,3 voltios,
mientras que la mayor parte de las placas con AVR utilizan una tensión de 5 voltios.

Fig 1.Hardware del Arduino


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
Software del Arduino 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

Arduino Uno

Figura 3.-Arduino Uno


Características técnicas del Arduino

Para nuestro proyecto se hará uso del Arduino Uno, el cual tiene el microcontrolador
ATmega328P

Microcontrolador ATmega328P
Tensión de funcionamiento 5V
Voltaje de entrada (recomendado) 7-12V
Voltaje de entrada (límite) 6-20V
Pines de E / S digitales 14 (de los cuales 6 proporcionan salida PWM)
Pines de E / S digitales de PWM 6
Clavijas de entrada analógica 6
Corriente DC por Pin E / S 20 mA
Corriente DC para 3.3V Pin 50 mA
Memoria flash 32 KB (ATmega328P) de los cuales 0,5 KB
utilizados por el gestor de arranque
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Velocidad de reloj 16 MHz
LED_BUILTIN 13
Longitud 68.6 mm
Anchura 53.4 mm
Peso 25 g

Figura 4.-Caracteristicas del Arduino Uno


Entradas y Salidas
del Arduino Uno

Tiene 14 pines que funcionan


con 5v dispone 6 pines de
entrada analogos

Interrupciones SPI: Los pines 10, I2C: Comunicación a


RX y TX: se 11, 12, 13, se través de un bus I2C,
externas: Los PWM: dispone usan para para interconexión
usan para pines 2 y 3 están de 6 salidas omunicaciones
configurados de sistemas
transmisiones destinadas a la PSI, trasladar embebidos.
serie de para generar una generación de información full Dispositivos de
señales TTL interrupción en señales PWM de dúplex en un interfaz, desde
el atemega, hasta 8 bits entorno Maestro/ plantillas LCD,
Esclavo. Memorias EEPROM,
sensores, etc.

Figura 5.-Entradas y salidas del Arduino Uno

Asequible y Multiplataforma
Entorno de programación simple y directo
Las placas Arduino son más asequibles en
El Arduino es fácil de usar para principiantes
relación a lade micro-
y ofrece cantidad de aplicaciones para los
controladores,funciona con los sistemas
expertos
operativos Windows, Macintosh OSX y Linux

Ventajas del Arduino

Hardware ampliable Software ampliable y de código abierto


El Arduino está basado en los micro- El software está bajo una licencia libre y
controladores ATMEGA168, ATMEGA328 y listo para ser ampliado por programadores
ATMEGA1280, los diseñadores pueden experimentados. El lenguaje puede
armar su propia versión del módulo, ampliarse a través de librerías de C++ o en
ampliándolo u optimizándolo AVR C

Figura 6.-Ventajas del Arduino


Posee menor velocidad ya que
los datos se transmiten Tiene mayor cobertura en
enviando del bit menos distancia
significativo al mas significativo

Comunicación Serial

Es menos suseptible a fallas ya


Es mas dificil de hacerla
que al constar de un solo cable
comunicación serial que la
puede existir menores fallas en
paralela
las conexiones

Figura 7.-Comunicación serial

5. DIAGRAMAS

Figura 8.-Diagrama de Bloques


Figura 9.-Metamodelo Aplicaciòn

6. LISTA DE COMPONENTES
 Arduino Uno
 Parlante
 LCD
 Resistencias
 Ordenador

7. MAPA DE VARIABLES

 Piano tecno

Proporciona el almacenamiento y envió del dato. Al igual que la forma de comunicación


es decir sus parámetros como host y puerto.
 Maquina_1
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:

Y colocamos los nombres a cada botón para identificarlos en la programación


Importamos las librerías que necesitamos
Dentro de las más importantes que poseemos son:

Librería panamahitek.-Nos permite la comunicación serial entre el arduino y la
computadora
 Librería Socket y Server Socket.-Nos permite la comunicación serial entre dos
computadoras
 Librerias logging.Level y logging.Logger.-Nos proporciona métodos con los que s e
pueden anotar cronológicamente los datos.
En la clase PianoTecno definimos las variables que nos permita realizar la comunicación serial
con otra computadora

Para poder llamar a la comunicación del PanamaHitek asignamos una variable para poder
llamarla:

Aquí encontramos la comunicación entre la computadora y el arduino, asignándole el puerto al


que se va a conectar el arduino.
Asignación de botones de la interfaz gráfica creada por defecto del programa.

En cada botón tenemos la función predeterminada para que realice lo que requerimos
Como la siguiente
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
el check chkPC1 que va a ser la comunicación con la PC1 y el Arduino enviando un dato diferente
para cada tecla y el Arduino activara lo que deseemos
En el ARDUINO
Como vamos a utilizar la LCD necesitamos incluir la librería “LiquidCrystal.h” y asignar
nuestros pines de la LCD al arduino como constantes

Así como asignamos los pines de la LCD también necesitamos para el altavoz

Ahora inicializamos y asignamos que tipo de pines van a ser


Dentro de los void loops vamos a tener nuestras funciones
Como tenemos las mismas funciones dentro de cada tecla

Llamamos a la tecla enviada por el teclado en la programación en java, e identificamos el tono a


través de las frecuencias y mandamos tanto a la LCD como al parlante lo deseado siempre con un
retardo para su mejor funcionamiento.

9. DESCRIPCION DE PRERREQUISITOS Y CONFIGURACION

Prerrequisitos
En primera instancia es necesario instalar el NetBeans y Arduino ID los cuales se pueden
descargar gratuitamente de sus páginas oficiales.
o Arduino https://www.arduino.cc/en/main/software
o 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 8.-Selección de librerías

Se da Click derecho en Libraries se elige la opción Add/JAR/Folder se selecciona la


librería descargada y listo .Para la comunicación serial entre el ordenador y Arduino es
necesario agregar la librería rxtx.
http://rxtx.qbang.org/wiki/index.php/Download
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 .

Figura 10.-Reconocimiento del puerto serial

O directamente desde el administrador de dispositivos, para esto nos vamos a la opción


“Búsqueda” del menú del sistema operativo, posteriormente indicamos:

Figura 11.-Selección de administración de dispositivos


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


Abrimos “Búsquedas” desde el menú del sistema operativo, ingresamos “Bluetooth” y
seleccionamos la opción “Configuración de Bluetooth y otros dispositivos”.

10.APORTACIONES

Como aportaciones tenemos que podemos reproducir nuestras notas en nuestra propia
computadora
Y tenemos una interfaz de DEMO que nos reproducirá una canción en el 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
ya que si ellas no podría ser posible
 Comprobar el número de pines analógicos y digitales que se va a usar, para que
dependiendo de esto sepamos qué tipo de Arduino usar.
 Se debe tener en cuenta al programar en la interfaz en Java que los componentes
cuentan con una jerarquía cada uno
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/

También podría gustarte