Modulo GSM SIM800L arduino


#1

Estoy intentando conectar un modulo gsm a arduino y no consigo hacerlo, no llega a haber comunicacion entre arduino y el modulo. Adjunto foto:

¿Alguien ha utilizado algun modulo gsm o algo por el estilo?

El modulo en cuestion es una SIM800L el utilizado en el adafruit FONA pero baratillo.
Al conectarlo se puede ver una luz como de buscando señal pero ahí se queda. Intento enviar comandos AT pero no contesta.

Mis sospechas estan en:
*El modulo no funciona
*El modulo solo soporta tarjetas 2g y no 3g

Gracias por la ayuda :grinning:


#2

El único que sé que ha trabajado con módulos GSM en Arduino es @cmedina, a ver si se pasa y te puede comentar algo.

Por lo pronto, lo suyo sería que nos comentases que conexión has hecho, que código has utilizado, guía que sigues…


#3

Hola,
Como bien dice @MiguelAngelLV, he trasteado con un módulo GSM, en concreto con un siemens TC35. De hecho, hice un proyecto para abrir una puerta automática mediante una llamada perdida hace 3 años y aún funciona como el primer día ;-).

La mayoría de estos módulos funcionan mediante comandos AT y se comunican por el puerto serie.
En mi blog re-escribí (anteriormente fue un post en G+) una entrada acerca de mi experiencia. Durante este tiempo he recibido algunos comentarios con dudas y he intentado resolver cada uno de ellos. Te recomiendo que le eches un vistazo, lo puedes encontrar en: http://www.cristobalmedinalopez.es/27-arduino-activar-rele-con-una-llamada-perdida

Espero que te sea de ayuda, y en cualquier caso, no dudes en preguntar!
Saludos.


#4

Las conexiones que utilizo son:
*GND
*RST
*RXD
*TXD
*GND

Y el codigo es el de comucicacion por software serial:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3);

void setup()
{
 mySerial.begin(19200);               
 Serial.begin(19200);                 
}

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

}

El problema no puede estar en el código sino en el modulo. Se supone que al enviar el comando AT+IPR=19200 me deberia salir algo o por lo menos un ok, pero mo sucede nada. Tambien puede ser problema del modulo que es chinorri.

@cmedina que conexiones utilizas? Tu modulo es 2g o 3g?


#5

Entiendo que tienes conectado el TX y el RX correctamente al pin 2 y 3 de arduino (deben ir cruzados). ¿No?

¿El RST lo tienes a 5V o a GND?


#6

Más abajo te dejo un esquema de como lo tengo conectado (importante el gnd entre arduino y el módulo).
Se me olvidaba, ¿Estás seguro que el módulo está configurado a 19200?
Por cierto, mi módulo es 2G (GSM).


#7

Rxd lo tengo en el pin 6 (también he probado poniendo en el pin 2 y 3, y poniendo el rxd en el 5 y txd en el 6 y nada)
Txd lo tengo en el pin 5
RST lo tengo en reset, no tengo mucha idea si va ahi pero de estos modulo hay muy poca informacion para contrastar.
GND pues gnd de arduino
Vcc a 3.3V porque el modulo trabaja a 3.4V-4.2V

Se supone que estos módulos van a 19200 así que debería de ser así. En el código lo tengo puesto para 19200 y para enviar los comandos también.

El RST va al reset o ese puede ser el problema?

Gracias por la ayuda y pendon por no contestar antes esk ahora estoy con los examenes :pensive:


#8

A unas malas en el proximo hardware libre me lo llevo y alli lo podemos con más facilidad. :grinning:


#9

El 02/06/15 a las 22:55, amil101 escribió:

[…]

El RST va al reset o ese puede ser el problema?

Puede ser el problema. Tienes que mirarlo porque lo mismo lo tienes
perenne activado y el módulo se esta reiniciando continuamente.

Comprueba si funciona a nivel alto o bajo y haz las conexiones pertinentes.

Salud y Revolución.

Lobo.

Libertad es poder elegir en cualquier momento. Ahora yo elijo GNU/Linux,
para no atar mis manos con las cadenas del soft propietario.
Porque la libertad no es tu derecho, es tu responsabilidad.
http://www.mucharuina.com


#10

Tienes que conectarlo en los mismos puertos que indicas en el código…

El reset seguramente tendrás que ponerlo a 3.3v también


#11

@amil101 actualmente me encuentro trabajando con este mismo módulo y aun no obtengo respuesta, quisiera saber tu te pudiste ya comunicar?

Yo estuve trabajando con el SIM900 y todo estuvo de maravilla, pero una subida de tension me lo quemo (creo que se tiro el regulador), con lo que ahora estoy trabajando con ese mismo que tu tienes.

Actualmente lo tengo conectado con un modulo FTDI directo a la computadora para probar que me comunico, en cuanto a la coneccion la tengo asi

donde Vcc es los 3.3 que bota el FDTI, el RST segun mis pruebas es reset y se reinicia en bajo por lo tanto por ahora la tengo al aire

@cmedina


#12

Lo siento pero no pude comunicarme con el. Yo lo hice por medio de arduino y como mucho podía recibir caracteres sin sentido. La electrónica la tenía igual que tu, pero no conseguí hacerlo.
Pude encontrar https://www.facebook.com/Taipes-Arduino-1442967352650352/ y el hombre consiguió conectarlo y comunicar datos compartiendo el codigo en su facebook.


Espero que te haya servido de ayuda.


#13

El 18/11/15 a las 19:04, ojaa16 escribió:

[…]

donde Vcc es los 3.3 que bota el FDTI, el RST segun mis pruebas es reset
y se reinicia en bajo por lo tanto por ahora la tengo al aire

Cuidadito con eso, no es lo mismo que haya que mantener un nivel bajo en
el reset a que se reinicie con nivel bajo, por lo cual hay que
mantenerlo a nivel alto. O sea, que de tenerlo al aire, nada de nada.

Buscad la hoja de características y repasadla, que para eso están.

Salud y Revolución.

Lobo.

Libertad es poder elegir en cualquier momento. Ahora yo elijo GNU/Linux,
para no atar mis manos con las cadenas del soft propietario.
Porque la libertad no es tu derecho, es tu responsabilidad.
http://www.mucharuina.com


#14

ayer dentro de mucha busqueda consegui una pagina donde comentan que hay q alimentarlo independiente ya que el tiene un consumo de 2 A. Yo ya lo hice y al parecer el modulo se conecta a la red pero aun no he podido establecer comunicacion para enviarle comandos AT. Aqui te dejo la pagina http://sedenka.eu/?page_id=1609 si logro algo mas estare comentado.


#15

Hola,

Con respecto al reset, no sé muy bien cómo funciona en ese módulo, pero en el que yo utilizo se activa cuando recibe un impulso de 100ms en el pin IGT (RST?) a nivel bajo, después lo ideal sería dejarlo a nivel alto.

Al igual que en este módulo, hay que alimentarlo a parte ya que tiene algunos picos a los que arduino no puede hacer frente.

Comprueba que Rx y Tx están bien conectados. Sé que es una tontería, pero suele pasar que a menudo se conectan de forma errónea. Por normal general se conecta: Rx -> Tx y Tx-> Rx. No obstante, alguna vez me ha pasado con algún cacharro chino que venía rotulado al revés.

Suerte!!


#16

Estimado, adjunto esquema simple de conexión:

El codigo a utilizar es el siguiente:

void setup(){
  Serial3.begin(19200); // the MEGA2560 baud rate
  Serial.begin(19200); // the GPRS baud rate
  pinMode(2,OUTPUT);
  digitalWrite(2, LOW);   // set the RTS off
  delay(1000);
  digitalWrite(2, HIGH);   // set the RTS on
  Serial.println("Iniciando...");
}
void loop(){
  if (Serial3.available()){ //Si PC envia algo...
    Serial.write(Serial3.read()); //Envia a GPRS lo que lee del PC
    //delay(10);
  }
  if (Serial.available()){ //Si GPRS envia algo..
    Serial3.write(Serial.read());//Envia a PC
    //delay(10);
  }
}

Saludos


#17

Lo he probado y funcionaa!! Ya no me salen cosas extrañas como antes XD

@ctorregrosa Gracias. Paso foto:


#18

hola @amil101 , a parte de enviarle comandos AT has logrado realizar alguna llamada o enviar algun mensaje? es que tengo exactamente el mismo modulo y los comandos AT me los responde bien pero a la hora de realizar alguna acción no me responde.


#19

No he llegado a utilizar mucho el módulo pero si que realiza la llamada, aunque no del todo xD. Es como si llamase pero no llega a establecerse la llamada, pero el mensaje de “tienes una llamada perdida” si la recibe el otro móvil.

Asegurate de poner el PIN antes de realizar alguna llamada.

Para realizar una llamada es:
AT+CPIN:
ATD858#######


#20

Muy buenas tardes a todos, lo primero presentarme en este foro, llevo unas semanas buscando información sobre el tema de este hilo. Al final he conseguido hacer funcionar la SIM800L consigo hacer llamadas y recivirlas tanto por el puerto USB como por alimentación externa.
Ahora estoy intentando ir un pasito mas para adelante y hacer la versión 2.0 con identificador de llamada, y me he topado con un problema que me ha dejado fuera de juego, me explico.
Con el USB (Puerto serie) todo funciona correctamente pero cuando alimento al Arduino externamente ya no funciona, da tono de llamada pero no hace la comparación del número entrante.
Podría alguien ayudarme
Gracias