Mostrando entradas con la etiqueta Tracker. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tracker. Mostrar todas las entradas

miércoles, 18 de noviembre de 2015

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

Página principal


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


xsetaseta@gmail.com

Continuando con el montaje Grabador de datos gps , ahora utilizo el Arduino Pro Micro para hacer todo el circuito mas compacto. Además alimento todo el circuito con una batería recargable de 3,7V. De esta forma se puede meter todo en una caja eléctrica de plástico estanca.
Debemos tener cuidado ahora en la alimentación, las SD funcionan con voltajes de entre 3V a 3,7V ,no aguanta los 5V. Antes de programar el micro, debemos quitar la SD para que no se estropee.

Esquema del circuito.


Todos los componentes del circuito.

Los componentes conectados.

Vista superior

Vista inferior

He aumentado el tiempo entre tomas a 10 segundos, de esta forma se reduce bastante el tamaño del archivo.
También he añadido un tercer led que indica si la SD está bien conectada.
Además he hecho que parpadee el led de REC cuando se graba un dato.
Como vemos en la imagen he utilizado una batería recargable de 500mAh. Si el circuito consume 45mA , con esta batería tenemos una autonomía de 11 horas.
Se necesita el programa en Gambas (VB de linux) para tratar los datos y convertirlos en un fichero con formato kml, este se encuentra en el anterior montaje Grabador de datos gps .


PROGRAMA ARDUINO


Saludos.
Juan Galaz


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

lunes, 16 de noviembre de 2015

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

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