Pessoal... Depois de algumas pesquisas eu até consegui fazer o SIM900 funcionar no Arduino Uno, enviei msg e fiz ligações porém ao pesquisar e tentar fazer funcionar no Arduino MEGA ADK não obtive sucesso... Retornei para o Arduino UNO e pra minha tristeza não consigo mais fazer funcionar nem no Arduino Uno... Para meu projeto vou precisar que ele funcione no Arduino MEGA ADK e já tenho um leitor de cartão SD no MEGA ADK... Como faço para que ele envie mensagens do MEGA ADK e funcione juntamente com o leitor de cartão SD?


Segue anexo o modelo do SIM900 que comprei (É aquele que não tem os pinos para conectar diretamente ao arduino...)



Obs.: Acho que o módulo ainda está funcionando pois quando ligo do meu celular no numero do chip que estã no módulo chama normalmente....

O código que utilizei e tinha funcionado o sms é o seguinte.:


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

SMSGSM sms;

int numdata;
boolean started=false;
char smsbuffer[160];
char n[20];

void setup()
{
     //Inicializa a serial 
     Serial.begin(9600);
     Serial.println("Testando GSM shield...");
     //Inicia a configuracao do Shield
     if (gsm.begin(2400)) 
     {
       Serial.println("nstatus=READY");
       started=true;
     } 
     else Serial.println("nstatus=IDLE");

     if(started) 
     {
       //Envia um SMS para o numero selecionado
       //Formato sms.SendSMS(<numero>,<mensagem>)
       if (sms.SendSMS("+5562985947974", "Arduino SMS"))
       Serial.println("nSMS sent OK");
     }
}

void loop()
{
    /* if(started) 
     {
       //Aguarda SMS e mostra o texto no serial monitor
       if(gsm.readSMS(smsbuffer, 160, n, 20)) 
       {
          Serial.println(n);
          Serial.println(smsbuffer);
          delay(5000);
       }
       delay(1000);
     }*/
}

Exibições: 751

Responder esta

Respostas a este tópico

Diga o que ele faz e o que ele deveria fazer.

Tem todo um monitoramento pela serial esse seu programa, o que ele solta pela serial ?

Por ex:

Morreu a serial: Confira pinagem.

Não telefona mas faz todo o resto: Vc tem mesmo credito nesse chip ?

Em geral esse tipo de produto é super sensível a problemas com fontes. Uma fonte ruim estraga tudo. Pq ele comunica bem até o momento de precisar de corrente para a parte de rádio. Quando precisa não tem e aborta a missão com erro.

Mande fotos da sua montagem.

Nem tente ligar se sua fonte não suportar a corrente. Usaria uma de 2Amperes.

Na troca de placa vc não modificou o codigo ? Não avisou o compilador que a placa mudou ? não tem que voltar ao normal ?

Eduardo,

Muito Obrigado... 

O seguinte, vou utilizar apenas para enviar msgs quando o sistema de irrigação ligar ou desligar, atualmente tenho os sensores, cartão de memória tudo rodando no arduino mega (funciona com um datalogger), porém preciso implementar essa função de SMS... Os testes que fiz deu certo o envio de mensagem, a serial exibia os testes normalmente mas agora só apresenta a msg conforme foto anexa (DB: No resp), consegui fazer ligações antes tb mas agora só exibe essa mesa msg de erro na serial... Infelizmente não tenho um FTDI para testar a comunicação com o módulo (o teste que faço é ligar o módulo, apertar power 3 segundos esperar sincronizar com a rede, ligo do meu celular no numero do CHIP e chama normalmente, coloco um fone de ouvido no módulo e faz um barulho da chamada.. Estou seguindo a pingagem de acordo com o seguinte link.: 

https://randomnerdtutorials.com/sim900-gsm-gprs-shield-arduino/

Ja inverti TX e RX mas mesmo assim continua dando erro...

Ja inverti os jumpers de RX e TX no módulo sim 900 mas tb continua o erro...

Estou usando uma fonte que comprei para o arduino de 9v 1A para o modulo e o arduino alimentado pela USB...

Na troca de placa alterei alguns parâmetros em arquivos da bilbioteca que baixei mas para evitar erros removi a biblioteca "alterada" e colei novamente outra sem alterações... Mudei a opção no software para a placa do UNO, envia o código normal, mas só da erro na serial... O complicado é que comprei na china, se for ter que comprar outro vai demorar pra chegar novamente, rsrsrsr....

Imagem da tela do computador.:

Imagem da montagem

Abraços....

Tem muita coisa aih... precisava fazer um teste por partes.

Ache um programa que faça uma copia do que vem pela serial (monitor serial) direto para o modulo.

Quando vc fizer isso de o comando 

ATZ

Ele deve responder OK

Acompanhe o piscar dos leds para saber se está transmitindo corretamente.

Algo assim:

https://gist.github.com/johnboiles/17d5949de771c7b9b918

Altere, é claro, para a pinagem que vc usou.

Use um led+resistor de 1K em série para "escutar" os bits passando. 

A principio deve ter leds na placa, já bastaria.

Eduardo,

Boa Tarde...

Sou bem leigo e estou com dificuldades para realizar os testes que você sugeriu...

Ao compilar o código ja deu um erro "Serial1' was not declared in this scope"...

Como faço esse teste de verificar o que vem de resposta da serial?

Tenho o módulo conversor de usb para ttl  RS232 (conforme imagem) dá pra fazer os testes de comunicação com ele? Basta ligar o RX, TX e GND?

Abraços...

Muito Obrigado pelas ajudas...

O desespero maior é pq essa função faz parte do meu projeto de mestrado...rsrsrs

Sim, dá sim.

Com ele ligado

TX<->RX

RX<->TX

Tente dar uns [enter]s e depois digitar ATZ [enter]

Esses [enter]s iniciais são necessários para o modulo perceber a velocidade que vc está utilizando. Normalmente são autodetect. Se não funcionar tente mudar a velocida. Teste ao menos em 9600 e 19200 que são as velocidades mais comuns.

Eduardo,

Me desculpe por tantas perguntas... Tem como fazer esse teste direto com o putty ou termite ou outro software ou tem que passar pelo arduino????

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço