viernes, 20 de diciembre de 2013

Comunicacíón de Arduino con hoja de cálculo de Openoffice / Libreoffice

Vea también (Versión mejorada): http://autron.blogspot.com.es/2013/12/generador-de-tabla-html-por-puerto.html 

Me imagino que muchos usuarios de Openoffice y Libreoffice habrán tenido el mismo problema que tuve yo al intentar conectar el Arduino con la hoja de cálculo "Excel". Busque en muchos foros y casi todos los blogs iban encarados para Microsof. Así que os presento mi alternativa.

He conseguido, conectar el Arduino Mega 2560 con "tiempo real" (hay un pequeño retraso que no es importante) a la hoja de cálculo, esto es interesante porque permite ver las gráficas según se van enviando valores y lo más importante es muy sencillo de crear graficos, hacer estadísticas...

                           En este caso el Arduino está enviando dos datos  X y Y=sin(X).


Para conseguir esto, me he descargado el realterm este captura todo lo recibido en el puerto y crea un documento TXT o HTML.

La configuración es sencilla:
 1-Se cambia la velocidad por la que trabaja el Arduino, en mi caso 9600 Baud
 2-Los mismo para el puerto


3-Por último en la pestaña capture, en la ventana File cambiamos el txt por html, esto es importante, ya que nos interesa crear un fichero html

El ralterm ya esta configurado.

Como he dicho, nos interesa crear un documento html, este tendrá una tabla con los datos que queremos enviar. Buscando por Internet, he conseguido un ejemplo sencillo del código html de una tabla


Ahora es el turno del Arduino, este debe enviar por el puerto todo el código en html, imitando el código de la imagen anterior.

La primera parte, el Setup, envió parte del código hmtl que no se volverá a repetir. Esto incluye el nombre de la tabla y su creación como tal.


 La segunda parte, el loop, es donde envió las celdas con los datos de la tabla

La tercera parte es un poco más complicada, en mi caso al enviar valores del sin(X) hay decimales y negativos, el Arduino utiliza su formato de número (0.00 con punto) y el Open/Libreoffice otro (0,00 con coma). Esta función corrige esto, si no hay decimales esta función es innecesaria.



Ahora si ejecutamos, y le damos Star al Realterm crea el documento html.


Por último hay que preparar el Open/Libreoffice

Vamos a vincular datos con externos.


 Se abrirá un ventana, insertamos la tabla, le damos a actualizar con 1 segundo.
Cada segundo se actualizara los datos de las celdas.

Con estos pasos ya, esta todo! Ahora con los datos que se reciben, ya se puede graficar.


Aquí,  sólo he representado funciones, pero con anolog.write se puede mostrar temperatura, voltaje, posición...

3 comentarios:

  1. Muchas Muchas gracias, me ha servido un montón para el prototipo que estoy desarrollando, ya tenia los datos y los enviaba solo me faltaba la forma de representarlos de manera rápida.
    Muchas gracias

    ResponderEliminar
  2. Pues una persona más que se apunta en agradecerte este tipo de guía. Un paso más a un proyecto cada vez más desarrollado. Muchas gracias.

    ResponderEliminar
  3. Gracias. Para apuntar que el código está en JPG no en texto.

    ResponderEliminar