RECEPTOR DE CONTROLE REMOTO COM 2 CANAIS, PARA HCS200…301, USANDO PIC12F675/629 (COM HOPCODE)

0

Como fazer um pequeno receptor para controles remotos que usem circuito integrado HCS200…301 com um PIC12F675 ou 12F629? Com ‘hopping code’? Com 2 canais separados? Veja mais…
Para aumentar a segurança, muitos hobistas tem optado por usar controles remotos com a tecnologia do ‘hopcode’ (código esperado). Os ci’s da Keelog são apropriados para tais dispositivos e tem uma vasta biblioteca para buscarmos informações, com exemplos de uso. A montagem proposta agora, trata-se de um receptor de controle remoto usando um PIC de 8 pinos (12F675/629), em que 4 pinos são saídas para controlar a aplicação que desejamos.
Veja o esquema abaixo:

Foi usada o mesmo esquema do ‘receptor genérico para ht6p20b de 2 canais‘. Desta maneira, é possível facilmente migrar do ht6p20b para o hcs200….301. Como fazemos para aprender cada controle para cada canal? Por meio do ‘Jumper’ colocado no pino 3. Para o canal ‘A’ retiramos o ‘jumper’ e apertamos o botão ‘learn’ juntamente com um dos botões do controle remoto. Pronto! Será aprendido no canal “A”. Se colocarmos o ‘jumper’ e repetir a operação com outro controle, irá ser aprendido no canal “B”. Também, para apagamento na memória, foi previsto 2 modos a ser escolhido um deles, por ocasião da compilação do arquivo. Pode ser feito apagamento total ou parcial, neste último modo, o ‘jumper’ definirá o apagamento do canal “A” ou “B”, conforme for apertado o botão ‘learn’ por mais de 10 segundos.
Sempre é bom lembrar que os ci’s dos controles remotos de cada transmissor TEM QUE SER REGRAVADO para uma ‘Key’ que seja a mesma a ser usada na rotina ‘Decript’ (decriptar) do arquivo asm. Para isto, poderá usar um gravador de HCS comercial, ou fazer um caseiro, conforme os artigos publicados neste blog, como o ‘HCS_PROG‘ , ‘HCS_PROG_V628’ , ‘HCS_PROG_TINY’ ou ainda, ou o programador ‘STAND-ALONE‘ sugerido em Note Application.

O ARQUIVO ASM

O programa foi feito a partir de rotinas especificas para recepção e tratamento de sinais para decodificar os ci’s HCS, fornecidas em Note Applications da Microchip. Apenas, foi realizado a adaptação para os novos modelos, o uso da Eeprom interna, algumas mudanças na forma de procurar posição de gravação de controles novos, a maneira de armazenar o controle, quer para o canal “A” ou “B”,etc.
Para se saber a qual canal pertence, o programa identifica se foi colocado o Jumper ou não. Na ocasião da recepção de um novo controle, no momento que vai ser gravado seu serial number na eeprom, testamos o flag de jumper colocado. Se for ‘1’, setamos o bit 7 do byte mais significativo deste serial number. Isto não é problema, pois os bits 4 a 7 são zerados nesta ocasião, pois corresponde aos botões. Assim, fazemos um bom uso deste ‘nibble’. No apagamento de controles da eeprom, ao apertar o botão ‘learn’ por mais de 10 segundos, se a opção do asm for ‘apagamento parcial’, o bit 7 do byte mais significativo do ‘Serial Number’ na Eeprom, será testado e todos os que forem ‘1’ com ‘jumper’ colocado, serão apagados. Sem o ‘jumper’, todos os que forem ‘0’ serão apagados. No aprendizado de novos controles, uma nova rotina procura por posições vagas, e nela grava o novo controle.
Obs. Consulte a Keelog/Microchip para otenção de licenças para uso comercial de seu produtos. Esta montagem é apenas didática, sendo feita apenas em placa de protoboard, sujeito a bugs ainda não identificados. O arquivo ASM está sendo fornecido e poderá ser modificado segundo as necessidades dos hobistas.

Note Applications:
AN661
HCS200
HCS201
HCS300
HCS301
STAND-ALONE PROGRAMMER

Segue o arquivo ASM:

rx_gen_hcs_2c_V2_asm

Segue o arquivo HEX:

rx_gen_hcs_2c_V2_hex

Outros receptores:
Receptor para Ht6p20b
Receptor 2

Curiosidades:
Tendência de se isolar
Porque economizar é melhor do que gastar?
Proteja sua audição
O som da neve
Espantoso sentido no mundo animal
Glaucoma e a perda da visão
Estamos ficando sem água?
Florestas tropicais – como explorar sem destruir?
Os perigos da impaciência
O que aprendemos dos projetos da natureza?
Osteoporose – doença silenciosa
Carros – no presente e no passado
O sistema de ‘spray’ do besouro
Ouvindo sons do espaço
Porque as estrelas são cintilantes?
Uma voz silenciosa que pode se ouvida

Outros assuntos:
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Ensine seus filhos bons princípios com atividades de colorir
Entrevista com um bioquímico
Adolescentes- O que fazer se estou sofrendo bullying?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?

Até o próximo artigo!!!

Clique aqui para comentarios/sugestões fora deste tópico

0

19 comments

  1. 0

    Caro Claudio:
    Em primeiro lugar parabéns pelo seu site, com conteúdo técnico extraordinário. Parabéns! …
    Eu montei o circuito nesta seção, tanto o 12F675 e 12F629, ambos trabalharam apenas com o canal B.
    O nome do canal A não funciona de forma alguma …
    – Você já encontrou este problema?
    – Você tem um firmware.asm versão mais atualizada para corrigir este problema?.
    Muito obrigado
    Antonio (Málaga)

    1. 0

      Olá Antonio!
      Obrigado por seus comentários apreciativos. Quanto ao problema, você é o primeiro a me trazer a atenção. Assim que tiver um tempinho, irei montar em um protoboard e quando tiver uma resposta, irei retornar.
      Obrigado

      Claudio

    2. 0

      Olá Antonio!
      Ainda não tive tempo de montar o circuito. Mas antes de faze-lo, por favor, gostaria da sua atenção no seguinte:
      O pino 3 funciona como saída e em dados momentos, como entrada, na função de programação de controle e apagamentos,
      Assim, para que o efeito do jumper seja sentido, a saída do pino 3 deverá ser mantida com um resistor de 470 ohms ou superior, ao alimentar o próximo circuito (ex. transistor que ligue um rele). Retirando o pic do soquete, colacando o jumper, ligando a tensão e medindo a tensão no pino 3 do soquete ao gnd, terá que ser maior que 1,8 volts para funcionar a contento (nivel’1′). Retirando o jumper e refazendo as medições, deverá ser menor que 0,6 volts. Por favor, gostaria que conferisse em seu circuito, pois pode haver resistores com valores alterados ou montados por engano.
      Cláudio Lários

      1. 0

        Olá Claudio:
        – Volts O pino 3 retirando o PIC do soquete, colacando o jumper = 3,27 V.

        – Volts con PIC e colacando o jumper = 0,22 V.

        – Volts retirando jumper = 0,00 V.

        Resistor = 470 R e 1 K.

        Obrigado

        Antonio

        1. 0

          Olá Antonio!
          Obrigado pelas informações. Vou fazer os testes. Aguarde, por favor, um retorno.
          Cláudio

        2. 0

          Olá Antonio!
          Fiz testes com os pic’s 12f675 em mãos, e não tive problemas. Mas pensando no maior número de possibilidades, notei que, se o ‘pull up’ interno tiver tolerância para menos, poderia causar um nivel ‘1’, sem estar colocado o jumper. Por isto, no novo asm e hex postados, desliguei os pull up’s internos. Por favor, gostaria que você testasse para confirmar esta ‘teoria’.
          Cláudio

          1. 0

            Olá Claudio:
            Eu compilei o arquivo: RX_GEN_HCS_2C_V2.ASM com MPLAB IDE v8.91 usando PIC 12F675.

            O resultado é o mesmo: O canal “A” nunca funciona.

            Eu não quero abusar do seu tempo …

            Ser possível usar todos os quatro canais, como em “Receptor de controle remoto genérico para … 301 COM HCS200 PIC 16F628A 12F629 E” n º 908. Que funciona muito bem ?…

            Antonio

          2. 0

            Olá Antonio!
            Vamos ver se estamos falando a mesma língua. O receptor tratado no artigo ‘receptor de controle remoto genérico para hcs200…301 com 16f628a’ permite receber os 4 bits enviados : s0,s1,s2,s3. O controle remoto tem que ter a lógica necessária para gerar estes bits conforme o data sheet. Assim, um único controle remoto gravado consegue enviar estes 4 bits, podendo ter 4 botões ou mais (lógica de diodos).
            Já a montagem ‘receptor remoto de 2 canais, para hcs200…301, usando pic 12f675..) trata-se da obtenção de canais para controles remotos de 2 botões DIFERENTES. Preciso gravar um/vários controle(s) remoto(s) de 2 botões para um canal e outro(s) controle(s) remoto(s) de 2 botões para o outro canal. Cada controle comandará um certo canal, mas não os dois ao mesmo tempo. Se eu usar um controle que tenha 4 botões, não conseguirei fazer ele trabalhar para os 2 canais, pois seu Serial Number será igual. Apenas para termos certeza deste assunto, você gravou um controle para um canal, apertando o botão ‘prog’ momentâneamente (sem o jumper colocado) e apertando o controle remoto? E em seguida, apertou o botão ‘prog’ momentaneamente, (agora COLOCANDO o jumper) e apertou OUTRO controle remoto diferente de 2 botões, para fazer os testes?
            Estou tentando entender o que possa estar acontecendo, visto que, porque usando o hex do blog e gravando no pic , e , em seguida colocando na montagem feita no protoboard, funciona sem problemas!!! Será que você teria mais detalhes da tua montagem, se foi alterado alguma coisa?
            Cláudio

        3. 0

          Olá Antonio!
          Esqueci de perguntar: Quando você gravou a sua key nos hcs200..301 , você lembrou de mudar o Serial Number para que os controles ficassem com números diferentes? Se esquecer, o sistema aceitara os controles como sendo o mesmo, ficando em um único canal. (mais uma ‘teoria’ do que possa estar acontecendo).
          No aguardo…
          Claudio

  2. 0

    Bom dia Foxconn.
    Pesquizei o valor deste sensor que você indicou, pelo video é um produto com uma tecnologia bastante avançada mas o valor não é muito acessível. Valeu a dica, é mais um produto que eu ainda não conhecia. Obrigado.

  3. 0

    Ola Cláudio.
    Gostaria de dar uma sugestão de criar um campo para questões não relacionadas ao projeto em que estamos trocando idéias. Estamos trocando idéias de um novo projeto dentro da pagina do projeto do receptor, acredito que desta forma não iria misturar os assuntos e também iniciaria um novo forum para o novo projeto. Pensei nesta melhoria quando vi a pergunta do Joao_joao relacionado aos controles que utilizão o CI PT4022 dentro da pagina do projeto FAÇA UM RELÓGIO DIDÁTICO USANDO DS1302 E UM MC908QY4 (FREESCALE) para alguns este projeto não é tão interessante mas o assundo abordado pelo Joao_Joao sim e acaba não se manifestando porque não acessou a pagina, agora mais uma vez está ocorrendo o caso de tratarmos de um assunto interessante para alguns e para outros não. Fica a idéia para tentar melhorar ainda mais o seu blog que é de grande ajuda para os iniciantes no ramo e também para os mais experientes. Parabéns mais uma vez.

  4. 0

    Ola Claúdio.
    Os sensores de barreira são localizados facilmente pelos invasores então eles pulão ou passam por baixo da barreira mesmo colocando sensores em altura diferentes, penso em colocar estes sensores de ultrasom em cada porta e janela para quando o invasor ficar de frente com as aberturas o alarme já irá disparar. Obrigado.

    1. 0

      💡 Olá Roberto e com permissão do Claudio, posso dar um palpite sobre este tipo de problema com sensores ATIVO DE BARREIRA. Com a minha experiencia neste ramo de segurança com equipamentos de alarme este problema tive aqui com alguns clientes que investiam em sensores e remanejo deles e que nao solucionavam o problema de invasão do imovel, segue este link de um video com demonstração do sensor que resolver de fato os roubos http://www.youtube.com/watch?v=XVX1UiJ7MBw
      não e propaganda da marca mais sim uma solução para terminar com as dores de cabeça e com as surpresas do inimigo dos nossos bens.abraços

  5. 0

    Bom dia Cláudio.
    Quero colocar este tipo de sensor num alarme residencial substituindo os sensores de infravermelho tipo barreira. O local é um sitio e por ficar durante a semana sem pessoas para cuidar penso em colocar este tipo de sensor na area aberta visando afastar o possível invasor antes que ele se aproxime da casa e do gaupão, sensores reed precisam ser acionados para disparar o alarme, neste caso a porta ou janela foi arrombada. Com este tipo de sensor acredito que conseguiria acionar o alarme antes do arrombamento. Então com o trimpot ajustaria a distância para o disparo/acionamento do relé que por consequencia acionará o alarme.

    1. 0

      Olá Roberto!
      Se você já tem o sistema com barreira infravermelho, acredito que seria melhor mante-lo, pois abrange áreas maiores do que o por ultrasom ( cobre distancias frontais de apenas 1,5 metros aprox.). Mas, assim que eu obter um exemplar deste sensor irei fazer testes.
      Claudio

  6. 0

    Boa tarde Claúdio.
    mais uma vez parabenizo você por passar e disponibilizar seus conhecimentos a todos.
    Claúdio, você conhece os sensores de ultrasom para Arduino. PIC e ARM encotrados no Mercado Livre?? Exemplo link (http://produto.mercadolivre.com.br/MLB-475031417-sensor-ultra-sonico-distancia-hc-sr04-ultrassom-pic-arduino-_JM)
    Como não tenho muitos conhecimentos em programação peço se for possível um circuito que capte o sinal deste sensor e acione um ou mais relés se possível usar um PIC 12F629 para acionar somente um relé e usar um PIC 16F628 para quantos relés forém possível colocando um sensor para cada relé assim economizando o hardware, ainda se possível colocar um trimpot para ajuste da sensibilidade/distância para acionamento. Desde já agraço a atenção.

    1. 0

      Olá Roberto! Agradeço o seu comentário e elogio!!! O sensor que você mencionou mede a distancia de um obstaculo a sua frente, pelo tempo do retorno do eco. Eu não entendi bem o que você deseja fazer. Qual seria a aplicação? Qual seria a distancia a medir? Com que distancia deveria ligar o rele? Um com 12f629 e varios com 16f628? Por favor, não gaste linhas para explicar sua idéia ou seu objetivos.
      Cláudio

Comments are closed.