Muitos hobistas, ao verem a menção de ‘hopping code‘, já torce o nariz. Até gostariam de usar o controles remotos comerciais (chaveirinhos) com o ci ‘s HCS200 …301. A dificuldade maior é a programação do próprio HCS, visto que não sabemos as várias chaves usadas pelos fabricantes de placa de portões e alarmes, bem como os diferente algoritimos de obtenção desta ‘chave’. A solução é a apresentada no artigo ‘placa generica para hcs200…301 com pic 12f629‘, exigindo o uso de um programador comercial para HCS ou mesmo fazer um (vide artigos:HCS_PROG_V628, HCS_PROG_TINY e HCS_PROG). Conforme explicado, escolheriamos a ‘nossa chave’ para o transmissor e receptor. Mas existiria um jeito mais facil de usar estes controles remotos? Veja a resposta…
Existe um jeito bem simples. Não usar a parte codificada da transmissão, mas usar somente o ‘serial number + botões’ da parte fixa, composta de 32 bits. Cada vez que ocorre uma transmissão, ‘sempre’ será enviado o mesmo número , mais os botões que forem acionados. Lógicamente, perdemos a parte da segurança em beneficio da simplicidade (uma vez que um código fixo pode ser copiado e repetido). Em aplicações simples como por exemplo, sensores infravermelhos sem fio, sensores de janela sem fio (uma vez que for acionado ligará um alarme ou uma lampada) não teremos problemas com isto. Basicamente, irá se comportar como um ci HT6P20B, que é código fixo também. No código ASM, foi previsto a possibilidade de escolher entre um PIC 12F629 ou um PIC 12F675, apenas comentando / descomentando as linhas ‘#DEFINE PIC629 ou #DEFINE PIC675’ no início do programa. Uma vez que a parte dos botões é zerada no ‘aprendizado’, basta apenas ‘aprender ‘ apenas um botão que os outros já o serão automaticamente. Este programa permite aprender até 30 controles da série HCS200 …301, todos sendo armazenados na EEPROM interna do próprio PIC.
As pinagens foram mantidas, para poder usar a placa generica com PIC 12f629, também com esta opção. Use o MPLAB-IDE da Microchip para recompilar, se desejado. A rotina de recepção detecta bem sinais do HCS com ‘TE’ de 400 microsegundos (pulso base). Para valores como 200 microsegundos ou 100 microsegundos, não foram testados, e talvez exija alteração das rotinas de tempo.
Clique aqui para obter o esquema do circuito.
Clique aqui para obter sugestão de circuito impresso para a placa generica.
Clique aqui para obter o desenho dos componentes na placa , visto pelo lado do cobreado.
Segue abaixo o código ASM ( modo ‘pulso’):
Segue abaixo o código HEX (modo ‘pulso) para versão PIC 12F629:
Segue abaixo o código ASM ( Com opção para modo ‘pulso’ ou modo ‘retenção’):
Segue abaixo o código HEX (em modo ‘retençaõ) para versão PIC 12F629:
Projeto baseado nas seguintes ‘Notes Applications’:
HCS200
HCS201
HCS300
HCS301
PIC 12f629 (675)
MCDEC14.ASM
Curiosidades:
Al_Jazari – ‘pai da robótica’?
O ‘pim’ – confirma relato biblico
Jockeys ‘robos’
Controle remoto e o efeito estufa
Zepelim
Ouvindo sons do espaço
Porque as estrelas são cintilantes?
Outros assuntos:
Como lidar com dívidas
Como resolver diferenças no casamento
Como tratar o conjuge com respeito
Como evitar ferir com palavras
Ensine seus filhos bons principios com atividades de colorir
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Entrevista com um bioquímico
Até o próximo artigo!!!
Claudio many thanks for your fast answer.You have very good projects,I do a couple of them from you. 🙂 THANKS
Hello Claudio,very good project.How to change output mode from momentary to ON-OFF.What I must to write in asm code?(When press one time one buton,the output will be 1,then the same button is pressed and output is 0)THANKS from Czech Republic
Hi digit99! Thanks for your comments! Please, see the new Asm Code here and Hex here .
Claudio
Olá Claudio , como sempre voce nos surpreende com seus projetos , sigo utilizando e muito seu blog como referencia , valeu ….