FAÇA SUA PLACA RECEPTORA DE PORTÃO AUTOMATICO COM PIC 12F629 / HCS200..301 ROLLER CODE (REF012)

Há algum tempo atrás, meu sogro teve um problema com seu portão automático. Ele não aceitava novos controles e como era uma placa antiga, teria que trocar tudo por novo. Resolvi por a mão na massa. Porque não criar um projeto bem simples que aceitasse uns 15 controles, que usasse a própria EEprom do microcontrolador, que fizesse a decriptação do roller code? Rascunho daqui , rabisca dali, e aí … (tarammmm!!!)  … surgiu esta placa:

Nota-se uma simplicidade muito grande: apenas um microcontrolador PIC12F629 (pau para toda obra), dois reles miniaturas de 12 volts com contatos para 10 amperes, um interruptor para o aprendizado (learn), um led para indicar o aprendizado, fontes,etc.
Neste projeto, usa 2 “reed switch” para identificar o fim de curso do portão ( 2 imãs junto ao portão). Caso o seu portão já tenha microchaves direto no motor, deverá deixar desligado as entradas dos reeds switch. A “KEY’ usada neste projeto é:
0123456789ABCDEF
Você poderá altera-la no código fonte e recompilar no MPLAB_IDE da Microchip. Se quiser mantê-la, poderá usar o arquivo Hex abaixo para carregar o Pic 12F629. Lembre-se que tem que programar seu controle (chaveirinho) com esta mesma senha. (Veja neste blog os artigos : Hcs_prog ou Hcs_prog_tiny que são programadores caseiros de baixo custo de montagem). Não adianta tentar faze-lo funcionar com a ‘Key’ original de fabrica, que será totalmente diferente e desconhecida (não temos como ler o chip depois de gravado), e não haverá sequer o “aprendizado”.
As palavras (Key’s) SYNC e SEED devem ser deixadas tudo zero (‘0000…’) ,pois não serão usadas nesta aplicação. Por ora, deixe a palavra ‘CONFIG’ em “0000” (veja as funções de cada ‘Key’ no Datasheet do chip usado). No programa, quando é feita a decriptação, usa o numero do discriminador igual aos 12 bits menos significativos do Serial Number para validar a transmissão recebida. Portanto, não esqueça de fazer ‘DISC=SER’ ao programar o HCS do controle.
Também é importante lembrar, que ao escolher o receptor, este seja da mesma frequência dos seus controles (chaveirinhos). A grande maioria usa 433mhz de frequência de transmissão. Na duvida: consulte o fabricante ou tente ver se trabalha com cristal especifico com identificação por ex. ‘R433M’ que é 433mhz.
Como aprender os controles programados com a nova ‘Key’:
APERTE BOTÃO ‘LEARN’ E DEPOIS ACIONE O CONTROLE REMOTO PARA APRENDER SEU CÓDIGO.
Para apagar controles não usados ou extraviados:
APERTE ‘LEARN’ POR MAIS DE 15 SEG PARA APAGAR TODOS OS CONTROLES DA MEMÓRIA (PERDA/ROUBO DE CONTROLE).
APÓS ISTO, OS CONTROLES RESTANTES TEM QUE SEREM REAPRENDIDOS.

Final de história: Sogro feliz e eu também, com o sucesso da montagem.

Segue abaixo o código ASM:

PLACA_PORTAO_ASM

Segue abaixo o código HEX:

PLACA_PORTAO_HEX

Links:
Como um programador caseiro para o HCS 200 /201 / 300 / 301 ( HCS_PROG_V628)
Como fazer outro programador caseiro para HCS 200 /201/ 300 /301 (HCS_PROG_TINY)
Como fazer um programador para HCS 200/201/30/301 usando o AT89S52

Segue o desenho a placa :

Segue o desenho da placa com orientação de montagem dos componentes (visto pelo lado do cobreado)

Obs. Caso deseje usar o ci HT6p20b ao invés do Hcs200 …301 , veja este link aqui.

Vídeo caseiro com a programação da placa usando o HCS_PROG_V628 aqui.

Vídeo feito por leitor deste blog (Ivo Hvarchilkov) usando este artigo aqui.

Curiosidades:
Universo cheio de surpresas
Universo – obra do acaso?
Nosso inigualável sistema solar
Mapeamento do céu
Qual a origem do universo e a vida?

Outros assuntos:
Quatro dicas para lidar com problemas financeiros e dívidas
Como lidar com sucesso com os sogros
Como reagir a um assédio sexual
Como parar de adiar as coisas

Até o próximo artigo!

21 comments on “FAÇA SUA PLACA RECEPTORA DE PORTÃO AUTOMATICO COM PIC 12F629 / HCS200..301 ROLLER CODE (REF012)

  1. Olá! Cara, muito legal teus projetos… sou hobista e to estudando demais teu projeto da placa de portao com o PIC12F629. Só to esbarrando, além das outras coisas, na programação do PIC… to tentando aprender a linguagem C para microcontroladores… por um acaso tu não tem o programa desse PIC em C?? se tiver, me ajudaria muito… sei que tu disponibilizou o .hex, mas realmente to querendo entender um pouco da programação… Não faço idéia (nem achei na net) como programar o receptor RF para aprender o código do controle… se não der, mesmo assim parabéns pela bela iniciativa. Abraço.

    1. Olá ‘Waymovie”! Como você, também estou aprendendo. Não tenho facilidade com “C”, mas em breve deverei postar alguma coisa nesta linguagem. Eu não entendi bem as ultimas frases. Você nunca programou um chip usando o hex fornecido? Você já tem um software (o programa que deverá estar rodando no seu PC) e um hardware (o programador ‘físico’) para programação? Ou não? Tente explicar a sua necessidade para tentarmos ajudar.
      Claudio

      1. claudio como faço a placa para usar com esse codigo em c estou tentando e nao estou conseguindo me da uma ajudinha ae e so desenhar onde os pinos vao ligados igual vc fez com a placa do 12f629 de portao!!

        1. Olá Hebert! Desculpe, mas não entendi bem o que você deseja. Você quer uma ajudinha para saber ‘onde os pinos vão ligados ‘ para qual circuito? Que código ’em C’ você se refere? Ou é o código “c’ que você deseja para ‘hopping code’? Ou é a placa pronta com ligações das trilhas do circuito…?
          Cláudio

  2. Bom dia estou fazendo um projeto,na escola e queria fazer um mine portão automatico,desse geito msm,queria saber se uso esse msm projeto e como fasso para fazer a comunicação do controle com o cirquito,obrigado;;.

    1. Olá Pedro! Os projetos deste blog estão a disposição de todos que desejarem usar, exceto para fins comerciais. Aconselho a usar a versão com controles comerciais que usam internamente o circuito integrado ht6p20b por ser mais fácil e não necessitar programação interna. Veja este link aqui.
      Claudio

      1. conversando com meu professor ele falou que eu poderia fazer com um sensor infra vermelho,ou de presença,qual vc acha melhor?vi ser um projeto piqueno uma maquete entendeu…estva querendo um cirquito,para eu começar a elaborar,

        1. Olá Pedro! Seria interessante você buscar mais orientações com seu professor e de repente, pode ser que alguns dos projetos deste blog pode servir de base para seu trabalho escolar.
          Claudio

  3. Oi Claudio — O que voce usou como receptor? stou querendo fazer +/- a mesma coisa mas quero usar um computador para receber os dados e generenciar os codigos diretamente pelo computador.
    Obrigado!

    1. Olá ‘Coxinha’!
      Você poderá usar qualquer receptor miniatura comercial de 433mhz como este aqui ou estes.
      Seus preços estão por volta de 15 a 30 reais, e são encontrados com facilidade em casas de componentes eletronicos ou venda pela internet.
      Bons projetos!!!
      Claudio

  4. Ola amigo, estou começando agora no mundo dos pics estava procurando por um tutorial que ensine a decodificar o rolling code construir uma placas dessas de portao, gostei muito do seu projeto, construi o gravador do HCS301 e gostaria de saber se vc disponibiliza o codigo fonte da placa recepitora em C pois nao entendo muito de Assembly e preciso fazer uma pequena modificação para servir no meu portao, se puder fico grato.

    1. Olá Mavomax! Agradeço seus elogios motivadores. Infelizmente, em ‘c’ também sou novo, ou seja, gosto muito de programar em linguagem ‘assembly’, mas em ‘c’, ainda tenho muita dificuldade (programar em ‘c’, para mim é como ‘ fazer tudo de trás para frente’). Outros colegas já pediram também em ‘c’. Assim que tiver alguma coisa, será postada.
      Cláudio

      1. Ola Claudio, ok fico aguardando. Se vc souber de algo que me ajude a implementar o codigo em arduino tbm funciona. O meu projeto e o seguinte eu tenho um portao e ele usa um controle roller code, basicamente a mesma coisa, porem eu quero implementar uma função extra nele que é acender a luz da garagem. O controle tem 2 botoes quero usar 1 botao para abrir e fechar, e o outro botao para acender a apagar a luz. E algo simples talvez vc possa modificar seu codigo pra essa função. Eu podeira usar seu codigo pronto como está e substituir o pic do meu portao porem ele tem umas funções extras como controle de embreagem que usa um TRIAC para isso e seu circuito nao possiu esse recurso. Moro numa rua muito mal iluminada e quando chego em casa queria poder acender a luz antes de abrir o portao para certificar que nao há um meliante me esperando na porta. se puder me ajudar fico aguardando.

  5. Ola Claudio. Muito bom seus posts, e admiro muito seus conhecimentos nesta area. Estou desernvolvendo um aplicativo, e preciso de um sistema de controle remoto como esse, mas usando o ht6p20. Gostaria que entrasse em contato comigo por email ou msn, para que eu te passe o que eu realmente preciso, e vc me passe o valor. obrigado. email/msn alarmes-receivers@hotmail.com.

    1. Olá !
      Agradeço seu comentário e suas observações positivas. Mas, os projetos aqui postados, são em caracter de ‘ hobby’, com objetivo de divulgar conhecimento ‘free’ para os que desejam aprender. Afinal, tudo que tenho aprendido foi graças a pessoas abnegadas que compartilharam seus conhecimentos na rede e é isto que desejo também fazer. Muitos dos projetos são apenas um piloto para projeto maiores. Muitos , talvez tenham bugs que poderam se manifestar em certas situações, por que, sempre, mas sempre, tem que haver milhares de testes , com milhares de situações para confirmar a qualidade de um projeto. Assim, declino de sua oferta e deixo aberto, se desejar compartilhar conosco suas idéias, a suas necessidades de projeto. Apesar de eu ser um simples hobista, quem sabe, talvez posso ajuda-lo em alguma coisa.
      Claudio

Comments are closed.

Back To Top