Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
O módulo SIM800 é uma solução GSM/GPRS popular para adicionar funcionalidades de comunicação móvel a projetos de eletrônica. Este módulo permite que o Arduino envie e receba mensagens SMS, realize chamadas telefônicas e conecte-se à internet via GPRS. A integração do SIM800 com o Arduino é uma habilidade valiosa para projetos de IoT (Internet das Coisas), onde a comunicação remota é essencial.
Neste artigo, abordaremos como configurar e utilizar o módulo SIM800 com o Arduino, incluindo ajustes necessários para garantir a compatibilidade e funcionalidade. Vamos criar um projeto prático que envia uma mensagem SMS quando um botão é pressionado.
Project: Envio de SMS com Arduino e Módulo SIM800
Objetivo: Criar um sistema que envie uma mensagem SMS para um número de telefone específico quando um botão é pressionado.
Funcionalidades:
Components List:
Examples:
// Inclui a biblioteca de SoftwareSerial para comunicação serial com o SIM800
#include <SoftwareSerial.h>
// Define os pinos RX e TX para o módulo SIM800
SoftwareSerial sim800(7, 8);
// Define o pino do botão e do LED
const int buttonPin = 2;
const int ledPin = 13;
// 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 SIM800
sim800.begin(9600);
// Define os pinos do botão e do LED como entrada e saída, respectivamente
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
// Configura o módulo SIM800
setupSIM800();
}
void loop() {
// Lê o estado do botão
buttonState = digitalRead(buttonPin);
// Se o botão for pressionado, envia uma mensagem SMS
if (buttonState == HIGH) {
// Acende o LED para indicar que o botão foi pressionado
digitalWrite(ledPin, HIGH);
sendSMS("Número de telefone", "Mensagem de teste do Arduino!");
// Apaga o LED após enviar a mensagem
digitalWrite(ledPin, LOW);
// Aguarda um tempo para evitar múltiplos envios
delay(5000);
}
}
// Função para configurar o módulo SIM800
void setupSIM800() {
// Envia o comando AT para verificar a comunicação
sim800.println("AT");
delay(1000);
// Configura o modo de texto para SMS
sim800.println("AT+CMGF=1");
delay(1000);
}
// Função para enviar uma mensagem SMS
void sendSMS(String number, String text) {
// Envia o comando AT para iniciar o envio de SMS
sim800.println("AT+CMGS=\"" + number + "\"");
delay(1000);
// Envia o texto da mensagem
sim800.println(text);
delay(1000);
// Envia o caractere Ctrl+Z para finalizar o envio
sim800.write(26);
delay(1000);
}
Comentários sobre o código:
SoftwareSerial
é usada para criar uma porta serial adicional para comunicação com o SIM800.setupSIM800
configura o módulo SIM800 para o modo de texto SMS.sendSMS
envia uma mensagem SMS para o número especificado.