FAÇA UM CONTROLE REMOTO DE 5 CANAIS (RF)- COM PIC 12F675 (REF 156)

Os controles remotos tipo chaveirinho permite usar apenas 2 ou 3 botões de acionamento. E se você deseja 5 botões?

Neste caso, terá que fazer seu próprio chaveirinho. Uma boa alternativa é usar um pequeno Pic 12f675 de 8 pinos, relativamente barato, para produzir o protocolo de transmissão para um tx comercial de 433mhz (miniatura). Veja o Esquema abaixo:

Com 5 chaves dactilares, e alguns resistores, podem ser facilmente acondicionados em uma pequena caixa plastica, escolhida a gosto pelo hobista. Poderá ser alimentado com uma bateria de 12 volts, reduzindo-se a tensão por meio de um ci regulador do tipo 7805. Ou pode-se usar 4 pilhas de 1,5 volts, com um diodo em série para reduzir a nivel seguro de operação.
O protocolo transmite 4 bytes, sendo 2 bytes de um número serial qualquer, a ser escolhido pelo hobista, e que deverá ser usado tanto no tx como no rx. Neste caso, foi usado o numero 0x89ab. O próximo byte é uma cópia da gpio, mostrando a condição das chaves dactilares. E finalmente o último byte é a somatória dos 3 primeiros, servindo de conferência para a integridade da transmissão.
No receptor, foi previsto a escolha de modo pulso ou retenção pelo usuário, alterando de forma individual, por canal. O mesmo pode ser dito se queremos saída em modo normal ou invertida. Basta alterarmos estas definições por comentar (//) ou descomentar a opção desejada e em seguida, recompilar o arquivo C. Na pasta fornecida abaixo, temos um hex pronto para modo normal e retenção em todos os canais. O hex para o tx não sofre mudanças com as alterações de modo pulso/retenção ou mesmo modo normal/retenção, sendo sempre o mesmo.
No esquema do receptor foi usado reles nas saídas, para controlar cargas, mas nada impede usar apenas transistores de potencia para controlar diretamente pequenos motores ou conjuntos de leds, bem como outras cargas desejadas. Para uso com cargas AC, convém manter os reles, isolando assim o circuito das cargas.
Obs. Esta montagem foi feita unicamente em placa de protoboard, sendo sujeita a bugs ainda não detectados. Esta sendo fornecido os arquivos que poderão ser alterados conforme a necessidade dos hobistas.

Segue pasta com os arquivos desta montagem:

CR_5C_675

Poderá ver também o artigo ‘CONTROLE REMOTO 8 CANAIS ON/OFF – PIC 16F628A’, para 8 canais.

Em 18/12/2014, foi postado esta nova versão de receptor, que testa por 2 recepções corretas antes de acionar saídas as saídas (medida para evitar falsos acionamentos em áreas com muita interferências):

cr_5c_675_v2_

Manuais:

Pic 12f675

Curiosidades:

Mestres medievais da medicina
Mestres medievais da mecânica
O coletor solar da asa da borboleta
Será que a Bíblia está de acordo com a ciência?
Ainda há tempo para salvar o planeta?
Como vencer a estafa
Uma visita a Camarões
Os sensores do besouro
Como posso lidar com o estresse?
Você acredita que já viveu antes?

Outros assuntos:
Como se livrar do ressentimento
Como ensinar seu filho a usar a internet com segurança
Por que rejeitar a pornografia?
Como ser feliz no casamento?
Quando seu casamento não é o que você esperava
Como resolver diferenças no casamento
Como recuperar a confiança no casamento
Quando um dos cônjuges tem necessidades especiais
Aprenda a perdoar
Como acabar com a tática do silêncio
Como criar filhos responsáveis
Como administrar o seu dinheiro
Como posso controlar meu peso?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?

Até o próximo artigo!!!

81 comments on “FAÇA UM CONTROLE REMOTO DE 5 CANAIS (RF)- COM PIC 12F675 (REF 156)

  1. Olá, claudio tudo bem?, estou sempre de olho no seu blog, ótimo,
    parabéns.
    Preciso de sua ajuda, pq já tentei de todo jeito e nada, olha só, tou precisando fazer um controle igual ao seu de 5 canais, com 12f675, e não tem jeito não funciona, no proteus sim, mas na protoboard naão, tentei, mudei o codigo, criei um esquema que manda 1 byte, e recebe no outro, e no proteus funciona e na proto nada, aí pensei que pode ser o bit de caligração, pq eu gravo no pic um programa pisca led e funciona, aí gravo esse seu e não funciona, gravo o outro que fiz e nada, queria saber se pode me ajudar, tenho mais 12f675 será que o bit de caligração dos outros pic tá calibrado? me ajuda aí…

    1. Olá Paulo!
      Você já verificou com o programador se não perdeu o byte de calibração? Pegue o pic gravado para tx e leia a flash. Verifique o ultimo endereço e confira se gravou um byte começando com 34xx, onde ‘xx’ é o byte de calibração escolhido pelo fabricante. Se encontrar apenas ‘FFFF’ então está explicado porque não funciona. Confira o pic rx, também lendo a flash e usando o mesmo procedimento.
      Parece a causa provável, uma vez que o software roda no Proteus.
      Cláudio

      1. Obrigado, consegui descobrir o problema, era o bit de calibração que tinha perdito, usando winpic800 consegui altear o bit, vou altear do tx e rx, para ver se fuciona, espero que sim, mas me diz uma coisa, todos pic tem esse negocio de bit de calibração? nunca tinha ouvido falar disso, pq existe isso? desde já muito obrigado, se precisar de alguma força em algo, estou as ordens.

        1. Olá Paulo!
          Microcontroladores é mais ou menos como os carros: os modelos antigos saiam com carburador e platinado. O modelo seguinte saiu com carburador e ignição eletrônica. Passaram mais uns anos, saiu a injeção eletrônica… e continua aperfeiçoando a tecnologia. Nem todos os pic’s tem este byte de calibração na flash. Alguns como no pic 16f628a fica internamente, sem como acessar nem apagar acidentalmente. Terá que estudar o datashhet na seção de osciladores para ver como é o funcionamento de cada um. O byte de calibração serve para fazer o ajuste fino na frequência do oscilador interno. Se você usa oscilador externo não necessita se preocupar. Mas se a palavra de configuração esta para oscilador interno, então o programa compilado em ‘c’ automaticamente vai gerar linhas de código para buscar na ultima posição da flash ( no pic12f675) este valor carregado pelo fabricante. Para isto gera uma instrução ‘call 0x3ff’. No local 0x3ff tem que ter uma instrução ‘retlw xx’. Em hexa retlw=34 e o xx é o valor correto para o oscilador funcionar em 4 mhz. Se não encontrar esta instrução de retorno, o programa se perde e não executa mais nada, resetando continuamente. Não funciona nada!
          Os pic’s tem muitos segredos escondidos em seu datasheet!
          Espero que tenha entendido, e que você consiga finalmente funcionar o seu projeto a contento!
          Cláudio

  2. OLÁ TUD BEM CLAUDIO LARIOS? ESPERO QUE SIM,
    TOU PRECISANDO MUITO DE SUA AJUDA, PRECISO DE UMA GEITO PARA FAZER UM PIC 12F675 COMUNICAR COM OUTRO, IGUAL NESSE PROJETO, MAS MONTEI E NÃO FUNCIONOU, NÃO SEI PQ, USEI O PICKIT 800 PARA GRAVAR O PIC, E NÃO ENTENDO PORQUE NÃO FUNCIONA, TESTEI CM UM FIO NO LUGAR DOS MODUOS RF 433 E NADA, TEM COMO ME DÁ UMA LUZ DE ACHAR ONDE TÁ ERRO? OU PODERIA TER UM GEITO DE DE MANDAR UM MATERIAL ENSINANDO PASSO A PASSO FAZER O PIC COMUNICAR COM O OUTRO? BEM SIMPLES MESM, DESDE JÁ OBRIGADO, SOU TEU ADMIRADOR. ATT. PAULO

    1. Olá Paulo!
      Verifique se você não perdeu o byte de calibração dos pic, lendo a flash e conferindo se no ultimo endereço tem um valor começando com ’34xx’. Se estiver ‘3fff’ coloque um valor manualmente, como ’34fc’ e regrave com este hex alterado. Neste projeto a comunicação é unilateral, do tx para o rx apenas. Se necessitar receber e transmitir, seria interessante implementar a comunicação serial, via software, nos 2 pic e usar 2 pinos, um para receber e outro para transmitir, de modo que possar trocar informações de acordo com o programa que deverá rodar. Eu não tenho uma matéria especifica para te indicar, mas na internet tem muitos exemplos de como comunicar um pic com outro.
      Cláudio

  3. OLÁ, AMIGO, VOCÊ SABERIA ME DIZER COMO POSSO TESTAR ESSE PROJETO NO PROTEUS 8? TEM COMO SIMULAR MODULO RF 433? OU TERIA COMO USAR UM FIO PARA VER O FUNCIONAMENTO E TESTES E NA PRATICA COLOCAR O RF NO LUGAR DO FIO? AGUARDO URGENTE.

    1. Olá Paulo!
      Assim como você tem dificuldade em programar pic, eu tenho dificuldade em usar simuladores e prefiro montar em placas de teste, na prática mesmo. Assim, não saberia te responder sobre as funcionalidades do Proteus ou se funcionaria interligando com ‘fio’ virtual. Neste blog tem vários tipos de tx/rx em rf, tanto em linguagem ‘c’ como ‘asm’, que poderá servir de base para algum projeto que deseje fazer ou mesmo entender o funcionamento.
      Cláudio

  4. GRANDE Cláudio Lários, adoro seus projetos, porém se fosse em php (rsrsr, sou bom em php), mas quando se trata de pic, estou só engatinhando, queria saber se você tem algum material para eu entender seu código, porque eu fico meio que voando, e eu gosto de entender sabe? se tiver algum material, queria um projeto mesmo simples, só para acionar um rele, via rf, desde já obrigado. att. Paulo

  5. Olá Claudio! O sistema contina disparando… Retirei a parte de transmissão sem fio, deixei cabeado mesmo para ver se o defeito possa estar no circuito que faz a interface com o PC (USB) através do mcu atmega. Gostaria muito de agradece-lo por ser sempre solicito com os meus problemas, abraço!

Comments are closed.

Back To Top