Arduino Shield GSM GPS DFRobot

227 views

Este Arduino Shield DFROBOT – GSM/GPS/GPRS reúne em uma mesma placa funções de GSM, GPRS e GPS, permitindo que você tenha no Arduino as mesmas funções que você tem em um Smartphone, como acesso à internet e localização por GPS, além de poder realizar as tarefas mais comuns, como chamadas via celular e envio e recebimento de SMS.

Arduino Shield
Figura 1 – Arduino Shield

Esse Arduino Shield é controlado pelo chip SIM908 da SIMCom, sendo Quad-Band (850/900/1800/1900 MHz), sem a necessidade de alteração de frequência, que é reconhecida automaticamente. O shield aceita alimentação de 6 à 12V (para uso com Arduino, recomenda-se que o mesmo seja alimentado com fonte externa), possui antenas para GSM/GPRS e GPS e tem entrada para teclado 4×4.

O envio de comandos para o shield é feito por uma série de comandos AT, que podem ser enviados diretamente via serial, ou através do Arduino.

 

Estrutura do Arduino Shield GSM e Configurações

Na imagem abaixo temos uma visão geral do shield mostrando os principais conectores e jumpers/switches de configuração.

Principais Conectores Arduino Shield GSM
Figura 2 – Principais Conectores Arduino Shield GSM

Na parte de cima da placa, no lado esquerdo, temos o slot para cartão SIM (tamanho comum), depois os switches S1 e S2 e os jumpers J10 à J12, que tem a seguinte função:

Switch S1 : No modo PROG, permite que seja efetuado o upload de programas para o Arduino. No modo COMM, realiza a comunicação direta entre o Arduino e o shield.

Switch S2 : No modo Arduino, permite executar normalmente os programas presentes na placa. No modo USB, o programa do Arduino não é executado e o Arduino se comporta apenas como um conversor USB/Serial, permitindo o envio de comandos AT diretamente do computador para o shield (via Serial Monitor, por exemplo)

Jumper J10, J11 e J12 : Utilizado para comunicação entre o Arduino e o shield. Retire os jumpers para utilizar normalmente as portas D3, D4 e D5, também permitindo que você use outras portas do Arduino para controlar o shield.

Na parte inferior, temos o switch de seleção UART, de três posições, que define se estamos utilizando o modo GSM ou GPS do shield, ou se isso será controlado via software.

Envio de comandos AT para o Arduino Shield GSM

Para enviar os comandos AT manualmente, via Serial Monitor, carregue o programa abaixo no Arduino, seguindo este procedimento:

  1. Mantenha S1 na posição PROG
  2. Mantenha S2 na posição USB
  3. Mantenha o switch UART na posição central, para selecionar modo GSM ou GPS via software
  4. Faça o upload do programa para o Arduino

Após o upload, coloque S1 na posição COMM e entre no serial monitor, que exibirá as informações abaixo, mostrando que o shield está se comunicando com o computador :

Comunicação com o Computador
Figura 3 – Comunicação com o Computador

Na tela acima, você pode enviar o comando AT para testar a resposta do shield (que será simplesmente “OK“), e o comando ATD<número>; para realizar uma chamada utilizando a rede GSM (não esqueça do ; (ponto e vírgula) no final). Para desligar, envie o comando ATH.

Realizando uma Chamada Telefônica via Arduino

A comunicação entre o Arduino e o shield também é feita via serial, e para realizar uma chamada telefônica pelo Arduino utilizamos os mesmos comandos AT que vimos anteriormente no modo manual. Apenas a disposição dos switches vai mudar, já que agora quem está se comunicando com o shield é o Arduino:

  1. Mantenha S1 na posição PROG
  2. Mantenha S2 na posição Arduino
  3. Mantenha o switch UART na posição central, para selecionar modo GSM ou GPS via software
  4. Faça o upload do programa para o Arduino

Após o upload, mova o switch S1 para a posição COMM e reinicie o shield. Abra o Serial Monitor para acompanhar o processo e aguarde alguns segundos para que a chamada seja completada e depois de alguns segundos, encerrada pelo comando ATH:

Obtendo Dados de GPS do Shield

Vamos agora obter os dados do GPS do shield, lembrando que teremos resultados mais precisos se estivermos em um ambiente externo com melhor acesso aos sinais de satélite GPS. Dependendo da intensidade do sinal, pode levar algum tempo para que o shield forneça a localização de forma correta :

  1. Mantenha S1 na posição PROG
  2. Mantenha S2 na posição USB
  3. Mantenha o switch UART na posição central, para selecionar modo GSM ou GPS via software
  4. Faça o upload do programa para o Arduino

Após carregar o programa no Arduino, coloque o switch UART na posição GSM (esquerda), e acesse o serial monitor para digitar os comandos abaixo :

  • AT
  • AT+CGPSIPR=9600 (seleciona a velocidade de comunicação)
  • AT+CGPSPWR=1 (liga o GPS)
  • AT+CGPSRST=1 (coloca o GPS em modo de autonomia)

Certifique-se de que cada comando acima obteve a resposta OK do Shield:

Depois disso, mova o switch UART para a posição GPS e aguarde o envio de dados no próprio serial monitor, nesse formato :

Vamos verificar em um mapa as coordenadas GPS que foram obtidas pelo shield, separando os valores da linha $GPRMC conforme abaixo :

Acesse este link e digite as coordenadas nos campos correspondentes :

Clique em Show Map para que seja mostrado o mapa referente às coordenadas fornecidas.

Estes são alguns exemplos básicos de utilização do Shield GPS/GPRS/GSM. Maiores informações sobre a placa, inclusive com exemplos de utilização de envio de SMS, você encontra na página da DFRobot.

Espero que tenha curtido este tutorial.  Para dúvidas e sugestões, faça seus comentários abaixo! Confira outros produtos em nossa loja!

(Visited 199 times, 1 visits today)