Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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:
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:
SoftwareSerial
para permitir a comunicação serial em pinos diferentes dos pinos padrão (0 e 1) do Arduino.setup()
, inicializamos as comunicações seriais e configuramos o módulo GSM para o modo de texto.loop()
, verificamos se o botão foi pressionado e, em caso afirmativo, chamamos a função sendSMS()
para enviar a mensagem.sendSMS()
envia os comandos AT necessários para enviar um SMS para o número especificado com o texto fornecido.