Mostrando entradas con la etiqueta XM37-1612. Mostrar todas las entradas
Mostrando entradas con la etiqueta XM37-1612. 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



lunes, 19 de octubre de 2015

Visualizar datos gps XM37-1612 en Nokia 3310

Página principal


Visualizar datos gps XM37-1612
Nokia 3310
xsetaseta@gmail.com


En el anterior artículo gamgps.html habia realizado un visualizador de datos gps para el módulo XM37-1612 que transmitía la información al ordenador para ser visualizada. Pero claro, tener que llevar un ordenador portátil para ver los datos del gps es un tanto incómodo. Mi solución es utilizar el visualizado Nokia 3310, y alimentar todo mediante una batería de 3.7 V.
El montaje se ha realizado con un arduino nano, que funciona perfectamente con alimentaciones 3V.
Sigo sorprendiéndome de la sensivilidad del módulo XM37-1612 , dentro de mi habitación sobre el escritorio tengo señal de gps con 8 satelites.



Esquema del circuito.

Aunque el esquema se ha realizado con un arduino clásico, el montaje se ha realizado con un arduino nano.


Montaje de circuito.



Datos del módulo XM37-1612 Datos de un teléfono

El consumo de todo el circuito es de 49mA a 5V , y de 35mA a 3,5V.
El consumo del
módulo XM37-1612 es de 26mA.


PROGRAMA


Saludos.
Juan Galaz


Bibliografía:

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

viernes, 16 de octubre de 2015

Visualizar datos gps XM37-1612 . Gambas

Página principal


Visualizar datos gps XM37-1612
Gambas

xsetaseta@gmail.com


El otro día me llego el módulo gps XM37-1612.

Descripción:
Modo de comunicación: nivel TTL, compatible con 3.3v sistema / 5v
Fuente de alimentación: 2.7-5v dc  45mA

Para probarlo he utilizado un adaptador USB- serie con niveles TTL.

El adaptador USB- serie proporciona salidas de 3.3V o 5V , para alimentar el módulo gps he utilizado 3.3V, después de haber probado que también funciona a 5V.

El programa de visualización de datos en el PC se ha realizado en Gambas, una especie de Visual Basic para Linux.


Programa en gambas


Coordenadas de gps pasadas a google

Como los datos que proporciona el gps son de tipo UTC, he tenido que realizar las conversiones a modo local.


Si no se tiene el adaptador usb->serie , se puede emplear el arduino.

___Programa en el arduino_______________

//SETA43 15/10/2015
// xsetaseta@gmail.com
// gps->PC Gambas
//Arduino Version 1.0.5
//Debian 7

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX 
//10 al TX del GPS
//11 al RX del GPS


void setup()  
{
  Serial.begin(9600);
  while (!Serial) { ; } //  Leonardo only
  Serial.println("START");
  mySerial.begin(9600);
}

void loop() 
{
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}
_____________________________


Conclusión:
El módulo XM37-1612 es bastante preciso, y tarda muy poco en proporcionarnos las coordenadas.
Comparado con los gps que vienen en los móviles es muchísimo mas rápido y sensible.

Programa

Saludos.
Juan Galaz


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