Sunteți pe pagina 1din 5

Arduino + Java: Tabular y exportar datos a Excel

Desde la versión 3.0.0, la librería PanamaHitek_Arduino cuenta con una clase especial para facilitar la tabulación y
exportación de datos a una hoja de cálculo de Excel. Esta clase, llamada PanamaHitek_DataBuffer, permite
almacenar datos, crear una interfaz gráfica con un JTable que tabula la información recibida y permite exportar los
datos almacenados a Excel.

Creación de proyecto e importación de librería en Netbeans

Luego de agregar las dependencias, al hacer clic derecho sobre el proyecto y seleccionar «Clean and Build» se
descargaron todas las dependencias de manera automática. También haciendo clic en Dependencies/Download
Declared Dependencies se descarga todo lo necesario para el uso de la librería.
Creación de la interfaz gráfica

La interfaz gráfica que utilizará para este ejemplo será muy sencilla. Se trata de un JFrame, con un JPanel y un botón,
tal como se muestra en la siguiente imagen.

a clase PanamaHitek_DataBuffer utiliza un JPanel para visualizar la tabla en la cual se van a recibir los datos.

Código en Arduino

Para poder probar que nuestra aplicación funciona, será necesario escribir un pequeño código en Arduino y estar
seguros de qué es lo que hace este código. En base a esto es que en Java se configura el comportamiento de la
aplicación.

Lo que hace este código es, básicamente, generar datos de temperatura de manera aleatoria. Al número generado se
le agregan 50 unidades para producir un dato de humedad. Luego los dos números se imprimen en el monitor serie
de dos en dos.

Es muy importante tomar en cuenta que los datos deben ser impresos utilizando Serial.println y en el mismo orden
en el que se espera recibirlos en Java.

Programación en Java

La programación en Java requiere de la declaración de instancias de 4 clases:

 PanamaHitek_Arduino, para la gestión de la conexión con Arduino y para recibir los datos en Java

 PanamaHitek_MultiMessage, para discriminar los datos recibidos cuando se trata de múltiples envíos de
manera simultánea.

 PanamaHitek_DataBuffer, para almacenar los datos recibidos en la memoria dinámica. Esta clase también
permite renderizar un JTable en el que se insertan los datos de manera dinámica. También es la clase
encargada de exportar los datos a Excel a voluntad del usuario.
 SerialPortEventListener, para gestionar los eventos de recepción de datos y la inserción de la información en
el DataBuffer.

Toda la programación que se necesita para darle funcionalidad a esta interfaz estará ubicada en el constructor de la
clase, es decir, en void JFrameWindow().
Es un código relativamente sencillo, en el que se inicia una conexión con el Arduino a través del puerto COM15. El
buffer tendrá 3 columnas (tiempo, temperatura y humedad), pero se le podrán agregar más si se desea.

Con la instrucción buffer.insertToPanel(jPanel1) nos aseguramos que los datos del buffer sean mostrados en una
tabla en el jPanel1, tal como se muestra en la siguiente imagen.

Los datos serán insertados en la tabla cada vez que se utilice el método buffer.printRow(), mientras que para
insertar la información en cada columna se debe utilizará buffer.addValue(2, 15) (esto permitirá insertar el valor 15
en la columna 2. Debemos recordar que las columnas se enumeran a partir de 0, por lo que la columna 2 será la
tercera).

Para exportar los datos almacenados en el DataBuffer a Excel, se utiliza la instrucción buffer.exportExcelFile(), la cual
abrirá una ventana que permitirá escoger la ruta en la que se desea almacenar el fichero. Esta instrucción debe
colocarse en el botón de exportar.
ESTUDIANTE:
ALVARO HUAMPO NAVARRO

DOCENTE:

ASIGNATURA:
SDL-200
FECHA: 13-09-2019
LA PAZ - BOLIVIA

S-ar putea să vă placă și