Go Down

Topic: SIM808 v1.1 conexión a Arduino Mega (Read 1 time) previous topic - next topic

MaestroLopez

Oct 10, 2016, 01:10 am Last Edit: Oct 12, 2016, 01:57 am by MaestroLopez
Hola,  buenas tardes

   Pido ayuda con este módulo GSM SIM808, es el mismo modelo del enlace que comentaré más abajo, tengo alguna dudas de conexión hacia la placa arduino MEGA. Por lo que he estado investigando, tiene multiples conexiones, para este caso he elegido la softwareSerial, que utiliza los pines 7 y 8 de la arduino.

http://www.elecrow.com/wiki/index.php?title=SIM808_GPRS/GSM%2BGPS_Shield_v1.1

Mi consulta es...¿Debo conectarlo es esta parte de la arduino... esta pregunta se basa en el titulo del enlace "Serial Port(UART) Communication"



o debo simplemente declararlo a nivel de código?

Code: [Select]

#include <SoftwareSerial.h>

SoftwareSerial GSMSerial(7, 8);


De no estar correcto, ¿cómo se conecta?
Por favor, necesito ayuda con esto, gracias....




surbyte

si tienes un mega usa los puertos Serial disponibles Serial1, Serial2 o Serial3 para esa tarea. 
No tiene sentido usar SoftwareSerial (pensado para el UNO/NANO/Micro) con un Arduino que tiene 4 puertos.

MaestroLopez

si tienes un mega usa los puertos Serial disponibles Serial1, Serial2 o Serial3 para esa tarea.
No tiene sentido usar SoftwareSerial (pensado para el UNO/NANO/Micro) con un Arduino que tiene 4 puertos.

Gracias por tu comentario, he estado leyendo y buscando información al respecto, y no puedo comunicarme con la placa, ya he intentado muchas cosas y no sé que más hacer... por más que leo cada vez entiendo menos, no lo sé, debe ser que la frustración me tiene hasta la coronilla....

https://www.youtube.com/watch?v=P6RqFw7oKs0

La SIM808 está montada sobre al arduino Mega, los leds parpadean (Según el manual eso significa que está en contacto con la red), le cargué este código básico, pero no consigo nada, en verdad me he empecinado en encontrar la solución por mis medio, pero estoy perdiendo tiempo intentando hacer funcionar esta placa....

Code: [Select]
#include <arduino.h>
#include <SoftwareSerial.h>

                      // rx,tx
SoftwareSerial GSMSerial(0, 1);

void setup() {
  GSMSerial.begin(9600);             
  Serial.begin(9600);             
}

void loop() {
       if(Serial.available())
          GSMSerial.print((char)Serial.read());
     else  if
      (GSMSerial.available())
         Serial.print((char)GSMSerial.read());
}


Gracias por el tiempo....

indio99

Hola, ese módulo gsm no es compatible con los puertos hardware serie del arduino MEGA, ya que quedan fuera de la conexión de la placa, digamos que es un módulo pensado para el formato del arduino UNO.

En el segundo sketch que has puesto está mal, defines 0 y 1 como softserial y no puedes usar softserial y serial hardware en el mismo puerto al mismo tiempo.
Puedes usar ese mismo sketch pero definiendo los pines como 7y8 donde el 7 debe corresponder con TX de tu placa gsm y el 8 con RX de tu placa, en la fotografía no aprecio bien a que corresponde cada uno.

Una alternativa para poder usar los puertos hardware del MEGA es usar unos puentes hasta el puerto en cuestion que vayas a usar, por ejemplo Serial1, y sustituir GSMserial.begin(9600); por Serial1.begin(9600); y así con el resto de los GSMserial.
Recuerda Rx de gsm va con Tx de arduino y Tx gsm con Rx arduino, ya sea soft o hardware serial

Saludos
CodeTronic

surbyte

Quien te dijo esto indio99

Hola, ese módulo gsm no es compatible con los puertos hardware serie del arduino MEGA, ya que quedan fuera de la conexión de la placa, digamos que es un módulo pensado para el formato del arduino UNO.

Lo módulo no son pensados para UNO solamente. Las librerías si.
Si configuras en el .h de la librería para que use en lugar de 0,1 el pin 18,19 no tendrías problema

Pero además es muy limitado pensar que las cosas se hacen para un solo producto.
Yo no tengo un UNO y sin embargo he conectado a MEGA y DUE sin problemas.

indio99

Hola surbyte, me encanta que me rebatas en lo que dije, no pasa nada, pero si una placa tiene un formato concreto, y ese modulo lo tiene, no hay más que ver la foto que MaestroLopez ha posteado, no se puede cambiar, porque es algo fisico, con unas dimensiones concretas, por tanto, me mantengo en lo que dije que ese modulo no está pensado para los pines hardware serial del MEGA, no que no se pueda usar el modulo con un MEGA, que es distinto.

Yo no he hablado de libreías, pero una librería sí se puede cambiar, reformar, adaptar, va cambiando según su algoritmo va creciendo, pero una placa física, puede evolucionar, claro que sí, pero eso supone fabricar otra nueva, por lo que la anterior va quedando desfasada y obsoleta con el tiempo.

Digo que no es compatible con los pines hardware Serie del arduino Mega, porque el modulo no tiene conexiones para los pines digitales del 14 al 19 que son los serial del 1 al 3.
Siempre podrá usar los pines 7 y 8 por softserial, que es para lo que 'SÍ' está preparado ese modulo concreto, o con hardserial, pero usando los pines 0 y 1, pero está claro lo que pasaría

Saludos
CodeTronic

surbyte

#6
Oct 13, 2016, 12:11 am Last Edit: Oct 13, 2016, 12:12 am by surbyte
Te comprendo y no había prestado atención a tu punto de vista.  La palca esta limitada, pero doblas los pines 0 y 1 de la SIM808 y sueldas un par de cables con terminal macho, los unes en 18 y 19 y asunto terminado.
Se entiende?


indio99

Una alternativa para poder usar los puertos hardware del MEGA es usar unos puentes hasta el puerto en cuestion que vayas a usar, por ejemplo Serial1, y sustituir GSMserial.begin(9600); por Serial1.begin(9600); y así con el resto de los GSMserial.
Recuerda Rx de gsm va con Tx de arduino y Tx gsm con Rx arduino, ya sea soft o hardware serial
Exacto, tu lo has explicado mucho mejor, y de manera gráfica  :)

Saludos
CodeTronic

A_Fuentes

#8
Aug 30, 2019, 12:25 am Last Edit: Aug 30, 2019, 12:26 am by A_Fuentes
Hola surbyte,


Yo estoy tratando de usar la librería DFRobot SIM808 con un Arduino Due pero no he logrado echarla a andar, ya he intentado de muchas formas cambiar en mi código para utilizar HardwareSerial en vez de SoftwareSerial, pero me da error siempre, ¿podrías ayudarme?

He intentado modificar la librería pero no estoy seguro de qué es lo que debo de cambiar para echarlo a andar o si realmente es un problema en mi código.

Agradecería mucho tu ayuda





Go Up