Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

23
Exportar datos de sensores desde Arduino a Excel ! enero 15, 2014 (http://panamahitek.com/exportar-datos-de-sensores-desde-arduino-a-excel/) " Antony García González (http://panamahitek.com/author/antony-garcia-gonzalezgmail-com/) # Proyectos con Arduino (http://panamahitek.com/category/arduino/proyectos-con-arduino-arduino/), Tutoriales Arduino+Java (http://panamahitek.com/category/arduinojava/tutoriales-arduinojava/) A veces es necesario cuando realizamos proyectos con Arduino y sensores, enviar la información obtenida a algún otro software para su análisis y utilización. Aprende a exportar datos de sensores desde Arduino a Excel, por medio de una interfaz en Java. Se utilizará las librerías Arduino para Java y la librería POI para generar los archivos de Excel.

description

Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Transcript of Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Page 1: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Exportar datos de sensores desde

Arduino a Excel

! enero 15, 2014 (http://panamahitek.com/exportar-datos-de-sensores-desde-arduino-a-excel/) " Antony

García González (http://panamahitek.com/author/antony-garcia-gonzalezgmail-com/) # Proyectos con

Arduino (http://panamahitek.com/category/arduino/proyectos-con-arduino-arduino/), Tutoriales Arduino+Java

(http://panamahitek.com/category/arduinojava/tutoriales-arduinojava/)

A veces es necesario cuando realizamos proyectos conArduino y sensores, enviar la información obtenida a algúnotro software para su análisis y utilización. Aprende aexportar datos de sensores desde Arduino a Excel, pormedio de una interfaz en Java. Se utilizará las libreríasArduino para Java y la librería POI para generar los archivosde Excel.

Page 2: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Para exportar datos de sensores desde Arduino a Excel yo recomiendo

utilizar Java. Aquellos que frecuentan este blog saben acerca de mi

librería Arduino para Java.

http://panamahitek.com/libreria-arduino-para-java/ (/libreria-arduino-para-

java/)

Normalmente cuanto escribo un post acerca dealgún proyecto en la línea

Arduino/Java, empiezo por Java, pero esta vez voy a iniciar con Arduino.

Se va a utilizar para esta experiencia el sensor de humedad/temperatura

DHT11 (/dht11-sensor-de-humedadtemperatura-para-arduino/), del cual

ya he escrito lo suficiente en mis anteriores aportes.

El código a utilizar en Arduino es el siguiente:

123456789101112131415161718192021222324252627282930

**************************************************** #include "DHT.h" //cargamos la librería DHT#define DHTPIN 2 //Seleccionamos el pin en el que se //conectará el sensor#define DHTTYPE DHT11 //Se selecciona el DHT11 (hay //otros DHT)DHT dht(DHTPIN, DHTTYPE); //Se inicia una variable que será usada por Arduino para comunicarse con el sensorboolean Start=false;int mensaje=0;void setup() { Serial.begin(9600); //Se inicia la comunicación serial dht.begin(); //Se inicia el sensor}void loop() { if (Serial.available()>0){ mensaje =Serial.read(); if (mensaje=='1'){ Start=true; } else { Start=false; } } if (Start==true){ float h = dht.readHumidity(); //Se lee la humedad float t = dht.readTemperature(); //Se lee la temperatura //Se imprimen las variables Serial.println(h); delay(10); //Este delay nos servirá para la lectura de datos en Java

Page 3: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Es un código sencillo. Se lee la humedad y la temperatura y se envían por

medio del puerto serie. Es importante utilizar Serial.println() y un pequeño

delay de 10 milisegundos. A la hora de leer los datos Java a veces se

confunde. El método que utilizo yo para enviarme series de datos de

Arduino a Java requiere de una secuencia, y ese pequeño delay es el que

hace que todo me funcione correctamente. A continuación se muestra a

que me refiero. Le he colocado una “lave”, una variable del tipo boolean

que iniciará o detendrá la toma de datos.

Vamos a Netbeans y creamos un proyecto, colocamos un jTable y 2

botones, uno para iniciar/detener la toma de datos y el otro para exportar

a Excel.

(http://panamahitek.com/wp-content/uploads/2014/01/Arduino-a-

Excel.png)

3132333435

Serial.println(t); delay(2000); //Se espera 2 segundos para seguir leyendo //datos }}****************************************************

Page 4: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Ahora se necesita implementar la librería Arduino para Java (/libreria-

arduino-para-java-version-2-0-1/). La librería RXTX

(http://panamahitek.com/requisitos-para-utilizar-arduino-con-java/) será

necesaria en esta ocasión.

Se debe utilizar la conexión RXTX debido a que se transmitirán y se

recibirán datos.

(http://panamahitek.com/wp-content/uploads/2014/01/Arduino-a-Excel1.png)

Se debe tomar en cuenta que el puerto COM utilizado varía de computadora a

computadora. En mi caso es el 10, en el de ustedes puede ser diferente. Al

declarar el objeto “evento” aparecerá una opción a la izquierda de la línea que

indicará que se deben importar todos los métodos abstractos. Al hacer clic en

dicha opción, se agregará el método SerialEvent.

Ahora hay que establecer cómo se van a recibir los datos. En Arduino

primero se envía la Humedad y luego la Temperatura. Se debe crear una

variable, a la cual llamará Slot. Dependiendo del valor de Slot, se ejecutará

determinada acción.

Page 5: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

(http://panamahitek.com/wp-content/uploads/2014/01/Arduino-a-

Excel6.png)

Analicemos lo que sucede aquí. La variable Slot, inicialmente tiene valor 1.

Si hay un mensaje disponible, es decir, si se ha invocado el método

Serial.println en Arduino, Java reconocerá que debe leer el mensaje. Se le

asigna a la variable “Humedad” y se aumenta el valor de Slot hasta 2. El

próximo mensaje que se reciba, se le asignará el valor a la Temperatura y

el valor de Slot volverá a ser 1 y así sucesivamente.

El SerialEvent se ejecuta hasta que se lee el valor, por lo que cualquier

instrucción que se coloque después del PrintMessage será despreciada.

Lo que voy a hacer es lo siguiente: crearé un método que sea el que

introduce en el jTable la humedad y la temperatura “al leer la humedad”.

Pero esto debe suceder luego de la segunda lectura, así que se declara

una variable llamada Lecturas que al ser mayor que 1, permita que se

desencadene el jTableUpdate.

Page 6: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

(http://panamahitek.com/wp-content/uploads/2014/01/Arduino-a-

Excel7.png)

De esta forma, al leerse el dato de temperatura, se disparará el método

jTableUpdate. Agregamos las instrucciones para agregar los datos a la

tabla.

Para cada ejecución del jTableUpdate, se debe agregar una fila al jTable.

Esto ya lo expliqué en uno de mis anteriores aportes

(http://panamahitek.com/agregar-filas-a-un-jtable-en-java/).

Se declara el modelo y en el jTableUpdate se agrega la fila, a la vez que se

insertan los valores en las celdas. Hay que insertar el tiempo, por lo que es

necesario invocar una librería en Java. Se trata de Calendar, que nos

permite declarar un objeto al que yo he llamado Calendario y obtener

hora, minutos y segundos para agregarlos a la tabla.

Page 7: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

(http://panamahitek.com/wp-content/uploads/2014/01/Arduino-a-

Excel10.png)

Ahora hay que programar los botones. Primero el botón de iniciar la toma de datos.

Se crea otra llave, una variable del tipo boolean para condicionar el

comportamiento del botón. Si es falso, se envía un “1” para iniciar la toma

de datos. De lo contrario se envía un “0” para detener la toma de datos.

(http://panamahitek.com/wp-content/uploads/2014/01/Sin-título-3.png)

Hasta aquí, el proyecto es funcional. Ya se puede apreciar lo que sucede

cuando se presiona “Iniciar Toma de Datos”.

Page 8: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

(http://panamahitek.com/wp-content/uploads/2014/01/Arduino-a-

Excel11.png)

Ahora estamos listos para pasar a Excel.

Uso de la Librería POI

La librería POI (que está disponible en este enlace

(http://panamahitek.com/wp-content/uploads/2014/01/poi-bin-3.9-

20121203.rar)). Ha sido diseñada especialmente para exportar

documentos a Excel. Ahora voy a explicar como funciona.

Lo primero que le vamos a agregar al botón “Exportar a Excel” es un

jFileChooser que nos entregue la dirección en la cual queremos guardar el

fichero.

Page 9: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

(http://panamahitek.com/wp-content/uploads/2014/01/Arduino-a-

Excel12.png)

Ahora vamos a crear un método donde se cree el fichero.

Hay que crear algunos objetos: un libro, una hoja, una fila y una celda,

todos elementos de Excel.

(http://panamahitek.com/wp-content/uploads/2014/01/Sin-título-6.png)

Ahora si se quiere crear una fila, se debe modificar el parámetro del

método createRow(int row). Si se quiere modificar la columna entonces

se debe cambiar la celda en el parámetro de createCell(int celda).

Lo primero que haré es colocar un título. Luego empezaré a imprimir

todos los datos del jTable en la hoja de Excel utilizando un ciclo for. Por

último, generaré un fichero que se guardará en la ruta que escogí.

Page 10: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

(http://panamahitek.com/wp-content/uploads/2014/01/Sin-título-4.png)

En el código del botón de exportar a Excel he colocado lo siguiente:

(http://panamahitek.com/wp-content/uploads/2014/01/Arduino-a-

Excel14.png)

Esto es todo. Se puede hacer la prueba y se obtendrá lo siguiente:

Page 11: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

(http://panamahitek.com/wp-content/uploads/2014/01/Sin-título-

41.png)

Los archivos que forman este proyecto los puedes descargar desde este

enlace (http://panamahitek.com/wp-

content/uploads/2014/01/SensorsToExcel.rar).

Por último, el tutorial completo en video:

Page 12: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Espero que la información suministrada sea de su agrado y comprensión.

Artículos relacionados

(http://panamahitek.co

m/arduino-java-

enviando-mensajes-a-

pantalla-lcd-desde-

java-con-arduino/)

Arduino + Java:

Enviando mensajes a

pantalla LCD desde Java

con Arduino

(http://panamahitek.co

m/arduino-java-

enviando-mensajes-a-

pantalla-lcd-desde-

java-con-arduino/)

(http://panamahitek.co

m/libreria-arduino-para-

java-version-1-3-0/)

Libreria Arduino para

Java, versión 1.3.0

(http://panamahitek.co

m/libreria-arduino-para-

java-version-1-3-0/)

(http://panamahitek.co

m/libreria-arduino-para-

java-version-2-0-0/)

Librería Arduino para

Java, versión 2.0.0

(http://panamahitek.co

m/libreria-arduino-para-

java-version-2-0-0/)

Page 13: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Comments

31 comments

Arduino (http://panamahitek.com/tag/arduino/)

Arduino Excel. Exportar de Arduino a Excel (http://panamahitek.com/tag/arduino-excel-exportar-de-arduino-a-excel/)

Arduino y Java (http://panamahitek.com/tag/arduino-y-java/)

Exportar datos de sensores a excel (http://panamahitek.com/tag/exportar-datos-de-sensores-a-excel/)

Exportar de Java a Excel (http://panamahitek.com/tag/exportar-de-java-a-excel/)

Java (http://panamahitek.com/tag/java/)

Librería Arduino para Java (http://panamahitek.com/tag/libreria-arduino-para-java/)

Librería POI (http://panamahitek.com/tag/libreria-poi/) Netbeans (http://panamahitek.com/tag/netbeans/)

ANTONY GARCÍA GONZÁLEZANTONY GARCÍA GONZÁLEZ (HTTP://PANAMAHITEK.COM/AUTHOR/ANTONY- (HTTP://PANAMAHITEK.COM/AUTHOR/ANTONY-

GARCIA-GONZALEZGMAIL-COM/)GARCIA-GONZALEZGMAIL-COM/)

Nace el 30 de julio del año 1992 en Ciudad de Chitré, provincia de

Herrera, Panamá. Crece y recibe su educación primaria y pre media en

Guararé. Hacia el año 2008 inicia sus estudios de Bachillerato en Ciencias

con Énfasis en Informática en el Instituto Coronel Segundo De Villarreal

en la Villa de Los Santos. Se gradúa en el año 2010 e inicia sus estudios de

Licenciatura en Ingeniería Electromecánica en la Universidad Tecnológica

de Panamá (UTP), sede Azuero. En el 2013 inicia el proyecto Panama

Hitek. Actualmente es el director del equipo de autores, cursa el séptimo

semestre de su carrera y trabajar para la UTP como asistente de

investigación, para la Unidad de Eficiencia Energética

Page 14: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

$ Un documental sobre la Historia de Arduino (http://panamahitek.com/un-documental-sobre-la-historia-de-arduino/)

Java 3D: Programando en la tercera dimensión % (http://panamahitek.com/java-3d-programando-en-la-tercera-dimension/)

BUSCAR EN PANAMA HITEK

LICENCIA

Panama Hitek by Antony García G. and Kiara Navarro (http://www.panamahitek.com) is

licensed under a Creative Commons Reconocimiento-NoComercial 4.0 Internacional

License. (http://creativecommons.org/licenses/by-nc/4.0/)

CONTRIBUYE A NUESTRA CAUSA

Con tu contribución podremos comprar nuevos dispositivos para seguir publicando

nuestros conocimientos.

AUTORES

Antony García González (http://panamahitek.com/author/antony-garcia-gonzalezgmail-com/) (141)

Kiara Navarro (http://panamahitek.com/author/kiara-navarro/) (31)

José Villalaz (http://panamahitek.com/author/josevillalaz/) (6)

Ricardo Montenegro (http://panamahitek.com/author/ricardomontenegro/) (4)

Edwin De Leon (http://panamahitek.com/author/edwindeleon/) (4)

Félix Tomás González (http://panamahitek.com/author/felixgonzalez/) (2)

Buscar...

Page 15: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Javier Brathwaite (http://panamahitek.com/author/jbrathwaite/) (1)

VIDEOS

(https://www.youtube.com/watch?v=HgAxnYDVx90) (https://www.youtube.com/watch?v=kJ_L5bz7hM0) (https://www.youtube.com/watch?v=r0WSmKU3OH4)

(https://www.youtube.com/watch?v=oAwA5t3_diY) (https://www.youtube.com/watch?v=3NdWIDMqV80) (https://www.youtube.com/watch?v=7lO7dnVSGkQ)

(https://www.youtube.com/watch?v=XYtrVl8R0Wk) (https://www.youtube.com/watch?v=ZvcW0-DEeVQ) (https://www.youtube.com/watch?v=k0qEMOlN6KM)

Page 16: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

SÍGUENOS EN FACEBOOK

Búscanos en Facebook

Panama Hitek

A 1398 personas les gusta Panama Hitek.

Plug-in social de Facebook

Me gustaMe gusta

Panama Hitek18 h

Antony García G., de Panama Hitek estarárepresentando a la UniversidadTecnológica de Panamá y a Panamá en elpróximo Congreso Regional deInstrumentación Avanzada en Costa Rica.El tema a exponer "Sistema de Captura yAnálisis de Datos (SiCADA) para estudiosde rendimiento en unidades deacondicionamiento de aire".

PROYECTO FEDORA

(http://fedoraproject.org/es)

Page 17: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

► Excel► Excel to Java► Arduino Java

► Arduino Java► Arduino sensores► MS Excel 2010

► MS Excel 2010► Arduino tutorial► Arduino serial

Page 18: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek
Page 19: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek
Page 20: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek
Page 21: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

¡ ¡ V I S Í T A N O S ! !

Mantente en contacto a través de

nuestras redes sociales. Visítanos aquí

también.

&

Page 22: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

(https://www.youtube.co

m/channel/UCOrMOPkLx

jToXj0k1bziRew) '

(https://www.facebook.c

om/PanamaHitek) )

(https://twitter.com/Pana

maHitek) *

(https://github.com/Pana

maHitek) +

Page 23: Exportar Datos de Sensores Desde Arduino a Excel - Panama Hitek

Panamahitek © 2014 - Todos los Derechos Reservados.

(https://www.youtube.co

m/channel/UCOrMOPkLx

jToXj0k1bziRew) +

(http://panamahitek.com

/feed/)