uso del programa processing para graficar datos capturados con un microprocesador arduino

6
 USO DEL PROGRAMA PROCESSING PARA GRAFICAR DATOS CAPTURADOS CON UN MICROPROCESADOR ARDUINO Alberto E. Villalobos Chaves aewolra!io"#!ail.$o! La $a%t&ra 'e i(or!a$i)( a(al)#i$a se ha a$ilita'o * abarata'o !&$ho $o( la a%ari$i)( 'e los !i$ro%ro$esa'ores Ar'&i(o +&e (os %er!ite( %or e,e!%lo leer e( tie!%o real los valores 'e volta,e #e(era'os %or &(a oto$el'a o el $a!bio 'e resiste ($ia el-$tri$a %ro '&$i'o %or &( se(so r 'e te!%erat&ra %or  %o(er sol o 'os e,e! %los. U(a 'e las ve(ta,as 'el Ar'&i(o es +&e las $o(e/io(es el-$tri$as (o se ha$e(  %or sol'a'&ra si(o %o r si!%le i(serta'o 'e los $o(e$ tores 'es'e los ele!e( tos ele$tr)(i $os e/ter(os 0se(sores resite($ia s $a%a$itores et$1 hasta los %&ertos 'e la %la$a Ar'&i(o lo +&e %er!ite ar!ar * 'esar!ar $o( a$ili'a' %rototi%os 'el $ir$&ito +&e se +&iera 'esarrollar. Otra 'e las $ara$ ter 2st i$a s es +&e se %&e'e %ro #ra !a r el %ro $e sa' or 'e l Ar'&i(o %ara +&e $a%t&re * %ro$ese la i(or!a$i)( 'e la or!a e( +&e !3s (os $o(ve(#a %ara (&estros %ro%)sitos e i($l&so i(tera$t&ar $o( esta a trav-s 'e &(a I(terase Gr3i$a 'e Us&ario 0GUI1. Es %r e$isa!e( te 'e &( a GUI +& e he 'ise4a'o %a ra #r a i$ar los 'a tos $a%t&ra'os %or el Ar'&i(o * +&e he lla!a'o 5 DatArduino 1.05 'e lo +&e trata esta e(tra'a a !i blo#. Para e,e!%lii$ar el &so 'e DatArduino 1.0 $a%t&rare!o s * %ro$esare!os los 'atos 'e volta,e rela$io(a'os $o( &( se(sor 'e te!%erat&ra 'e &( ra'ia'or a&to!otri6 0Fi#&ra 71. Fi#&ra 78 Se(sor 'e te!%erat&ra 'e &( ra'ia'or a&to!otri6

Upload: alberto-villalobos

Post on 05-Oct-2015

13 views

Category:

Documents


0 download

DESCRIPTION

Interfaz Gráfica de Usuario (GUI) programada en Processing y G4P para graficar, manipular y salvar datos capturados desde un microprocesador Arduino. La GUI diseñada se llama DatArduino 1.0 y para ejemplicar su uso se capturará la señal generada por un sensor de temperatura

TRANSCRIPT

USO DEL PROGRAMA PROCESSING PARA GRAFICAR DATOS CAPTURADOS CON UN MICROPROCESADOR ARDUINO

USO DEL PROGRAMA PROCESSING PARA GRAFICAR DATOS CAPTURADOS CON UN MICROPROCESADOR ARDUINOAlberto E. Villalobos Chaves

[email protected]

La captura de informacin analgica se ha facilitado y abaratado mucho con la aparicin de los microprocesadoresArduinoque nos permiten por ejemplo leer en tiempo real los valores de voltaje generados por una fotocelda o el cambio de resistencia elctrica producido por un sensor de temperatura, por poner solo dos ejemplos.

Una de las ventajas del Arduino es que las conexiones elctricas no se hacen por soldadura sino por simple insertado de los conectores desde los elementos electrnicos externos (sensores, resitencias, capacitores, etc) hasta los puertos de la placa Arduino lo que permite armar y desarmar con facilidad prototipos del circuito que se quiera desarrollar.

Otra de las caractersticas es que se puede programar el procesador del Arduino para que capture y procese la informacin de la forma en que ms nos convenga para nuestros propsitos e incluso interactuar con esta a travs de una Interfase Grfica de Usuario (GUI).

Es precisamente de una GUI que he diseado para graficar los datos capturados por el Arduino y que he llamado "DatArduino 1.0" de lo que trata esta entrada a mi blog.

Para ejemplificar el uso deDatArduino 1.0capturaremos y procesaremos los datos de voltaje relacionados con un sensor detemperatura de un radiador automotriz (Figura 1).

Figura 1: Sensor de temperatura de un radiador automotriz

El circuito utilizado en este ejemplo, que se esquematiza en la Figura 2 y se muestra fsicamente en la Figura 3, se basa en la propiedad del sensor de temperatura de cambiar su resistencia elctrica cuando vara la temperatura.

Figura 2: Esquema del circuito divisor de corriente, as como las conexiones al sensor de temperatura y al Arduino

Para poder aprovechar este fenmeno utilizamos un circuito divisor de voltaje en el que el voltaje suministrado por el puerto de poder del Arduino (5V) es dividido por una resistencia entre el sensor de temperatura y el puerto analgico del Arduino (A0).

A mayor temperatura a la que es sometido el sensor, menor su resistencia lo que afecta la razn de divisin de voltaje y por tanto la seal de voltaje que es capturada por el puerto analgico del Arduino.

Figura 3: Fotografa del sistema Sensor-Circuito Divisor de Voltaje-Arduino

Para instruir al Arduino los parmetros de captura y transmisin de los datos a la computadora se escribi un pequeo script ("Abrir Puerto Analgico") utilizando la versin 1.0.3 delIDE de Arduino.

La interfaz GUI diseada para graficar, interaccionar y salvar la informacin capturada (DatArduino 1.0) se program utilizando "Processing 2.0b8" y lalibrera G4Pde creacin de GUI para Processing. (Figura 4).

Figura 4: Interfaz Grfica de UsuarioDatArduino 1.0utilizada para graficar, manipular y salvar la informacin capturada por un procesador Arduino

Comandos y Salidas del Programa:

1-

El botn "Iniciar" le indica al programa buscar los puertos seriales disponibles en la computadora y seleccionar uno que est libre para iniciar la graficacin de la informacin digital transmitida por el Arduino. El campo de texto "Nombre del Archivo" es para escribir el nombre que le queremos dar al archivo capturado, mismo que se guardar en formato txt, dat y csv en la carpeta donde est el archivo pde DatArduino_1_0.pde, si se corri con Processing o el archivoDatArduino_1_0.exe , si se utiliz la versin exportada a windows que esta en la carpeta "application.windows32". Si no se selecciona nombre el programa por default asignar el nombre "Nemo".

El botn "Capturar" inicia la captura reseteando el tiempo a cero.

El botn "Salvar" salva los datos capturados con el nombre seleccionado en los formatos txt, dat y csv segn se indic anteriormente.

El botn "Salir" termina el programa.

2-

El campo "Tiempo Final de Captura (min):" es el tiempo al que el programa salvar automticamente los datos con el nombre de archivo seleccionado. Por default est seleccionado 30 minutos pero en cualquier momento que se desee salvar, se puede usar el botn "Salvar" para guardar la captura. Se indica tambin en este sector del GUI el voltaje medido en milivoltios, el nmero de mediciones o datos capturados y el tiempo transcurrido desde que se acces por primera vez al puerto serial o desde que se oprimi el botn "Capturar", as como la razn de captura en datos por segundo.

3-

La perilla de "Escala" amplifica la seal graficada sin alterar el valor capturado que ser el que se salve. La perilla "Zero" cambia la posicin vertical de la grfica sin alterar el valor capturado.

4-

El control de deslizamiento "Exp.Horizontal" expande la escala en sentido horizontal sin alterar el valor capturado. El control de deslizamiento "Despla.Horizontal" desplaza horizontalmente el grfico sin alterar el valor capturado.

El botn "Reset" regresa los valores de los controles de deslizamiento a punto inicial.

En el Video 1 se observa la captura de los datos que genera el sensor de temperatura al tocarlo con la mano y las manipulaciones a la forma de la grfica al utilizar los comandos mostrados anteriormente.

Video 1: Graficacin de los datos capturados con un microprocesador Arduino de un sensor de temperatura automotrz en el que se observa el uso de los comandos deDatArduino 1.0La configuracin Arduino - GUI expuesta es lo suficientemente funcional como para permitir realizar proyectos de carcter cientfico en los que se requiera registrar datos generados por sensores de los muchos que ahora hay disponibles para los procesadores Arduino, adems es lo suficientemente verstil como para programarle nuevas funcionalidades como podra ser el filtrado de los datos a fin de eliminar ruido, o el anlisis de los datos por procedimientos matemticos.

Referencias1. http://arduino.cc/en/pmwiki.php?n=Tutorial/ToComputer2. http://arduino.cc/en/pmwiki.php?n=Tutorial/Graph3. http://espaciodecesar.com/2013/04/28/cinco-termmetros-a-la-vez-con-arduino/4. http://www.crcibernetica.com/sensors/Descarga del cdigo y la aplicacin (Dropbox):

1. Abrir Puerto Analgico2. DatArduino 1.0