Envie e Receba SMS Facilmente com o Shield GSM SIM900 para Arduino Mega
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino Mega 2560 | 1 |
| Shield GSM/GPRS Baseado em SIM900 (Seeed) | 1 |
Aplicativos e Serviços Online
- Visuino - Ambiente de Desenvolvimento Gráfico para Arduino
- Arduino IDE
Sobre este Projeto
Um dos elementos essenciais na construção de projetos IoT é a capacidade de conectar dispositivos. Wi-Fi e Bluetooth são boas opções de baixo custo, mas funcionam apenas em curtas distâncias ou em áreas de hotspot. Quando o dispositivo precisa estar em um local remoto, GSM é uma opção boa e fácil de configurar.
Neste Tutorial, mostrarei como é fácil enviar e receber mensagens SMS via GSM com Arduino.
Nos próximos tutoriais, também mostrarei como você pode conectar via GSM à Internet e acessar servidores, e como lidar com chamadas de voz.
Passo 1: Componentes
- Um Arduino Mega (Você pode usar outras placas, mas é melhor usar uma placa que tenha 2 ou mais portas seriais. O projeto pode ser modificado para usar Software Serial, mas usar uma serial de hardware é recomendado)
- Um Shield GSM Baseado em SIM900 ou Shield/Module compatível com SIM Card instalado (Imagem 2) (Usei um Shield GSM/GPRS Versão 1.0 da Seeed Studio)
- 2 Fios Jumper Macho-Fêmea
Passo 2: Conectar o Shield GSM ao Arduino
- Remova os Jumpers dos Jumpers de Seleção RX e TX do Shield GSM (Imagem 1)
- Encaixe o Shield GSM sobre o Arduino Mega
- Conecte a Extremidade Macho de um jumper Macho-Fêmea (Fio Laranja) ao pino RX1 do Arduino Mega (Imagens 2 e 3)
- Conecte a Extremidade Macho de um jumper Macho-Fêmea (Fio Marrom) ao pino TX1 do Arduino Mega (Imagens 2 e 3)
- Conecte a extremidade fêmea do fio RX1 (Fio Laranja) ao pino central do Jumper de Seleção RX do Shield GSM (Imagem 4)
- Conecte a extremidade fêmea do fio TX1 (Fio Marrom) ao pino central do Jumper de Seleção TX do Shield GSM (Imagem 4)
- Imagem 5 mostra o Shield GSM instalado e conectado
Passo 3: Iniciar o Visuino e Selecionar o Tipo de Placa Arduino
Para começar a programar o Arduino, você precisará ter a Arduino IDE instalada a partir daqui: https://www.arduino.cc/.
Certifique-se de instalar a versão 1.6.7 ou superior, caso contrário este Tutorial não funcionará!
O Visuino: https://www.visuino.com também precisa ser instalado.
- Inicie o Visuino como mostrado na primeira imagem
- Clique no botão "Ferramentas" no componente Arduino (Imagem 1) no Visuino
- Quando a caixa de diálogo aparecer, selecione "Arduino Mega 2560" como mostrado na Imagem 2
Passo 4: No Visuino: Definir a Velocidade do Canal Serial 1 para 19200
O Shield GSM é configurado por padrão para velocidade de porta serial 19200. Precisamos configurar a Porta Serial 1 para esta velocidade:
- No Inspetor de Objetos, expanda a propriedade "Serial", depois a Sub-propriedade "Item[ 1 ]" e selecione sua Sub-propriedade "Speed" (Imagem 1)
- No Inspetor de Objetos, clique no botão "Seta para Baixo" próximo ao valor da Sub-propriedade "Speed" (Imagem 1)
- Na Lista Suspensa, selecione "19200" (Imagem 2), para alterar o valor da propriedade (Imagem 3)
Passo 5: No Visuino: Adicionar e Conectar Componente GSM/GPRS Serial
Precisamos adicionar componente para controlar o Módulo GSM. O módulo é controlado através do canal Serial, então precisamos conectá-lo. Pino Digital 9 é usado para ligar/desligar o Módulo:
- Digite "gsm" na caixa de Filtro da Caixa de Ferramentas de Componentes, selecione o componente "GSM/GPRS Serial" (Imagem 1) e solte na área de design (Imagem 2)
- Conecte a saída "Out" do componente GSM1 à entrada "In" do canal "Serial[ 1 ]" do componente Arduino (Imagem 2)
- Conecte a saída "Power" do componente GSM1 à entrada "Digital" do canal "Digital[ 9 ]" do componente Arduino (Imagem 3). Este pino ligará/desligará a energia do Módulo GSM
Passo 6: No Visuino: Adicionar, Configurar e Conectar Componente Valor de Texto
Leva algum tempo para o Módulo GSM inicializar. É bom ter alguma indicação de que o módulo está pronto. Para isso, enviaremos o texto "GSM Ready" para a porta serial quando o módulo estiver pronto:
- Digite "text val" na caixa de Filtro da Caixa de Ferramentas de Componentes, selecione o componente "Text Value" (Imagem 1) e solte na área de design (Imagem 2)
- No Inspetor de Objetos, defina o valor da propriedade "Value" como "GSM Ready" (Imagem 2)
- Conecte a saída "Ready" do componente GSM1 à entrada "In" do componente TextValue1 (Imagem 3)
- Conecte a saída "Out" do componente TextValue1 à entrada "In" do canal "Serial[ 0 ]" do componente Arduino (Imagem 4)
Passo 7: No Visuino: Adicionar Elemento Mensagem Curta ao Componente GSM e, em Seguida, Função Enviar Mensagem ao Elemento
O componente GSM consiste em muitos módulos realizando diferentes tarefas. Como usaremos apenas SMS, precisamos adicionar apenas o módulo "Short Message" e, em seguida, adicionar uma função "Send SMS" a ele:
- Na Área de Design, selecione o componente GSM1 (Imagem 1)
- No Inspetor de Objetos, clique no botão "..." próximo ao valor da propriedade "Module" do componente GSM1 (Imagem 1)
- No editor de Módulos, selecione "Short Message" e clique no botão "" (Imagem 2) para adicionar um (Imagem 3)
- No Inspetor de Objetos, clique no botão "..." próximo ao valor da propriedade "Functions" do módulo "Short Message" (Imagem 3)
- No editor de Funções, selecione "Send SMS" e clique no botão "" (Imagem 2) para adicionar um
Passo 8: No Visuino: Configurar a Função Enviar SMS e Conectar Informações de Mensagem Recebida à Serial
- No Inspetor de Objetos, defina o valor da propriedade "Address" do elemento "Send SMS" para o número de telefone para onde você deseja enviar a mensagem (No meu caso, para testar, inseri o número do meu cartão SIM para que o módulo receba e imprima as mensagens que ele envia) (Imagem 1 - mostra um número fictício)
- No Inspetor de Objetos, selecione a propriedade "Text" (Imagem 2)
- Clique no botão "Pin" na frente da propriedade "Text" (Imagem 2)
- Na Lista Suspensa, selecione "String SinkPin" (Imagem 3). Isso adicionará um novo pino "Text" à função "Send SMS" (Imagem 4)
- Feche as caixas de diálogo do editor de Elementos (Imagem 4)
- Conecte a saída "Out" do bloco "MessageInfo" do componente GSM1 à entrada "In" do canal "Serial[ 0 ]" do componente Arduino (Imagem 4)
Passo 9: No Visuino: Adicionar e Conectar Componente Char To Text
A porta serial recebe um caractere por vez. Para enviar mensagens SMS, precisamos obter todos os caracteres de uma linha, criar um Texto a partir dele e enviá-lo ao Módulo GSM:
- Digite "char" na caixa de Filtro da Caixa de Ferramentas de Componentes, selecione o componente "Char to Text" (Imagem 1) e solte na área de design (Imagem 2)
- Conecte a saída "Out" do canal "Serial[ 0 ]" do componente Arduino à entrada "In" do componente CharToText1 (Imagem 2)
- Conecte a saída "Out" do componente CharToText1 à entrada "Text" do elemento "Send SMS" do componente GSM1 (Imagem 3)
Passo 10: No Visuino: Adicionar, Configurar e Conectar Componente Atraso
Precisamos garantir que enviamos o SMS após o texto ter sido devidamente atualizado. Podemos usar um componente Delay com curto atraso para isso:
- Digite "delay" na caixa de Filtro da Caixa de Ferramentas de Componentes, selecione o componente "Delay" (Imagem 1) e solte na área de design (Imagem 2)
- No Inspetor de Objetos, defina o valor da propriedade "Interval" como "100" (Imagem 2)
- Conecte a saída "Out" do componente CharToText1 à entrada "In" do componente Delay1 (Imagem 3)
- Conecte a saída "Out" do componente Delay1 à entrada "Clock" do elemento "Send SMS" do componente GSM1 (Imagem 4)
Passo 11: Gerar, Compilar e Carregar o Código Arduino
- No Visuino, pressione F9 ou clique no botão mostrado na Imagem 1 para gerar o código Arduino e abrir a Arduino IDE
- Na Arduino IDE, clique no botão Carregar, para compilar e carregar o código (Imagem 2)
Passo 12: E Divirta-se...
Parabéns! Você concluiu o projeto.
Imagem 1 mostra o projeto conectado e ligado. Na Imagem 2, você pode ver o diagrama completo do Visuino. Se você conectar com um Terminal Serial ao Arduino, após cerca de 30 segundos verá a mensagem "GSM Ready" aparecer (Imagem 3).
Uma vez que a mensagem aparecer, se você digitar algum texto e clicar em "Enviar" (Imagem 4), o texto será enviado como mensagem SMS. Se você selecionou como número de telefone no Passo 8 o telefone do cartão SIM no Shield, após um tempo você receberá a mensagem e ela será mostrada no Terminal Serial (Imagem 5). Se você definiu o número de um dispositivo diferente no Passo 8, as mensagens serão enviadas para esse dispositivo.
Você pode enviar mensagens SMS para o número de telefone de outros telefones e dispositivos, e elas também serão mostradas no terminal serial.
Também anexado está o projeto Visuino que criei para este Tutorial. Você pode baixar e abri-lo no Visuino: https://www.visuino.com
F1FP7L0IQS4L35B.zip
Processo de manufatura
- Sistema de Presença RFID Confiável com Arduino e Python
- Projeto DHT11: Sensor Temperatura/Umidade com LEDs Indicadores e Buzzer
- Monitor de Temperatura e Relógio Tempo Real com Arduino Due e Display TFT 3.2"
- Controlar Roomba Create 2 com Arduino e Android: Guia Passo a Passo
- Construa um Voltímetro DIY com Arduino e Display Nokia 5110 – Guia Passo a Passo
- Arduino e MPU6050: Controle Preciso de Servomotores SG90 e MG996R
- Sistema de Monitoramento de Incêndio Florestal em Tempo Real com Alertas SMS
- Módulo GPS u-blox LEA‑6H 02: Guia de Integração com Arduino e Python
- Leitura de Temperatura e Umidade com DHT11 no Blynk – Tutorial Arduino Passo a Passo
- Dominando Reconhecimento e Síntese de Fala no Arduino Due