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: 130

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.

Boa noite,

Estou partindo para uma outra solução. Comprei um outro shield, este já vem com GPS estão posso fazer tudo utilizando apenas ele, sem necessidade de outro módulo, espero obter resultados em breve. Obrigado pela atenção e ajuda.

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