Alguém já trabalhou com esse shild? Quero liga-lo ao Arduino. Porém não tive sucesso. Algum tutorial para me indicar?

Exibições: 6281

Responder esta

Respostas a este tópico

Galera, vocês conseguiram colocar pra funcionar? Tenho o mesmo módulo e estou com um problema para receber o torpedo.

Com meu código eu consigo enviar sms e ligar, mas quando recebe sms os caracteres saem todos embolados. Minha intenção era receber um código e desativar uma trava. Mas não faço ideia como posso fazer, já que o texto recebido vem todo desconfigurado. Tentei um monte de códigos, mas sempre dão erros.

Obs.: Os pinos estão conectados ao d7 e d8 e com alimentação externa, como podem ver na figura 1.

Obs.: O sms sai normalmente, mas quando chega mensagem o texto aparecer desconfigurado, como podem observar pela figura 2.

Segue o código que estou usando:

 

#include <SoftwareSerial.h>;


SoftwareSerial SIM900(7, 8); //Portas que farão a comunicação com o Shield

char incoming_char=0; //Variavel que armazena os caracteres que são enviados via SMS
int sair = 0;

//Inicio da Void Setup

//===========================

void setup()
 {
   SIM900.begin(19200); //Configura a velocidade serial para a comunicação com o SIM
   delay(25000); //Delay de tempo para que o arduino possa encontrar a rede.
   Serial.begin(19200); //Configura velocidad serial para el Arduino
   Serial.println("OK"); //Mensaje OK en el arduino, para saber que todo va bien.
 }

//Função para envio de torpedo SMS

//===================================
void envia_sms()
{
  SIM900.print("AT+CMGF=1\r"); // Comando AT para enviar o SMS
  delay(100);
  SIM900.println("AT+CMGS=\"+5528999320000\""); //Telefone de destino - formato internacional +55 XX XXXX  XXXX 
  SIM900.println("Arduino"); // Mensagem a ser enviada 
  delay(100);
  SIM900.println((char)26); // End AT command with a ^Z, ASCII code 26 //Comando de finalizacion
  delay(100);
  SIM900.println();
  delay(5000); // Tempo para que se receba a mensagem de sucesso
  Serial.println("Mensagem Enviada");
}

//Função que aguarda o torpedo SMS ser enviado
//===========================================
void espera_sms()
{
  sair = 1;
  while(sair==1)
   {
     if(SIM900.available()>0)
     {
       incoming_char=SIM900.read(); //Recebe a mensagem sms vindas da porta serial do celular
       Serial.print(incoming_char); //Exibe no monitor serial a mensagem
       sair = 0;
      }
   }
}

//Função que executa ação mediante recebimento de SMS
//===========================================
void recebe_sms()
{
   SIM900.print("AT+CMGF=1\r"); // ativa modo SMS para envio de texto
   delay(100);
   SIM900.print("AT+CNMI=2,2,0,0,0\r");
   delay(1000);
}

//Inicio da Void loop

//===============================

void loop()
{
   envia_sms(); //Chama função de envio de SMS
   recebe_sms(); //Chama função de recebimento de SMS
   for(;;)
    {

      if(SIM900.available()>0)

       { 

         incoming_char=SIM900.read(); //Lê caracteres vindo da porta serial do cel
         Serial.print(incoming_char); //Exibe no monitor serial a mensagem
       }
     if(Serial.available()>0)
      {
        if(Serial.read() == 'A') break;
      }
    }

  Serial.println("OK-2");
  delay(100);
  SIM900.println();
  delay(30000);
  while(1);

}

bom dia, você conseguiu entender o funcionamento? estou usando esse modulo no meu TCC, mas estou com muita dificuldade ler e enviar mensagens...alguém poderia me ajudar?

Bom dia Ivone, 

Alguns colegas daqui já conseguiram usar o módulo SIM900. 

Informe as especificações do seu Módulo (links, fotos) .

Como fez a montagem ? Mande um link e fotos da sua montagem.

Use uma fonte com 2A aproximadamente. Esses módulos consomem muita energia. 

Sugiro que releia todo o tópico com atenção.

Olá José Gustavo, me duvida é mais na parte na programação, eu já conseguir enviar sms no arduino para o celular, mas não entou conseguindo enviar do celular para o arduino e executar um comando, vc sabe como posso fazer isso?

Vou olhar todos, muito OBRIGADA...

Fico muito agradecida

Boa tarde pessoal. To precisando de uma ajuda neste mesmo módulo da amiga que criou este fórum. Mesmo módulo, mesmo modelo da foto.

O módulo não está conectando a rede gsm. O led pisca por 9 segundos a 800ms informando que está procurando rede, mas ambos apagam com insucesso na conexão. Já vi muitos dizerem que é refente a alimentação. 

Eu estou usando uma fonte ligada diretamente ao módulo. Esta fonte é de 5V/ 3A.

Será que pode ser alguma outra alternativa?

Obrigado! 

Consegui resolver. O problema é que quando eu alimentava o módulo usando uma fonte externa o regulador de tensão por característica não permitia um dreno de corrente. Então, no momento da conexão ele não aguentava e a tensão caia. Não havia visto isso antes pois estava usando multímetro para monitorar a corrente e a tensão. Só consegui ver a queda de tensão pelo osciloscópio. Coloquei a fonte de alimentação na frente do regulador pelos pinos de entrada do circuito e resolvi o problema.

Sávio,

Estou lutando com esse módulo tb, tem como vc me enviar uma foto com as ligações que vc fez do módulo com o arduino e o código? Ja consegui fazer funcionar uma vez, enviei as msgs normalmente, mas depois tentei fazer funcionar no MEGA  mas não consegui, voltei para o UNO e tb não consigo mais fazer funcionar... Ja reisntalei a biblioteca (pq tinha feito umas alterações para usar o MEGA) mas mesmo assim não consigo fazer funcionar no UNO novamente... Vc está usando o Arduino Nano ou Mega? Tenho os 2 arduinos mas vou precisar fazer funcionar no mega ADK... Abraços...

Olá eu estou usando a mesma shield , consegui fazer funcionar perfeitamente. Porém depois de algum tempo ela nao esta conectando com a rede mais , o led fica piscando constantemente . 

Alguém sabe como resolver ?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço