P�gina principal

Grabador de datos gps XM37-1612 en SD.
Tracker Arduino


xsetaseta@gmail.com


En mis anteriores montajes hab�a utilizado el XM37-1612 para visualizar los datos del gps en un PC y en un LCD Nokia. Ahora en este montaje he realizado un grabador de datos de gps, almacenando los datos en una SD para su posterior tratamiento.
Tambi�n he realizado un programa en Gambas (VB de linux) para tratar los datos y convertirlos en un fichero con formato kml. Este formato kml se puede importar desde Google Maps y de esta forma visualizarlos en un mapa.


Prototipo en una placas board


Conexi�n de la SD al arduino.

Caja donde se encuentra metido todo el circuito.



El gps con la alimentaci�n

La caja utilizada es una caja estanca de electricidad, es barata y adem�s se pueden hacer agujeros facilmente.
La alimentaci�n del circuito se toma de un alimentador para m�viles, que suele proporcionar unos 2000mA.
Sabiendo que el circuito consume unos 55mA, tendremos una autonom�a de 36 horas.
El primer led parpadea hasta que pilla se�al de gps, luego se queda fijo.
El segundo led se encuentra apagado, cuando se pulsa el boton de grabar se enciende.
Si se vuelve a pulsar el boton, el led se apaga y se para la grabaci�n.


Programa en gambas para convertir a formato kml


Ruta importada de nuestro gps.


Otra ruta importada de nuestro gps.

En el programa arduino se toman todos los datos que proporciona el gps y se graban los datos en la SD con el siguiente formato:

4200.8979,N,00431.5688,W,799.8,133357,101115,0,1325
4200.8978,N,00431.5690,W,799.3,133358,101115,0,1326
4200.8977,N,00431.5694,W,799.1,133359,101115,0,1327

El gps nos proporciona la longitud y latitud en grados y minutos con decimales, pero el formato kml requiere grados con decimales, por lo que el programa en basic hace la conversi�n y coloca las cabeceras. Como el gps proporciona datos cada segundo, y los datos son de 52 bytes, cada minuto ocupa 3120 bytes, es una cantidad bastante elevada. Para reducir el numero de datos que se le proporcionan al Google Maps, se puede indicar el numero de segundos entre toma.

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<Folder>
<Folder>
<name><![CDATA[RUTA]]></name>
<Placemark>
<LineString><extrude>1</extrude><altitudeMode>clampToGround</altitudeMode>
<coordinates>
-4.5261567,+42.0149617,799
-4.5261933,+42.0151600,796
-4.5265000,+42.0152850,788
-4.5266867,+42.0152883,785
-4.5268100,+42.0152450,782
-4.5267600,+42.0151033,780
-4.5268350,+42.0148733,780
-4.5268250,+42.0149117,778
</coordinates>
</LineString>
</Placemark>
</Folder>
</Folder>
</Document>
</kml>

Formato kml, este formato se puede importar con Google Maps.

El programa de arduino se puede mejorar bastante, como introducir el numero de segundos entre tomas.
Tambi�n se puede trocear los ficheros para que no sean muy grandes.
En este programa me pas� de todo, desde alimentar mal durante unos segundos el gps, conectores que no hacen bien contacto, hasta borrarse parte de c�digo de arduino y tener que escribirlo de nuevo.
En la alimentaci�n invertida al gps creo que me cargue algo, pues ahora tarda algo mas en recibir se�al.
Mi intenci�n en un pr�ximo montaje, es que se incorpore la bater�a dentro de la propia caja del gps.

PROGRAMAS

Saludos.
Juan Galaz


Bibliograf�a:
http://www.gpsinformation.org/dale/nmea.htm
rards.html
gamgps.html