Arduino Uno + Sim900+ time Alarms

Estimados,

No logro hacer funcionar el Arduino MEGA con el shield : Shield SIM 900

La librería que estoy utilizando es la GSMSHIELD (Marcos).
En la librería descomenté las líneas que referían a utilizar el MEGA.

He buscado por todos lados y no logro encontrar un esquema que me funcione.
Si a alguien le pasó por favor que nos cuente como solucionar esto,
desde ya muchas gracias,
Saludos
Juan

Hola Juan,
Y el mega sin nada: ¿te funciona?
Saludos

Si si, funcione ok, lo raro es que el esquema de:

shield arduino uno
7 7
8 8

Jumpers: comunicación Serial.

usando la misma librería funcionó a la perfección.

Hola. Los módulos apilables suelen diseñarse para Arduino UNO únicamente. Tengo un módulo CAN BUS que aún no he puesto a funcionar y los desarrolladores dicen que "solamente" vale para la UNO. Para usarlo en una Leonardo o una MEGA, hay que cortar unos pines y tirar unos cables, y viene siendo por el motivo de que los pines de comunicación entre módulo y placa, son distintos si se una una UNO, MEGA o Leonardo. Por eso es posible que no hagas funcionar el módulo. ¿Tienes una placa UNO para hacer pruebas y descartar que esté roto el módulo? :wink:

En el uno funcionar perfectamente, no es necesario apilarlo, puedo darle 5 voltios y gnd a parte,

Esfinterman:
son distintos si se una una UNO, MEGA o Leonardo

Algo así te iba a sugerir: no he usado nunca este tipo de módulos, pero si no me equivoco usan la comunicación serie, y el MEGA tiene varios enlaces serie en diferentes pines; es muy probable que los tiros vayan por ahí.

Saludos

jazpiroz:
En el uno funcionar perfectamente, no es necesario apilarlo, puedo darle 5 voltios y gnd a parte,

¿Pero has probado a apilarlo en la UNO, meter un código y ver si este código funciona con el módulo? Me refería a eso concretamente, no a meterle tensión. :wink:

En el uno no lo apilé, y funcionó perfectamente,
Gracias

Gente, alguna idea??? esto no me debe estar pasando a mi solamente no??
gracias,

jazpiroz:
En el uno no lo apilé, y funcionó perfectamente,
Gracias

Hola.
Iba a citar la respuesta #6, pero desisto.
¿Nos puedes enviar un esquema de lo que hiciste con el UNO (la conexión)?
Saludos.

Estimados, el esquema que estoy utilizando es este:

SIM900

Esquema utilizado

Pero no apilado.

Y el error que me está dando ahora es:

GSM Shield testing.
DB:NO RESP
DB:NO RESP
DB:NO RESP
Trying to force the baud-rate to 9600
ERROR: SIM900 doesn't answer. Check power and serial pins in GSM.cpp
status=IDLE

Gracias por cualquier comentario,

Hola @jazpiroz, no comprendes que esa respuesta última que nos muestras te esta diciendo que tu MEGA y el SIM no se estan comunicando. Lo dice claramente SIM doesn´t answer. No responde!!!

Tienes problemas de comunicación, sea GND, RX y TX utilizados.

Si eso mismo funcionaba con el UNO y ahora no lo hace con el MEGA tu problema tal vez sea el siguiente.
El MEGA tiene 4 puertos serie asi que no uses SoftwareSerial. y entonces si usas Serial1 por ejemplo debes decirle adecuadamente a la librería que usará HardwareSerie y que es Serial1.

Estimado, que no responde esta claro, ahora bien lo que tu dices de Serial1 decirle a la librería como lo hago??, el esquema que estoy utilizando sería correcto para ese escenario?

Gracias

He encontrado esta imagen. Es a lo que me refería:

Es cierto que esta imagen hace referencia al módulo CAN BUS, pero como se trata de temas de comunicación, es posible que tu problema sea el mismo que el de esta placa. Te adjunto también el enlace donde encontré la foto, porque ahí viene algo. No sé qué dice, porque no hablo inglés, pero seguro que dice el porqué. :wink:

https://seeeddoc.github.io/CAN-BUS_Shield

De que hablas @sfinterman?

El problema es que el usaba SoftwareSerial en el UNO. Luego pasó a un Mega y pretende usar SoftwareSerial en uno de los puertos Hardware y que esperas que ocurra? Obvio no va a funcionar.

Please !!!
El esquema que uso esta correcto???
En en el archivo gsm.ccp

//De-comment this two lines below if you have the
//second version og GSM GPRS Shield
#define _GSM_TXPIN_ 18
#define _GSM_RXPIN_ 19

Algunas idea???

Si es el correcto pero no le dices que estas usando Serial1.
Revisa

En GSM.h cambia esto

#define UNO
//#define MEGA

por esto

//#define UNO
#define MEGA

y en el archivo HWSerial.h tienes que cambiar esto

//#define MEGA

por esto

#define MEGA

Los tengo así,

Estimados, les paso la solución, por si a alguien le llega a pasar lo mismo, y quiere evitarse dolores de cabeza :

Sim900, alimentación independiente
Arduino MEGA, alimentación independiente

Jumpers, quitarlos
RX => Arduino MEGA: RX 19
TX => Arduino MEGA: RX 18

GSM.cpp:

//De-comment this two lines below if you have the
//second version og GSM GPRS Shield
#define GSM_TXPIN 18
#define GSM_RXPIN 19

Definir MEGA en : HWSerial.h y en GSM.h

Utilicé el ejemplo : GSM_GPRSLibrary_SMS

Cualquier cosa quedo a las órdenes,

Saludos
Juan