XSMS800L – CONTROLE REMOTO DE 10 CANAIS POR SMS – C/ PIC 16F628A E SIM800L (REF322)

Uma alternativa interessante para controlar equipamentos a distância usando apenas o seu celular…

Continuando com testes com o módulo SIM800L resolvi ver a possibilidade de construir um controle remoto que fosse acionado simplesmente por um SMS (‘torpedo’) originado de um celular qualquer. Teria que ter uma senha para tornar mais seguro.
Também seria interessante que após receber o SMS e executar o comando recebido, que ele também enviasse um outro SMS para o celular de origem, informando sucesso na execução.
Eis que nasce o XSMS800L, um controle remoto de 10 canais, do tipo on/off, controlado por torpedos enviados por um celular. Veja como ficou o seu esquema:

O circuito é composto pelo módulo SIM800L, um PIC 16F628A, um conjunto de acionamento de 10 reles de saída e a fonte de alimentação. O transformador da fonte deverá fornecer pelo menos 2 Amperes de corrente. O módulo SIM800L é um pouco ‘guloso’ no consumo, especialmente no momento da transmissão. Pode ser optado por outros modelos de fontes de alimentação (chaveadas) mas você terá que testar a questão de ruídos e interferências geradas por elas. A comunicação entre o módulo SIM800L e o PIC é feita usando a USART (serial). A velocidade desta comunicação foi estabelecida em 9600 bauds e mantida precisa pelo uso do cristal de 20 MHZ.

PROCEDIMENTOS DE USO

Após a montagem física dos componentes em placa ou protoboard, programe o PIC16F628A com o arquivo .hex fornecido na pasta zipada ao final deste artigo. Poderá usar qualquer programador de PIC, de sua preferência. Este blog tem um simples e barato de ser feito, usando uma porta serial do PC ou um cabo adaptador USB-SERIAL. Ele trabalha com o programa WinPic800. Clique aqui para saber mais sobre este artigo.
Coloque um cartão SIM no módulo SIM800L. Este cartão deve estar devidamente cadastrado na operadora e com créditos. O número deste cartão será o número que receberá os SMS de comando.
Ligue a alimentação do circuito e observe o led do módulo SIM800L. Inicialmente ele pisca a cada 800 mseg. Quando ele estabilizar (depois de uns 20 segundos) começará a piscar a cada 3 segundos. Isto indicará que está conectado a rede de telefonia sem fio e pronto para receber os comandos via SMS.

FORMATO DOS COMANDOS USADOS

Assim, após esperar por 20 segundos depois de ligar a alimentação, pegue um celular qualquer e envie um SMS de comando para o número deste controle remoto (número do cartão SIM que foi colocado no módulo SIM800L).
O SMS de comando tem que respeitar o seguinte formato para funcionar corretamente:
1) Comando Simples:
Liga ou desliga apenas um canal.
Use o formato:

Letra Inicial + senha de 4 dígitos + letra do comando (C) + canal(de 0 a 9) + letra L ou D (liga ou desliga)

Ex. sendo a senha= 7539:
x7539c0l ou X7539C0L => irá ligar o canal 0.
X7539c8L ou x7539c8l => irá ligar o canal 8.

2) Comando Geral:
Liga ou desliga todos os canais simultaneamente.
Use o formato:
Letra Inicial + senha de 4 dígitos + letra do comando (G) + 11 ou 00 (ligar ou desligar todos canais)

Ex. sendo a senha= 7539:
x7539g11 ou X7539G11 => irá ligar todos os canais.
X7539g00 ou x7539G00 => irá desligar todos os canais.

3) Troca de senha pelo próprio usuário:
A senha inicial é 7539.
Para troca-la use o comando de troca no seguinte formato:

Letra Inicial + senha de 4 dígitos atual + letras do comando ‘TAS’ + nova senha de 4 dígitos

Ex. começando com a senha= 7539:
x7539tas2345 ou X7539TAS2345 => salvará a nova senha ‘2345’
x2345tasfofo ou X2345TASfofo => salvará a nova senha ‘fofo’
xfofotasPic8 ou XfofoTASPic8 => salvará a nova senha ‘Pic8’

Obs. O SMS de confirmação deverá constar a mesma senha que você trocou. Certifique de guardar bem a nova senha, pois se esquecer, terá que reprogramar o PIC com o arquivo.hex fornecido. Somente então poderá usar a senha original ‘7539’ e voltar a usar o controle remoto XSMS800L.
Note que a senha pode ter caracteres não numéricos. Importante ressaltar que o programa irá diferenciar minúsculas de maiúsculas somente na senha. Nunca use a letra ‘X’ ou ‘x’ na senha ou comando, pois ela é reservada e exclusiva. Ela serve de ‘start’ na recepção da senha e deve ser usada unicamente no começo de cada comando.

RECEBENDO CONFIRMAÇÃO DE ACIONAMENTO POR SMS

Quando enviamos um comando correto para o controle remoto XSMS800L, depois de alguns segundos, este retornará um mensagem com este formato:

XSMS800L Remote Control> OK: Comando Recebido: Estado das saídas>
CAN0=off,CAN1=on,CAN2=off,CAN3=on,CAN4=off,CAN5=on,CAN6=on,CAN7=on,CAN8=on,CAN9=on

Como você deve ter presumido, “CAN” se refere a um dos canais, acompanhado da informação de seu estado. Assim “CAN0=off” significa canal 0 desligado.

Mas teremos outro formato quando trocamos a senha:

XSMS800L Remote Control> Nova Senha Aceita => ‘senha’

Obs. Esta montagem é experimental, sendo de caráter didático, montada apenas em placa experimental (do tipo “Breadboard”), sujeita a “bugs” ainda não detectados. Está sendo fornecido os arquivos para que cada hobista possa alterar o programa segundo suas necessidades.

Segue pasta zipada com os arquivos da montagem:

XSMS800L_REMOTE_CONTROL

Manuais:
PIC16F628A datasheet
SIM800L datasheet

Curiosidades:
A capacidade de armazenamento do DNA
A capacidade de cicatrização da pele humana
Micro-organismos que comem petróleo
O faro do cachorro
Anemias – Causas, sintomas e tratamentos
A pele das cobras
O fruto da Pollia e seu azul impressionante

Outros assuntos:
Violência doméstica tem solução?
Seis lições para ensinar a seus filhos
Doze segredos para uma família feliz
Você pode entender a Bíblia
A origem da vida – Cinco perguntas que merecem respostas
A vida – Teve um Criador?

Vídeos:
Um manuscrito antigo e o nome de Deus
Por que existe tanto sofrimento?
Quer ouvir uma boa notícia?
O que é o Reino de Deus?
Você Pode Ter uma Família Feliz!
‘Não falhou nem uma única palavra’

Até o próximo artigo!

9 comments on “XSMS800L – CONTROLE REMOTO DE 10 CANAIS POR SMS – C/ PIC 16F628A E SIM800L (REF322)

  1. Olá, sou novato com controladores então desculpe se a pergunta é fraca mas, depois de baixar o arquivo não entendi bem com que foi escrito o código… eu abri a pasta e usei o WORDPAD para visualizar. Alguem poderia me dar uma ajuda? Grato pela a tenção.

    1. Olá Clodoaldo
      Você pode ate usar qualquer editor de texto para abrir os arquivos, mas se você tem intenção de modificar o programar e recompilar, então você tem de usar o IDE do CCS C (com IDE quero dizer o ambiente de programação que aparece na tela do monitor do PC quando você abre o aplicativo da CCS C compiler. É neste ambiente que se programa os códigos em “C” e depois transforma em linguagem de máquina (ou seja “compilar o arquivo “C” para .hex).
      Mas se a ideia é somente gravar um PIC, então descompacte a pasta fornecida no artigo e use o arquivo com terminação .hex. Se você tem um gravador de pic basta colocar o PIC no suporte DIP (zero force), alimentar o circuito, conectar com o computador, e ao abrir o programa gravador ( o software que você instala no PC fornecido pelo fabricante do programador) irá pedir o modelo do PIC, e depois abrirá uma janela de procura para você apontar onde se encontra o arquivo .hex a ser gravado.
      Nota: Existem vários IDE para programar em C. Ex. XC8 da própria Microchip (gratuito), MikroC (versão por 30 dias gratuita, CCS C , etc. Se um programa foi escrito em um ambiente terá que usar o mesmo para abrir. Caso use outro ambiente, terá que adaptar alguns comandos que sempre são diferentes de um fabricante para outro.
      Espero que seja mais ou menos isto que queira saber.

      1. Trabalho com eletrônica a mais ou menos 35 anos… Agora , depois de “velho” fiquei curioso e comecei a pesquisar estes controladores de modo geral… Em uma busca, achei este projeto muito interessante. Neste momento não tenho habilidade suficiente para mexer na listagem dele… Mas deixei a pasta guardada, quem sabe um dia consigo montar algo para praticar… Agradeço seu cuidado em responder, e suas dicas certamente ajudam muito a compreender como a coisa é formada. Mais uma vez, muito grato!

        1. Boa tarde Clodoaldo
          O importante é a vontade de aprender. Depois entra a paciência em saber que vai errar. E por último a persistência que vence qualquer desafio.
          Comece entendendo como funciona um microcontrolador. Depois que sabe como funciona o microcontrolador, veja vídeos no YouTube de como funciona a linguagem mais simples, ou seja o Assembly. Por último, aprenda a linguagem C. Tem um curso básico grátis no YouTube do pessoal do Microcontrolandos.
          Desejo sucesso na sua empreitada!

  2. Oi Claudio bom dia, parabéns mais um brilhante projeto, tenho uma sugestão, a possibilidade de acionar o controle de cinco canais e cinco como sensores (entradas de alarme) há possibilidade no mesmo projeto?
    Desde já agradeço, saúde e forte abraço.
    Jaison Meneghel

    1. Olá Meneghel!
      Sem problemas se você alterar o código para incluir envio de mensagens a partir do estado de determinados pinos.

    1. Olá Costa Eusebio!
      Você quer dizer SIM800C? Seja qual for, eu usei apenas o SIM800L e não sei dizer se o SIM800C vai funcionar. Tente verificar quais as diferenças entre eles no datasheet.

  3. Olá Cláudio . Este é um projecto muito interessante.
    Posso usar, neste projecto, o S100C.

    Respeitosamente :
    Raúl.

Comments are closed.

Back To Top