Práctica 3. Taller Interacción de Arduino Con PCs

18
Grupo de Ingeniería Telemática Universidad del Cauca Practica N° 8 | Desarrollo de aplicaciones para Práctica 3 |Taller Interacción de Arduino con PCs Desarrollo de aplicaciones para plataformas ubicuas Desarrollo de la Práctica 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 interacción inteligente de las personas con los dispositivos físicos, a través de distintos medios tales como PCs, dispositivos móviles y sensores. En esta práctica 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 demás dispositivos conectados al Arduino. Imagen Modelo de la práctica 1

description

Arduino y Java con RxTx

Transcript of Práctica 3. Taller Interacción de Arduino Con PCs

Page 1: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

Práctica 3 |Taller Interacción de Arduino con PCs

Desarrollo de aplicaciones para plataformas ubicuas

Desarrollo de la Práctica

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 interacción inteligente de las personas con los dispositivos físicos, a través de distintos medios tales como PCs, dispositivos móviles y sensores. En esta práctica 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 demás dispositivos conectados al Arduino. Imagen Modelo de la práctica

Objetivos

Requisitos de la prácticaÍtem Nombre Cantidad

1 Placa Arduino Uno 12 Diodo LED de cualquier color 13 Cable Tipo AB de impresora 14 Entorno de desarrollo Eclipse 1

1

Page 2: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

5 JDK (Java Development Kit) 16 Librería RXTX de java 17 Plugin grafico (WindowsBuilder) 1

Esquema de la práctica Nos dirigimos a la carpeta de prácticas del libro de ruta (\Libro Arduino\Práctica sección

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 opción

es eclipse, debido a que el objetivo de estas prácticas 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, además de PCs de escritorio se utilizaran dispositivos móviles 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 denominado como ADT1 (Android Developer Tools), es decir se descarga de la página con el eclipse incorporado, la versión de eclipse es la última y es la que soporta la ejecución en sistemas operativos de 32bits y 64bits de instrucción. Figura SDK

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

2

Page 3: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

Teniendo descargado el ADT se descomprime en cualquier ruta de directorios pero es recomendado en la raíz de directorio principal del disco duro, en windows 7 seria (C:\adt-bundle-windows-x86_64).Figura de la ruta

Antes de ejecutar el eclipse debemos descargar el JDK2 (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 instrucción 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

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

3

Page 4: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

utilizaremos archivos “.jar” y “.dll” adicionales de los cuales también tendríamos 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 versión de JDK instalada, esto es útil cuando se tienen varias versiones de JDK instaladas y se quiere que eclipse trabaje con una específica. En caso de requerir configuración del PATH en Windows 7 diríjase al Apartado número 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 ejecución. Figura ruta eclipse.

4

Page 5: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

El entorno desplegado por primero vez se vería como esto

La configuración del JRE (Java Runtime Environment) con el cual trabajara eclipse se realizó en el Apartado número 2.

Instalar el plugin para crear la interfaz gráfica, el que seleccionamos se llama WindowsBuilder3 para efectos de simplificar la comprensión 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 número 5.

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

5

Page 6: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

Se construye la interfaz gráfica en eclipse, que tenga dos botones los cuales son los que prenderán 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”

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.

6

Page 7: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

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

Page 8: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad 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”

8

Page 9: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

En este momento selecciona la pestaña inferior “Desing” y luego escogemos “Absolute layout” y lo ubicamos encima del marco tornándose 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 pestaña “Desing” es porque el archivo está abierto con el “Java Editor” y es necesario utilizar el “WindowsBuilder Editor” diríjase al Apartado 8.

9

Page 10: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad 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 pestaña inferior “Source” nos presenta la vista de código el cual explicaremos a continuación.

10

Page 11: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

Se creara una conexión serial entre la placa Arduino y programa en java, entonces tendremos que descargar las librerías RXTX para que se 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 conexión serial, haciendo “doble clic” encima del “paquete_on_off” luego >New>>Class.

Se le coloca un nombre al archivo, escogimos serial_on_off.

11

Page 12: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

El sketch de la práctica se encuentra en la carpeta de códigos del libro con el nombre de “serial_pc_java”.

Los archivos .java de la práctica se encuentra en la carpeta de códigos del libro con el nombre de “paquete_on_off”.

Código Java de la práctica Nos dirigimos a la carpeta de prácticas del libro de ruta (\Libro Arduino\Práctica sección

4.1 - Arduino + pc + luz \paquete_on_off\) se copia el código 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 código del archivo que proporciona la comunicación serial, el cual fue tomado y modificado de la página (Arduino and Java4) se explicara las partes más significativas del código donde deben haber cambios en la ejecución de las aplicaciones para facilitar la comprensión y para más detalles todo el código esta comentado.

El siguiente fragmento de código crea un vector de los puertos seriales de nuestro PC, cuando conectamos la placa Arduino. Nota: Se debe colocar el número 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 código.

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

12

Page 13: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

Este método lo llamaremos desde la clase “marco_on_off” para enviar datos a la placa

Arduino.

Adicionamos las líneas entre “barra a la derecha” de color verde la primera crea el objeto de la clase que envía los datos por puerto serial, y el segundo llama al evento de la clase serial que establece la conexión

13

Page 14: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad 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 pestaña “Desing” y se hace “doble clic” encima del botón “On_Led” y “Off_Led” generando el código de los botones, desde los cuales llamaremos al método “enviarDatos()”.

En “barra a la derecha” llama al método enviar datos por el puerto serial.

14

Page 15: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

Código Arduino de la práctica Nos dirigimos a la carpeta de prácticas del libro de ruta (\Libro Arduino\Práctica sección

4.1 - Arduino + pc + luz\) se abre el sketch “serial_pc_java.ino” con el entorno Arduino. La función “Setup” del sketch va codificada de la siguiente manera

La función “Loop” del sketch va codificada de la siguiente manera

15

Page 16: Práctica 3. Taller Interacción de Arduino Con PCs

Grupo de Ingeniería TelemáticaUniversidad del Cauca

Practica N° 8 | Desarrollo de aplicaciones para plataformas ubicuas

La compilación y verificación en el IDE Arduino se realiza de acuerdo a la práctica preliminar del Capítulo 1.

Cuestionario1.

Comentarios/Realimentación

Documentación sobre Arduino

16