NAO CONSIGO ENVIAR SMS PELO SIM800l?

Olá pessoal, estou com dificuldade no meu código e não sei onde to errando, estou desenvolvendo um sistema de irrigamento onde tem um modulo sim800L e um sensor de umidade de solo, o sensor ira fazer a leitura do solo e enviando para sim800L que por sua vez ira enviei um SMS para um celular qualquer dizendo se o solo esta com baixa umidade ou umidade normal .

esse é o código que estou usando podem me da uma ajuda <3

  #include <SoftwareSerial.h>

SoftwareSerial chip(10, 11);

String SeuNumero = "+55920000000"; //Digite seu celular com +55, o DDD da sua cidade e o seu numero com o 9 na frente

#define sensor A0

bool BaixaUmid = 0, AltaUmid = 0;

byte UmidPercent = 0, umidade = 0, ValorAnterior = 0;

int ValorAnalogIn = 0;

void setup()
{
  Serial.begin(9600);
  Serial.println("Inicializando Sistema...");
  delay(5000);
  chip.begin(9600);
  delay(1000);

  pinMode(sensor, INPUT); //Configura o Pino do Sensor como Entrada

  ValorAnterior = analogRead(sensor); //Captura um primeiro valor de referencia inicial para a variavel ValorAnterior
}

void loop()
{
  //Le o valor do pino A0 do sensor
  ValorAnalogIn = analogRead(sensor); //Leitura do Valor Analógico do Sensor

  UmidPercent = map(ValorAnalogIn, 1023, 0, 0, 100); //Mapeando o valor entre 0 e 100
  umidade = 100 - UmidPercent;

  if ( (umidade > (ValorAnterior) + 1) || (umidade < (ValorAnterior) - 1))
  {

    if (umidade < 60 && BaixaUmid == 0)
    {
      BaixaUmid = 1;
      AltaUmid = 0;
      MensUmidBaixa();
    }

    if (umidade >= 60 && AltaUmid == 0)
    {
      AltaUmid = 1;
      BaixaUmid = 0;
      MensUmidNormal();
    }

    ValorAnterior = umidade;
  }

}

void MensUmidBaixa() //Funcao para enviar mensagem de alerta Umidade Baixa
{
  chip.println("AT+CMGF=1\r\n");
  delay(1000);
  chip.println("AT+CMGS=\"+5592000000\"\r\n");
  delay(1000);
  String SMS = "Baixa Umidade";
  chip.println(SMS);
  delay(100);
  chip.println((char)26);
  delay(1000);
}

void MensUmidNormal()//Funcao para enviar mensagem de alerta Umidade Normal
{
  chip.println("AT+CMGF=1\r\n");
  delay(1000);
  chip.println("AT+CMGS=\"+559200000\"\r\n");
  delay(1000);
  String SMS = "Umidade Normal";
  chip.println(SMS);
  delay(100);
  chip.println((char)26);
  delay(1000);
}

Ola, ele este recebendo os comando AT normalmente?

Se não verifique se o IMEI esta liberado na Anatel

www.anatel.gov.br/celularlegal

Olá,

Antes de ligares o módulo GSM ao Arduino testa-o ligando-o a uma fonte de alimentação e a um conversor UART/USB ligado a um PC. Liga RX TX do GSM ao TX RX do conversor. Liga também o GND.

Usa um terminal série (monitor série), por exemplo, o PuTTY. Envia os comandos AT através do terminal série e verifica se o módulo responde de acordo com o esperado.

Que fonte de alimentação estás a usar para alimentar o módulo GSM? Usa uma que consiga fornecer pelo menos 2A. Não ligues o terminal positivo dessa fonte ao terminal positivo do Arduino, visto que já estás a alimentar o Arduino pelo cabo USB. Liga apenas o GND dessa fonte ao GND do Arduino.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.