Show Posts
Pages: [1]
1  International / Español / Re: GPS Tracking (Rastreo por GPS) on: April 22, 2012, 03:50:46 pm
El  módulo GSM va bien viene con antena incluida los comandos AT están disponibles en su página web  también incluye algunos ejemplos. Algunas cosas que no me gustoron de este módulo es que el SIM se inserta por debajo de la placa también que solo puedes seleccionar el pin 7 y 8 para SoftwareSerial pero puedes elegir 0 y 1 para hardware Serial  ten en cuenta el buffer de SoftwareSerial es limitado  no podrás recibir mensajes de texto completos  a menos que lo hagas por hardware serial también no me gusto que no pueda elegir el pin de habilitación del módulo por defecto es el  pin 9
2  International / Español / Re: GPS Tracking (Rastreo por GPS) on: April 17, 2012, 04:50:01 pm
Gracias por tu respuesta
Bueno si mi módulo  GPRS tiene un ejemplo de cómo subir datos la PACHUBE  http://www.seeedstudio.com/wiki/index.php?title=GPRS_Shield_v0.9b pero pachube solo puede mostrar datos de sensores,  lo que quisiera es poder enviar mi datos de GPS latitud longitud y poder verlos en el google maps a través de un servidor web.
Saludos
3  International / Español / GPS Tracking (Rastreo por GPS) on: April 17, 2012, 02:52:32 pm
Como están
Me encuentro desarrollando un proyecto de rastreo de vehículos con GPS los módulos  utilizados son arduino uno escudo GPS y un módulo GSM/GPRS lo que se ha logrado hasta ahora es el envió de mensajes de texto cuando algún usuario lo solicite mediante un timbre al módulo  GSM/GPRS los datos son enviados en un SMS  que contiene un link de GOOGLE MAPS para revisar la posición actual del vehículo además de eso envía la velocidad y los datos hora y fecha, adicional a esto también tiene un dato que nos indica el número de infracciones de velocidad durante el trayecto ;cuando se comete una infracción de velocidad el modulo responde con un mensaje de texto al número de la policía. Bueno hasta aquí todo funciona de maravilla. Pero tengo un requerimiento adicional que el módulo también pueda enviar todos esos datos a algún servidor  en el cual se pueda visualizar estos datos de una manera más profesional, lo que estaba pensando era subirlos al PACHUBE pero veo que no implementa un gadget  para GOOGLE MAPS en el cual pueda enviar la latitud y longitud. Como podría realizar esta etapa de mi proyecto ?
4  International / Español / Re: Programación multitarea on: April 16, 2012, 09:55:57 am
creo que encontré el problema del reset automático.Se debe porque estaba usando la librería #include <stdlib.h> que me facilitaba las conversiones de float a String o viceversa borrando esta parte de las conversiones se soluciona pero a qué se debe esto la razón está en este enlace http://arduino.cc/forum/index.php?action=printpage;topic=78067.0 que dice  que las variables del tipo String o arreglos consumen muchos recursos de nuestro 328P concretamente la memoria SRAM la cual es muy limitada (SRAM-->2 KB (ATmega328)).
Saludos
5  International / Español / Re: Programación multitarea on: April 15, 2012, 10:04:36 pm
Gracias por su ayuda  me sirvió de mucho.
Una vez que tengo todo eso funcionado me surge un problema nuevo cuando hago el timbre al módulo GSM este me responde con los datos del GPS pero me di cuenta de que cada vez que le doy un timbre o el control de tiempo llega a los 30 segundos  arduino sufre un reset automático probé las siguientes posibilidades:

Primero que no sea cuestión de alimentación separe los módulos  con alimentación diferente para cada uno

Luego vi algo de que hay un error con el reset en la versión de arduino uno R 2 y le agregue un 1n4148 entre reset y 5V http://dreamingrobots.com/forums/viewtopic.php?f=8&t=258+

Al final creo que el problema está en la librería de tinygps (http://sundial.org/arduino/index.php/tinygps/)no sé qué causa esto pero me parece que va por ese lado esta librería usa esta forma de obtener los datos del GPS

Code:
boolean gpsTiny()
{
  bool newData = false;
  // For one second we parse GPS data and report some key values
  for (unsigned long start = millis(); millis() - start < 1000;)
  {
    while (Gps.available()>0)
    {
      char c =Gps.read();
      // Serial.write(c); // uncomment this line if you want to see the GPS data flowing
      if (gps.encode(c)) // Did a new valid sentence come in?
        newData = true;       
    }
  }
   if (newData)
  {
    float flat, flon;
    unsigned long age;
    gps.f_get_position(&flat, &flon, &age);
   
    flat == (TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
    flon == (TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
   
    vel=gps.f_speed_kmph();
   
                      char cadLat[10];
                      dtostrf(flat,10,6,cadLat);
                      latitud=String(cadLat);
                     
                      char cadLon[10];
                      dtostrf(flon,10,6,cadLon);
                      longitud=String(cadLon);
                     
                      char cadVel[4];
                      dtostrf(vel,4,1,cadVel);
                      velocidad="Velocidad :"+String(cadVel)+"Km/h";
                   
   

  }
      Gps.flush();
      return newData; 
}

Mi sospecha es que arduino ve el ciclo while como un ciclo infinito y resetea el arduino pero lo que no entiendo es como puede mandar el SMS  con los datos del gps una ves que los manda llega el reset
6  International / Español / Re: Programación multitarea on: April 14, 2012, 12:44:05 am
Gracias por tu respuesta  qué opinas si lo hago de esta manera dar mayor prioridad al timbre en el  ciclo loop y atender la alarma de velocidad cada 30 segundos con la función millis()

Code:
void loop()
{

   
    if(gsm.available()>0)
    {
      if(beginGsm())
      {
          if(gpsTiny())
          {
           
            sms("q="+latitud+","+longitud+" "+velocidad,numero);
          }
          else
          {
            sms("El GPS no se encuentra disponible intentelo otra vez",numero);
          }
      }
    }
    else
    {
      if(millis()-tiempo>=30000)
      {
        tiempo=millis();
        if(gpsTiny())
        {
           
          if(vel>60.0)
          {
            infracciones++;
            sms(""+latitud+","+longitud+" ""Infracion de velocidad detectada "+velocidad,"\"xxxxxx\"");
          }
        }
       }
      }
}


7  International / Español / Programación multitarea on: April 13, 2012, 07:38:16 am
Hola como están
Llevo realizando un proyecto en los cual utilizo GPS y GSM  la idea es que cuando alguien le dé un timbre al gsm responda con los datos del gps hasta ahí me funciona bien pero el problema está cuando aparte de recibir las solicitudes de datos del gps vía gsm quiero hacer un control de la velocidad constantemente con los datos del gps como podría  hacer esas dos tareas solo puedo hacer una  escucho los timbres o actualizo el gps constantemente .
Pages: [1]