Contactar con TUTO2002

Página principal‎ > ‎2-Codigo‎ > ‎

2.64 FK/CD>Fusión

 

Como he comentado en Descripción el objetivo es:

 Para poder evaluar los distintos métodos de Fusión y los Coeficientes  a aplicar
Recoger las lecturas del Acelerómetro y Gyro, a intervalos regulares, lo más cortos posibles,
mientras la plataforma se mueve.

 Los programas utilizados (adjuntos) son:

 Para Arduino                       FusionAenvGyA2
Para el PC (Processing)    FusionPRecibeGyA 

 

FusionAenvGyA2

 
He empezado a utilizar algunas de las Funciones de la Librería TutoLib
 
Para sincronizar el envío con la recepción de datos, el PC envía  las siguientes ordenes:
ordenEmpezar = 69 ;    // ASCII - E,
ordenNoDepura = 78 ; // ASCII - N ,
ordenTerminar = 84  ;  // ASCII - T ,

La opción Depurar sirve,  cuando utilizamos el Monitor Serie de IDE, para comprobar los valores

 

Recordar la discrepancia en el tratamiento de los enteros:

Arduino – 2 bytes
Processing – 4 bytes (equivale a long de Arduino)

Por eso tenemos que convertir los int  en long antes de enviarlos:

misfunciones.envioSerieLong (long (datosAcele[0]-  valorMedioAcele[0]) );

 Al final he incluido un delay(7);
Para que el ciclo de lecturas sea aproximadamente de 10 milisegundos
(la mitad del ciclo inicialmente previsto para el Kuadricóptero)

 

 FusionPRecibeGyA

 

Este programa es muy similar al Config_PID_04

 

En este caso al Fichero de Salida le he puesto la extensión .xls
Para poder abrirlo y manejar los datos  con Excel .
Al abrir el fichero con Excel, el PC detecta que es un fichero de texto con tabuladores.
Solo hay que confirmar la opción que nos ofrece.
 
 
Como los Tiempos de Grabación a Disco son muy superiores a los de lectura de Arduino.
Para ahorrar tiempo solo grabo el Campo Delta Time una de cada 10 veces.

 

A pesar de esto, cuando se pulsa T (terminar)  normalmente quedan muchos datos en el Buffer de Entrada.
He hecho que el PC siga grabando hasta terminar de grabar todos.

 

No os olvidéis que al Terminar tenemos que Cerrar el Fichero

 

    ficheroSalida.flush(); // Termina de Escribir los datos restantes

    ficheroSalida.close(); // Cierra el fichero

 

 

Las ordenes se introducen por Teclado. Es fundamental NO OLVIDAR

Que la Ventana del Menú este Activada (pulsar el ratón sobre ella)

 

Enlaces:

Descrición

Č
ċ
ď
FusionPRecibeGyA.pde
(7k)
Marcos Echeita,
24/9/2010 9:36
ċ
ď
Fusion_AenviaGyA2.pde
(4k)
Marcos Echeita,
24/9/2010 9:36
Comments