Placa EFcom V1.2 GPRS con Sim900 y arduino mega(Funciona)

Buenas.
De tanto andar y andar y ver que muchos tienen el problema que yo he tenido; y logre solucionar, vengo a dejar los datos para que a alguien mas le sirva.
Se trata de la placa EF-com v1.2 http://www.elecfreaks.com/3080.html
Y el Arduino Mega.

Con la librería GSM_SHIELD2 como viene no funciona.
Lo que hay que hacer es modificar el archivo GSM_Shield.cpp y reemplazar todo lo que diga MySerial por Serial1 y quitar o comentar las lineas NewSoftSerial MySerial(4, 5); //rx, tx
Así usaremos el Serial1 del Arduino mega que esta en los pines TX1-18 y RX1-19, en los cuales conectaremos el TX y RX de la placa GPRS.
Y con el código que les dejo pueden controlar las salidas y entradas del arduino mediante SMS.

https://code.google.com/p/arduino-sms-sim900/downloads/list

Espero que les Sea util.

Saludos.

Hola, yo tambien tengo un GPRS/GSM EFCom v1.2 y un Arduino Mega2560 Rev.2 He logrado enviar comandos AT al módulo SIM900 (Tambien por el Serial1) pero no puedo conectarme a la RED (ONO y MOVISTAR)

La secuencia que sigo es la siguiente:
1)Alimentar con la fuente que suministran los de Elecfreack y entonces de encienden los led PWR(rojo) y NET(azul-no parpadea)
2)Conecto el cable USB al PC y ejecuto el hiperterminal.
3)pulso el boton S_PWR, se enciende el led STA y NET empieza a parpadear
el el hiprterminal aparece:
RDY
+CFUN: 1
+CPIN: SIM PIN
4) escribo el comando AT+CPIN=mi PIN y responde:
OK
y pasados unos segundos
Call Ready
5) y es entonces cuando a los pocos segundos se apaga STA y envia de nuevo la secuencia inicial:
RDY
+CFUN: 1
+CPIN: SIM PIN

Y de este punto no paso.

Si alguien me puede decir algo lo agradeceria.

PLDM, mmm me pasaba lo mismo cuando solo alimentaba la placa con el USB del arduino, probablemente sea falta de potencia. yo estoy usando un trafo de 12V 1.5A. Proba con una fuente mas potente.

Lo he solucionado!!!

Como:
Probé a no pinchar el EFCom v1.2 en la placa de ArduinoMega2560/R2, lo conecté mediante cables de unos 8cm a las siguientes patillas del Ardu
Vin, GND, y el puerto serie (S_RX a TX1 y S_TX a RX1) y dejó de resetearse cada vez que intentaba registrarse en la RED.

Pensando (no mucho, que luego duele la cabeza) me di cuenta de que la antena con el módulo pinchado está justo encima y muy cerca de un monton de pistas y pines del ArduMega (es mas largo que el ArduUNO) con lo cual es casi seguro que interfiere, así que probé lo siguiente lo pinché de nuevo pero esta vez programé lo siguiente:

//(TX1=18 conect to S_RX and RX1=19 conect to S_TX)

int PWR =6; //Pin power del modulo GPRS EFCom v1.2 power_on=1
int RST =5; //Pin reset del modulo GPRS EFCom v1.2 reset=1

void setup()
{
pinMode(PWR, OUTPUT);
pinMode (RST,OUTPUT);
digitalWrite(RST,LOW); //Garantiza que no se hace reset via pin D5 del ArduinoMega
Serial1.begin(4800); // GPRS baud rate
Serial.begin(19200); // USB-COM baud rate
digitalWrite(PWR, HIGH); // Enciende el GPRS
delay(3000); // Hay que mantenerle a 1 durante algun segundo
digitalWrite(PWR, LOW);
}

void loop()
{
if (Serial1.available())
Serial.write(Serial1.read());
if (Serial.available())
Serial1.write(Serial.read());

}

y funciona perfectamente (con la fuente que vende ElecFreack para el módulo 9v 1A).

Gracias y un saludo.

Hola! Hoy me llego el modulo desde dx.com y estoy intentando hacerlo andar. Segui al pie de la letra las modificaciones que hiciste para que funcione pero cuando intento cargar el codigo al arduino me sale el siguiente error :

class GSM has no member named callStatus.

¿Alguien sabe porque me puede estar tirando ese error? Muchas gracias!

Hola Fernando, puedes dar más información (p.e. el código que usas, como conectas el módulo al arduino mega, ...)

Saludos, excelente ayuda, pero no logro determinar las conexiones en el módulo gsm sim920.

Gracias por cualquier colaboración

Disculpen mi ignorancia, donde puedo conseguir la Liberia gsm_shield.
Muchas gracias