Olá pessoal, estou fazendo esse projeto para meu TCC e já apanhei bastante desenvolvendo isso, sou novato em relação à Arduino e seus componentes, enfim meus problemas são vários, não desejo que me dêem a resposta de não beijada mas pelo menos um caminho para que eu possa resolver esses problemas. Meu gsm shield SIM900 é da Efcom, estou utilizando com o Arduino uno, mas precisava do mega para poder utilizar o gps no mesmo arduino, porém em todos os fóruns e tutoriais que vi, para que esse shield funcione com o mega, é necessário jumpear o d2 e d3 (Rx e Tx) do shield nas portas 50 e 51 do mega, foi exatamente o que fiz, mas não deu resultados, o Shield não se comunica com a rede telefônica, que se comunicasse no caso, o led ia piscar a cada 3s mas não é o que acontece, no Uno isso tudo funciona normal que é uma beleza, ai é que tá, agora to usando dois arduinos, o meu mega com o gps que está funcionando normal, e o uno com o shield gsm, mas preciso que os dois arduinos se comuniquem, preciso que o gps envie suas coordenadas e informações para o gsm jogar no meu banco de dados, feito isso acabou o mistério, qualquer ajuda de como fazer o gsm funcionar no mega ou de como estabelecer uma comunicação entre os dois arduinos para os módulos conversarem, agradeço e muito!!! 

Exibições: 81

Responder esta

Respostas a este tópico

Boa noite, 

Mostre o diagrama da sua montagem no Arduino Mega (ai deve estar o problema) .

Veja que o Arduino Mega tem várias interfaces seriais. 

Boa noite, 

Obrigado pela resosta. Prosseguindo, pra ficar mais claro sobre a montagem no arduino mega, segui exatamente os mesmos passos de montagem e de modificação de biblioteca que este site sugere:

https://www.arduinoecia.com.br/2015/09/arduino-gsm-shield-sim900-ef...

O shield inclusive é o mesmo do tutorial, assim como o esquema de montagem, jumpers, modificações e etc.

Qualquer ajuda agradeço desde já !

Bom dia, 

O módulo GSM SIM900 esta usando a interface soft serial nos pinos 50 e 51 ?

Por que não usou as outras serias já existentes ( S1, S2 ou S3) ?

Questione o cara do tutorial ! 

Você incluiu as linhas no sketch, que definem a serial  ?

Boa noite,

Eu utilizei as seriais existentes das portas 18 e 19, mas o módulo mesmo assim não obteve êxito em se comunicar com a rede telefônica, isto porque algumas modificações na biblioteca em que baixei (não é a mesma que vem com a IDE do Arduino) são necessárias para ter funcionamento com o mega, e todas as outras bibliotecas que vasculhei utilizam dos mesmos arquivos sendo necessárias as mesmas modificações, enfim, esta biblioteca vem com padrões para o uno, realizei tais modificações conforme esse vídeo demonstra:

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

Na questão do cara do tutorial, eu comprei este Shield na filipeflop, liguei e pedi suporte, eles me encaminharam para esse mesto tutorial, pode se perceber como o suporte dessas empresas são úteis. Essas linhas eu modifiquei na biblioteca, realizei o teste e não tive êxito, então declarei no sketch um SoftwareSerial (50, 51) como Tx e Rx mas também não obtive resultados, pedi auxílio até para minha professora de Automação na faculdade, mas ela também não teve sucesso em fazer esse shield funcionar com o mega...

Obrigado pela atenção !

Mande fotos detalhadas da sua montagem ( jumpers) 

Envie o sketch que usou . 

Não use o GSM Shield sem antena. Sempre com a antena conectada. 

Você pode  estar fazendo algo errado...

Este é o sketch:

#include "SIM900.h"
#include <SoftwareSerial.h>
//Carrega a biblioteca SMS
#include "sms.h"

SMSGSM sms;

SoftwareSerial (50, 51); //Tx e Rx

char numero[20] = "987654321";
char mensagem[30] = "Arduino SMS";

boolean started = false;

void setup()
{
//Inicializa a serial
Serial.begin(9600);
Serial.print("Ligando shield GSM SIM900. ");
liga_desliga_GSMShield();
Serial.println("Testando GSM shield...");
//Comunicacao com o Shield GSM a 2400 bauds
if (gsm.begin(2400))
{
Serial.println("nstatus=READY");
started = true;
}
else Serial.println("nstatus=IDLE");

if (started)
{
//Envia um SMS para o numero selecionado
if (sms.SendSMS(numero, mensagem))
Serial.println("nSMS enviado!");
}
Serial.print("Desligando shield GSM SIM900. ");
liga_desliga_GSMShield();

}
void loop()
{}

void liga_desliga_GSMShield()
{
Serial.print(F("Aguarde..."));
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
delay(1000);
digitalWrite(6, HIGH);
delay(1000);
Serial.println(F("OK!"));
digitalWrite(6, LOW);
delay(500);
}

Boa noite,  Atenção nas instruções do tutorial. 

Ligação incorreta nos pinos do Shield ! 

Veja o diagrama no tutorial :

SoftwareSerial (50, 51);  //   Tx e Rx  = comentário ERRADO ! Correto  é RX TX do Arduino

https://www.arduino.cc/en/Tutorial/SoftwareSerialExample

Olá, Boa noite.

Fiz as devidas correções e ainda continuo sem resultados, não sei se é um erro na biblioteca ou no código, desconfio que este sketch do tutorial seja apenas para o Uno. No meu caso, o shield simplesmente não realiza conexão com a rede telefônica.

Grato pela atenção e paciência !

Bom dia, 

Copie todas as mensagens de erro e envie. 

Na Arduino IDE , na janela inferior clique em copiar mensagens de erro. 

Já testou o seu chip em um telefone ? Funcionou ? Tem créditos?

Boa noite,

Sim eu testei o mesmo chip com o uno, e funciona normalmente, possui créditos e envia o sms normalmente. o código não apresenta erros, quando utilizo no uno este funciona normalmente, o problema no caso é que o módulo gsm não consegue se conectar a rede telefônica por questões de conexão com o Mega, o RX e TX aparenta não se comunicar com o shield, desta forma o led do shield que indica se a conexão com a rede foi bem sucedida pisca de forma que não foi estabelecida tal conexão, quando utilizo este shield no uno, o led pisca de 3 em 3 segundos, indicando que a conexão foi estabelecida, ou seja, mesmo que os códigos estejam corretos, o módulo não irá enviar o sms no mega, pois este não está conectado com a rede telefônica. Vou deixar este link que mostra as especificações de hardware deste shield:

http://www.elecfreaks.com/wiki/index.php?title=EFCom_GPRS/GSM_Shield

Bom dia Fernando, 

Se o GSM funciona com o Arduino UNO e não funciona com o Arduino Mega, só restam duas possibilidades:

- você esta fazendo os procedimentos incorretos,

- seu Arduino Mega esta com algum problema.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço