Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Envio de SMS com Arduino e Módulo GSM

Enviar SMS utilizando um Arduino pode ser uma funcionalidade extremamente útil em diversos projetos, como sistemas de alarme, notificações de sensores, ou qualquer aplicação que necessite de comunicação remota. Com a integração de um módulo GSM, é possível enviar mensagens de texto diretamente do seu projeto Arduino para qualquer telefone celular. Este artigo irá guiá-lo através do processo de configuração e programação do Arduino para enviar SMS, utilizando um módulo GSM.

Project: O projeto consiste em criar um sistema que envia uma mensagem SMS quando um botão é pressionado. O objetivo é demonstrar a integração entre o Arduino e o módulo GSM, bem como a programação necessária para enviar uma mensagem de texto. A funcionalidade principal será o envio de um SMS com um texto pré-definido, acionado por um botão.

Components List:

  • 1 x Arduino Uno
  • 1 x Módulo GSM (SIM900 ou SIM800)
  • 1 x Cartão SIM (com créditos)
  • 1 x Botão Push
  • 1 x Resistor de 10kΩ
  • Fios Jumpers
  • Protoboard

Examples:

// Inclui a biblioteca de software serial para comunicação com o módulo GSM
#include <SoftwareSerial.h>

// Define os pinos RX e TX para comunicação serial com o módulo GSM
SoftwareSerial gsm(7, 8);

// Define o pino do botão
const int buttonPin = 2;

// Variável para armazenar o estado do botão
int buttonState = 0;

void setup() {
  // Inicializa a comunicação serial com o computador
  Serial.begin(9600);
  // Inicializa a comunicação serial com o módulo GSM
  gsm.begin(9600);

  // Configura o pino do botão como entrada
  pinMode(buttonPin, INPUT);

  // Espera o módulo GSM estar pronto
  delay(1000);
  Serial.println("Iniciando o módulo GSM...");
  gsm.println("AT"); // Envia o comando AT para verificar a comunicação
  delay(1000);
  gsm.println("AT+CMGF=1"); // Configura o módulo para modo de texto
  delay(1000);
}

void loop() {
  // Lê o estado do botão
  buttonState = digitalRead(buttonPin);

  // Verifica se o botão foi pressionado
  if (buttonState == HIGH) {
    // Envia a mensagem SMS
    sendSMS("NumeroDoTelefone", "Mensagem de teste do Arduino!");
    // Aguarda um tempo para evitar múltiplos envios
    delay(5000);
  }
}

// Função para enviar SMS
void sendSMS(String number, String text) {
  gsm.print("AT+CMGS=\"");
  gsm.print(number);
  gsm.println("\"");
  delay(1000);
  gsm.println(text);
  delay(1000);
  gsm.write(26); // Envia o caractere de CTRL+Z para finalizar a mensagem
  delay(1000);
  Serial.println("SMS enviado!");
}

Comentários sobre o código:

  1. Incluímos a biblioteca SoftwareSerial para permitir a comunicação serial em pinos diferentes dos pinos padrão (0 e 1) do Arduino.
  2. Definimos os pinos RX e TX para o módulo GSM.
  3. Configuramos o pino do botão como entrada.
  4. No setup(), inicializamos as comunicações seriais e configuramos o módulo GSM para o modo de texto.
  5. No loop(), verificamos se o botão foi pressionado e, em caso afirmativo, chamamos a função sendSMS() para enviar a mensagem.
  6. A função sendSMS() envia os comandos AT necessários para enviar um SMS para o número especificado com o texto fornecido.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.