Este tópico contém 4 respostas, possui 2 vozes e foi atualizado pela última vez por  Emerson 1 mês .

Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #285537

    Emerson
    Participante

    Estou com dificuldade de como posso fazer para enviar mensagem de texto com o SIM800L, a partir de uma variável de um sensor.

    #285629

    Beleza. Primeiro passo é você descrever como exatamente você deseja o projeto? Quais sensores, placa, etc 🙂

    #285927

    Emerson
    Participante

    meu projeto é o seguinte:
    Eu vou usar um acelerometro MPU5060 como sensor, e quando for detectado um impacto (ou seja que o valor tenha uma oscilação significativa nos eixos) meu arduino MEGA2560 enviara uma mensagem de texto ( o módulo SIM800L) contendo a localização GPS (Estou utilizando o NEO6mv2) para alguns números programados no código.

    #286126

    Bom, a ideia geral do código seria:

    Mantém o programa verificando a situação do sensor;
    Se acontecer um impacto, entra numa condicional if, onde você ativa o SIM800L para que mande a mensagem. No caso, antes de enviar a mensagem, você precisa ler a coordenada, depois enviá-la junto com a mensagem desejada.

     

     

    #341509

    Emerson
    Participante

    Boa noite Diogo.
    Estou com uma dificuldade e gostaria de saber se vc pode me ajudar. Estou tentando enviar a mensagem para dois ou mais números de telefone mas não estou conseguindo. você tem alguma dica de como posso fazer? Esse é o código que eu estou utilizando:

    #include <SoftwareSerial.h> // Incluimos a livraria SoftwareSerial
    SoftwareSerial mySerial(8, 9); // Declaramos os pinos RX(8) y TX(9) que vamos a usar

    void setup(){
    Serial.begin(9600); // Iniciamos a comunicação serie
    mySerial.begin(9600); // Iniciamos uma segunda comunicação serie
    delay(1000); // Pausa de 1 segundo
    EnviaSMS(); // Chamada a função que envia o SMS

    }

    void loop(){
    if (mySerial.available()){ // Se a comunicação SoftwareSerial tem dados
    Serial.write(mySerial.read()); // Obtemo-los por comunicação serie normal
    }

    if (Serial.available()){ // Se a comunicação serie normal tem dados
    while(Serial.available()) { // e enquanto tenha dados para mostrar
    mySerial.write(Serial.read()); // Obtemos pela comunicação SoftwareSerial
    }
    mySerial.println(); // Enviamos um fim de linha
    }
    }

    // Função para o envio de um SMS
    void EnviaSMS(){
    mySerial.println(“AT+CMGF=1”); // Activamos a função de envio de SMS
    delay(100); // Pequena pausa
    // Definimos o número do destinatário em formato internacional
    mySerial.println(“AT+CMGS=\”+55xxxxxxxxxx\””);
    delay(100); // Pequena pausa
    mySerial.print(“Ola!”); // Definimos o corpo da mensagem
    delay(500); // Pequena pausa
    mySerial.print(char(26)); // Enviamos o equivalente a Control+Z
    delay(100); // Pequena pausa
    mySerial.println(“”); // Enviamos um fim de linha
    delay(100); // Pequena pausa
    }

Visualizando 5 posts - 1 até 5 (de 5 do total)

Você deve fazer login para responder a este tópico.