Com o módulo GSM GPRS SIM800L você pode efetuar ligações, enviar SMS e até mesmo conectar-se à internet. Neste post, vamos usar o SIM800L para montar um sistema de alarme por SMS juntamente com um sensor magnético reed switch.

Circuito alarme por SMS com o SIM800L e Arduino Uno

O projeto que vamos mostrar efetua a leitura contínua do estado de um sensor magnético conectado ao Arduino. Caso o sensor seja acionado, um SMS é enviado para o número de celular cadastrado na memória do microcontrolador.

Material para o projeto

Para montar esse projeto você vai precisar do seguinte material:

 

Aqui no Arduino e Cia postamos recentemente um tutorial mostrando como você pode controlar o Arduino atráves do recebimento de mensagens SMS usando o SIM800L (clique aqui para ler).

Já o sensor magnético reed switch é um componente que funciona como uma chave magnética: aproxime um ímã do sensor e os contatos são fechados, permitindo a passagem da corrente elétrica.

Sensor magnético Reed-Switch

A fonte para protoboard é um item importante (eu diria até indispensável neste caso), pois vai fornecer corrente suficiente para o correto funcionamento do módulo SIM800L. Sem ele, você pode enfrentar desde travamentos do módulo até um reset inesperado.

Circuito com Arduino Uno

O circuito abaixo mostra o sensor magnético ligado na porta analógica A1 do Arduino. Junto ao sensor temos um resistor de 330ohms servindo como pull-down. O módulo SIM800L está conectado nas portas 10 e 11, que funcionarão como uma porta serial graças à biblioteca SoftwareSerial.

Circuito Arduino Uno e SIM800L

No plug P4 da fonte da protoboard eu liguei uma fonte de alimentação 9V/2A. No nosso circuito ela vai servir exclusivamente para alimentação do SIM800L. Na fonte da protoboard, não esqueça de selecionar a tensão de 5V por meio dos jumpers.

Programa alarme por SMS com reed switch e SIM800L

O programa abaixo usa a biblioteca SIM800L (download). Descompacte a biblioteca e coloque-a na pasta LIBRARIES da IDE do Arduino. Vamos usar também a biblioteca SoftwareSerial, que já está embutida na IDE.

Coloque no slot do módulo um cartão SIM válido, desbloqueado e com créditos suficientes para realizar chamadas e enviar SMS.

No programa, configure na linha 8 o texto que será enviado via SMS quando o sensor magnético reed-switch for acionado. Na linha 9, coloque o número do celular que receberá a mensagem de texto, enviada na linha 29 pelo comando Sim800l.sendSms().

//Programa: Envio de SMS com SIM800L
//Autor: Arduino e Cia

#include <Sim800l.h>
#include <SoftwareSerial.h>
Sim800l Sim800l;

char* texto = "Sensor acionado!";
char* numero = "04111987654321";

#define pino_sensor A1

int valor;

void setup()
{
  Serial.begin(9600);
  pinMode(pino_sensor, INPUT);
  Sim800l.begin(); // initializate the library.
  Serial.println("Aguardando acionamento do sensor...");
}

void loop()
{
  valor = digitalRead(pino_sensor);
  if (valor != 0)
  {
    Serial.println("Sensor acionado! Enviando SMS...");
    Sim800l.sendSms(numero, texto);
    Serial.println("SMS Enviado...");
    while (digitalRead(pino_sensor) != 0)
    {
      delay(100);
    }
    Serial.println("Aguardando novo acionamento");
  }
}

Aproxime um ímã do sensor magnético reed switch e aguarde o recebimento do SMS no seu telefone celular/smartphone. Verifique o funcionamento do programa por meio do serial monitor:

Envio de SMS com SIM800L - Serial Monitor

Você pode adaptar facilmente este circuito para utilização com outros sensores como sensores ultrassônicos, infravermelho, indutivo e sensor de presença, entre outros.

Avalie este post!