Adquisición de Datos:

Data Logger

Icono data logger de LEGO Mindstorms NXT


down-amarillo-flecha

¿PARA QUÉ SIRVE?


Este icono sí viene por defecto en el NXT-G, al menos en la versión 2.0. Y es un icono que gasto con relativa frecuencia.


Este icono sirve para almacenar los datos de los sensores (o cualquier otro elemento del programa) en un archivo, que posteriormente puede exportarse a una hoja de cálculo tipo OpenOffice o Excel.


O sea, podemos dejar al NXT tomando datos que luego recuperamos para poderlos tratar o analizar. O podemos leer los datos que el NXT ha tomado de algún proceso muy rápido que no hemos podido ver bien por pantalla.


Es especialmente útil para proyectos educativos. Tienes un ejemplo de posible aplicación en la construcción casera de un Sensor de Tempertura.


Otro ejemplo posible sería el de guardar para su análisis posterior los datos del sensor de luz ambiente durante 1 segundo. Esto te puede ayudar a programar adecuadamente tu robot.


PROGRAMACION


Pondremos 2 programaciones diferentes: para la adquisición de datos en un archivo tipo Excel y para la adquisición de datos para que los use posteriormente el NXT.


PARA LA ADQUISICION DE DATOS A UN ARCHIVO


Los pasos serán los siguientes:


  • Adquirir los datos con el NXT.

  • Descargarlos a nuestro PC.

  • Exportarlos a una hoja de cálculo.


  • Para la adquisición de datos, usaremos un sensor de Sensor de luz ambiente, pero (obviamente) puedes usar el sensor de luz estándar de LEGO.


    El montaje se limita a esto:


    Foto un LDR para LEGO Mindstorm NXT c1547

    Recuerda que para leer los valores que va obteniendo el sensor LDR hay que usar el icono "Sensor/Touch Sensor". La estructura del programa es siempre la misma y consiste en seguir estrictamente 3 pasos: 1. Borrar el archivo; 2. Almacenar los valores en el archivo borrado (que será creado de nuevo) y 3. Cerrar el archivo.


    Lo vemos por partes. Primero el programa, en el que aparece la secuencia "1. Delete 2. Write y 3. Close.


    Programa data logger para LEGO Mindstorms NXT

    Y ahora la configuración de los iconos:


    Configurar data logger para LEGO Mindstorms NXT

    Otro elemento imprescindible es que los datos almacenados sean compatibles con la configuración del icono Write, es decir, si vas a almacenar datos de texto o numéricos. En nuestro caso son numéricos (ver círculo en el dibujo).


    Este sencillo programa almacenará en el archivo "My File" datos del sensor exactamente cada segundo, hasta llegar a 20 s. Complicado hacer esta tarea sin este icono ¿no?.


    SUBIR LOS DATOS DESDE NXT AL PC


    Subir los datos desde el NXT al PC

    Lo tienes todo en la imagen. Lo primero, la flecha negra, NXT Window. Luego la pestaña de arriba "Memory" (círculo rojo). Pincha en "Other" y ahí te aparecerá el archivo "My File". Dale a Upload, seleccionas el destino y por último cierras la ventana.


    Abres el archivo que acabas de guardar en tu PC. Es un archivo de texto "MyFile.txt"


    Archivo de datos del data logger del NXT

    Seleccionas todo su contenido y lo pegas en una hoja de cálculo. Si has hecho lo mismo que en el programa anterior, tendrás unos 20 o 21 datos.


    ADQUIRIR DATOS CON EL NXT PARA SU USO CON EL PROPIO NXT


    Puede que queramos usar los datos almacenados no para subirlos a un archivo sino para que el propio NXT los use para alguna cosa. Por ejemplo, adquirimos 1 dato de la luz ambiental cada segundo durante 20 segundos. Esos datos se guardan en el NXT para usarlos a continuación. Los recuperamos (Read) y hacemos que suene un tono, más agudo cuanta más luz le haya llegado al sensor.


    Fijate bien que hay 2 iconos de "Close" y que ambos están fuera del Loop. Es decir, los datos se almacenan de forma consecutiva y solo se cierra el archivo una vez al salir del Loop. De la misma forma, los datos se leen de forma consecutiva (2ª Loop) y luego se cierra.


    No olvides pues que antes de comenzar a leer los datos almacenados en el NXT, hay que evitar que el archivo esté abierto.


    Archivo de datos del data logger del NXT

    El segundo "Loop" dura según el tiempo que dure la ejecución de la nota. En este caso, la nota dura 0,2s y el Loop, 5s aunque lo más sencillo es poner 10s y para que suene completa la "melodía".



    SUBIR DATOS DESDE PC AL NXT


    Esta es la operación inversa a la que hemos hecho antes. Nos puede interesar en ocasiones crear nuestra propia lista de datos y luego subirla al NXT. Luego podremos leer esa lista con el DT. Para ello, crearemos un archivo MyFile.txt (o cualquier otro nombre .txt) en el PC y lo subiremos al NXT.


    Para crear el archivo, te pones en el escritorio, pulsas el botón derecho/Nuevo/Documento de texto. Y ahí escribes número a número la serie que quieras.


    NOTA. La estructura del archivo .txt debe ser estricta: un número y un Enter. Por tanto el archivo acaba con un Enter. Cualquier otra opción, 2 enter al final del archivo por ejemplo, hará que no se lea bien y de error.


    Una vez creado lo alojaremos en "Others" tal como se explicó más arriba y, esta vez, usaremos el "Download" para pasar el archivo desde el PC al NXT.


    Archivo de datos del data logger del NXT

    Ahora, para acceder de nuevo a estos datos que (teóricamente) ya están en el NXT hay que usar de nuevo el DT pero con una precaución: si empiezas el programa con un "File Access/Delete" te cargarás el archivo que acabas de subir al NXT.


    El programa para leer los datos almacenados comenzará por un "File Access/Close", que es una forma de decir "ve a leer al inicio". Cada vez que pulses el botón naranja del NXT, se mostrará un nuevo número de la lista. Por cierto, el programa empieza y acaba con el mismo icono y configurada de la misma forma.


    Archivo de datos del data logger del NXT


    .