Sei sulla pagina 1di 16

Grupo de Ingeniera Telemtica

Universidad del Cauca


Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

Prctica 3 |Taller Interaccin de


Arduino con PCs
Desarrollo de aplicaciones para plataformas ubicuas

Desarrollo de la Prctica
Una de las capacidades que entrega la placa Arduino es el control de los
artefactos que le conectamos, en el aula virtual el control de las luces,
ventilador, aire acondicionado, televisor hace parte de la interaccin
inteligente de las personas con los dispositivos fsicos, a travs de
distintos medios tales como PCs, dispositivos mviles y sensores. En esta
prctica se implementara el control de la placa Arduino utilizando un PC
de escritorio, para simplificar el concepto se utilizara un led que simula
el control de las luces en el Aula Virtual, y posteriormente utilizando la
misma idea se pueden dar el control de los dems dispositivos
conectados al Arduino. Imagen Modelo de la prctica

Objetivos
Requisitos de la prctica
te
m
1

Nombre
Placa Arduino Uno

Cantidad
1
1

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas
2
3
4
5
6
7

Diodo LED de cualquier color


Cable Tipo AB de impresora
Entorno de desarrollo Eclipse
JDK (Java Development Kit)
Librera RXTX de java
Plugin grafico (WindowsBuilder)

1
1
1
1
1
1

Esquema de la prctica

Nos dirigimos a la carpeta de prcticas del libro de ruta (\Libro


Arduino\Prctica seccin 4.1 - Arduino + pc + luz\) se abre el archivo
Led_on_off.fzz con el programa Fritzing.

Configurar el entorno Eclipse


Lo primero hay que decidir es el entorno de desarrollo que se utilizara,
una buena opcin es eclipse, debido a que el objetivo de estas prcticas
es poder construir aplicaciones que no utilicen recursos del sistema
operativo para buscar independencia de la plataforma hardware por
medio de lenguajes como java, json, xml, cvs, adems de PCs de
escritorio se utilizaran dispositivos mviles con sistema operativo
android los cuales escogen como entorno de desarrollo el Eclipse, el SDK
(Software Development Kit) de android
nos evita complejas
configuraciones creando compilaciones que integran el eclipse a las
herramientas necesarias para programar en android que fue

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas
denominado como ADT1 (Android Developer Tools), es decir se descarga
de la pgina con el eclipse incorporado, la versin de eclipse es la ltima
y es la que soporta la ejecucin en sistemas operativos de 32bits y
64bits de instruccin. Figura SDK

Teniendo descargado el ADT se descomprime en cualquier ruta de


directorios pero es recomendado en la raz de directorio principal del
disco duro, en windows 7 seria (C:\adt-bundle-windows-x86_64).Figura
de la ruta

1 http://developer.android.com/sdk/index.html
3

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

Antes de ejecutar el eclipse debemos descargar el JDK 2 (Java


Development Kit) en este punto hay que tener en cuenta que si va
utilizar el eclipse con java deben trabajar los dos con el mismo largo de
instruccin de procesador de 32 bits o 64bits, en nuestro caso que
descargamos elipse que soportan 32bits y 64bits es indiferente cual JDK
se descargue, aunque recomendamos el JDK de 32bits debido a que para
el desarrollo de las practicas utilizaremos archivos .jar y .dll
adicionales de los cuales tambin tendramos que tener en cuenta si
corren a 32bits o 64bits, en los prototipos se prob exitosamente las
versiones de 32 bits. Nota: Si no se ha instalado el JDK el eclipse no se
abrir.
Se hace clic en >Java Plataform(JDK)>. Figura JDK

Opcionalmente se crea la variable PATH en Windows 7 para decirle a


eclipse la ruta del JDK, aunque eclipse busca por defecto la versin de
JDK instalada, esto es til cuando se tienen varias versiones de JDK
instaladas y se quiere que eclipse trabaje con una especfica. En caso de
requerir configuracin del PATH en Windows 7 dirjase al Apartado
nmero 1.
Ejecutamos el eclipse que se encuentra en la ruta de archivos en
Windows 7 siguiente: (C:\adt-bundle-windows-x86_64\eclipse). Nota: Se
recomienda hacer un acceso directo en el escritorio para facilitar la
ejecucin. Figura ruta eclipse.

2 http://www.oracle.com/technetwork/es/java/javase/downloads/index.html
4

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

El entorno desplegado por primero vez se vera como esto

La configuracin del JRE (Java Runtime Environment) con el cual


trabajara eclipse se realiz en el Apartado nmero 2.
Instalar el plugin para crear la interfaz grfica, el que seleccionamos se
llama WindowsBuilder3 para efectos de simplificar la comprensin de los
pasos de la practica la descarga del plugin se realiza en el Apartado 3.
El proceso para cargar o importar proyectos java ya hechos en eclipse se
pueden ver en el Apartado nmero 5.

3 http://www.eclipse.org/windowbuilder/
5

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

Se construye la interfaz grfica en eclipse, que tenga dos botones los


cuales son los que prendern y apagan un led. Una vez ejecutado la
primera vez vamos al men >File>>New>>Java Proyect y aparecer
algo como esto. Figura eclipse abierto.

El proyecto java llevara como nombre Led_on_off

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

En el siguiente paso se crea un Paquete para agrupar los archivo de


clase java, haciendo clic derecho encima del archivo de recursos src
y luego en >New>>Package.

Se le coloca un nombre en Name.

Estando el paquete crea el marco para colocar los botones haciendo clic
derecho encima del archivo de paquete creado y luego en
>New>>Other
7

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

En el rbol seleccionamos WindowsBuilder y luego en JPanel.

Se le coloca un nombre cualquiera, en este caso le colocamos


marco_on_off en Name

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

En este momento selecciona la pestaa inferior Desing y luego


escogemos Absolute layout y lo ubicamos encima del marco
tornndose los bordes de color verde, esto se hace para poder colocar
controles en cualquier lugar el marco. Nota: En caso de que no aparezca
la pestaa Desing es porque el archivo est abierto con el Java
Editor y es necesario utilizar el WindowsBuilder Editor dirjase al
Apartado 8.

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

Se colocan dos botones en el marco con sus nombres respectivos


seleccionando en JButton.

Luego haciendo clic en la pestaa inferior Source nos presenta la vista


de cdigo el cual explicaremos a continuacin.

Se creara una conexin serial entre la placa Arduino y programa en java,


entonces tendremos que descargar las libreras RXTX para que se
10

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

ejecuten en un JDK y configurarlas con eclipse, lo realiza en el Apartado


4.
Primero que todo se crea un archivo .class que administrara la conexin
serial, haciendo doble clic encima del paquete_on_off luego
>New>>Class.

Se le coloca un nombre al archivo, escogimos serial_on_off.

11

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

El sketch de la prctica se encuentra en la carpeta de cdigos del libro


con el nombre de serial_pc_java.
Los archivos .java de la prctica se encuentra en la carpeta de cdigos
del libro con el nombre de paquete_on_off.

Cdigo Java de la prctica

Nos dirigimos a la carpeta de prcticas del libro de ruta (\Libro


Arduino\Prctica seccin 4.1 - Arduino + pc + luz \paquete_on_off\) se
copia el cdigo de los archivos marco_on_off.java y serial_on_off.java
se abre con un bloc de notas y se pega el contenido en los archivos
creados en eclipse.
En este punto se presentara el cdigo del archivo que proporciona la
comunicacin serial, el cual fue tomado y modificado de la pgina
(Arduino and Java4) se explicara las partes ms significativas del cdigo
donde deben haber cambios en la ejecucin de las aplicaciones para
facilitar la comprensin y para ms detalles todo el cdigo esta
comentado.
El siguiente fragmento de cdigo crea un vector de los puertos seriales
de nuestro PC, cuando conectamos la placa Arduino. Nota: Se debe

4 http://playground.arduino.cc/Interfacing/Java
12

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

colocar el nmero de puerto donde reconoci la placa, si no se hace el


programa no puede encontrar el puerto.
Si la placa Arduino se reconoci en el puerto COM4 se introduce en el
cdigo.

Este mtodo lo llamaremos desde la clase marco_on_off para enviar


datos a la placa Arduino.

Adicionamos las lneas entre barra a la derecha de color verde la


primera crea el objeto de la clase que enva los datos por puerto serial, y
el segundo llama al evento de la clase serial que establece la conexin

13

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

Ahora hacemos doble clic en el archivo marco_on_off se hace clic en la


pestaa Desing y se hace doble clic encima del botn On_Led y
Off_Led generando el cdigo de los botones, desde los cuales
llamaremos al mtodo enviarDatos().
En barra a la derecha llama al mtodo enviar datos por el puerto
serial.

14

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

Cdigo Arduino de la prctica

Nos dirigimos a la carpeta de prcticas del libro de ruta (\Libro


Arduino\Prctica seccin 4.1 - Arduino + pc + luz\) se abre el sketch
serial_pc_java.ino con el entorno Arduino.
La funcin Setup del sketch va codificada de la siguiente manera

La funcin Loop del sketch va codificada de la siguiente manera

15

Grupo de Ingeniera Telemtica


Universidad del Cauca
Practica N 8 | Desarrollo de aplicaciones para plataformas
ubicuas

La compilacin y verificacin en el IDE Arduino se realiza de acuerdo a


la prctica preliminar del Captulo 1.

Cuestionario
1.

Comentarios/Realimentacin

Documentacin sobre Arduino

16