CHAVEIRO EMISSOR DE CÓDIGO HT6P TEMPORIZADO ( TRANSMITE A CADA 40 SEGUNDOS, PARA FINS DE ALARMES DE PRESENÇA)

Gostaria de fazer um transmissor que envie automaticamente a cada 40 segundos, um sinal para um receptor (alarme de carro, por exemplo) que identifique a presença do usuário? Então veja este artigo…

Os chamados ‘chaveiros de presença’ está sendo muito comum hoje. Basicamente, enquanto ele estiver transmitindo nas cercanias, irá permitir, por exemplo, que o veiculo funcione e que não dispare o alarme.
Como ele funciona? Nada mais é do que um transmissor em uma frequência escolhida, igual do seu receptor, cuja transmissões ocorrem em ciclos de transmissão e espera (sem transmissão). Dito de outras maneiras, ele irá transmitir seu código por um curto período (1 a 3 segundos) e depois irá esperar por 30 a 40 segundos. Isto ocorrerá de forma continua, enquanto a bateria fornecer carga.
A proposta acima, é usar um pic 12f629 para transmitir um código do tipo HT6P que possa ser lido e ‘aprendido’ por um receptor operando na mesma frequência (poderá usar o receptor genérico para pic 12f629 para receber estas transmissões).

O programa foi adaptado a partir do artigo ‘clone ht6p‘ deste blog, para operar sem ter que acionar botões externos (foram eliminados, conforme esquema acima). Foi incluído um delay adicional para gerar tempos de até 4 min. Nas configurações do usuário, podemos alterar o tipo de microcontrolador que pode ser usado, optando entre 12f629 e 675. Podemos escolher que teclas devem ser transmitidas como apertadas ou não. Também o delay entre transmissões e o número de vezes que será transmitido o mesmo sinal (seria o tempo que o botão ficaria apertado, no caso de um ‘chaveirinho’) pode ser alterado, conforme o gosto do hobista ou suas necessidades de projeto.
A alimentação do circuito poderá ser feita a partir de baterias miniaturas em série, ou uma bateria de 9 volts, reduzindo para 5 volts, com ajuda do ci 7805.

Este artigo poderá servir de base para muitas aplicações que nossos leitores talvez tenham em mente.
Obs. Este material é de uso inteiramente didático, sujeito a bugs ainda não observados.
Use o receptor ‘receptor para fins de bloqueadores veiculares’ para testes e montagens.

Segue o arquivo ASM (versão normal, consumo 12 Miliamperes):

TX_PRESENCA_ASM

Segue o arquivo HEX:

TX_PRESENCA_HEX

Segue nova versão ASM, que utiliza o Watch Dog em conjunto com a instrução ‘SLEEP’ ( consumo 10 microamperes):

TX_PRESENCA_SLEEP_ASM

Segue o HEX da nova versão com ‘Sleep’:

TX_PRESENCA_SLEEP_HEX

Segue versão de 07/05/2020 com os seguintes aprimoramentos:
1)Saída para led indicador de transmissão no pino 6 do PIC.
2)Jumper para transmitir direto (facilita os aprendizado do receptor) no pino 5.
3)Redução do tempo de transmissão para 1 segundo.

TX_PRESENCA_NEW

Manuais técnicos:
HT6P20B
Pic12F629/675

Curiosidades:
A vida – Teve um criador
Será que todos os idiomas vieram da “Torre de Babel”?
Outra prova de que a Bíblia é exata
“Destas montanhas extrairás cobre”

Outros assuntos:
Como lidar com o isolamento social
É importante dar tarefas para os filhos
O conceito da Bíblia sobre a saúde
O que fazer quando seu filho decepciona você?
Será que fomos feitos para ‘sofrer’?
Você perdeu a alegria de viver?

Vídeos para toda família:
Jonas – Uma lição de coragem e compaixão
“Não falhou nem uma única palavra”
Exemplos de avisos para nossos dias
As maravilhas da criação revelam a glória de Deus
Disciplina é amor
Imagine-se no paraíso
Teve um projeto – A tromba do elefante

Até o próximo artigo!!!

28 thoughts on “CHAVEIRO EMISSOR DE CÓDIGO HT6P TEMPORIZADO ( TRANSMITE A CADA 40 SEGUNDOS, PARA FINS DE ALARMES DE PRESENÇA)

  1. Olá Claudio,

    Montei este circuito e ficou muito bom… apenas uma pergunta: será que não tem como monitorar a tensão da bateria deste transmissor e avisar com um led a tensão baixa ? ex: alimentado por bateria de 9v e quando chegar aos 7v avisar…
    obrigado
    Angelo Matta

    1. Olá Angelo!
      Este implemento realmente seria prático para o usuário. Mas, geralmente implica em aumento do consumo e redução da vida da bateria. Poderá ver uma sugestão aqui.
      Cláudio

      1. Há sim, isso é verdade, aumenta o consumo, mas eu estou tentando falar em monitorar via software…. porque eu testei este circuito de 3v a 5v e funciona bem, monitorando a bateria (ex: bateria litium, ou 3×1,5v aa) ficaria melhor… o que acha?
        Angelo

        1. Olá Angelo!
          Fazer o que você citou envolveria modificar todo o código do tx e rx, uma vez que o ideal seria a indicação no receptor. Quem sabe em um artigo futuro eu possa ver isto.
          Cláudio

  2. Boa noite Claudio

    montei este transmissor e alimentei o controle remoto de um lado com – e do outro com o resistor vindo do pino 7 ai acontece ao contrario o controle manda 40seg de sinal e depois 02 segundos desl
    por favor voce poderia me ajudar abraço

    1. Olá Walker! Por favor me dê mais detalhes. Você está ligando a saída do pic (pino 7) em um tx comercial de 433mhz, certo? Este transmite com +5volts ou com gnd?
      Claudio

  3. Olá Claudio,gostaria de tirar uma duvida com voce, diminuindo o tempo de trasmissão e tambem o delay entre as trasmissoes, reduz o consumo da bateria, ou se tem outro jeito para diminuir esse consumo que esta alto por volta de 18 e 20 miliamperes, abrigado !!!

    1. Olá Smack!
      Talvez seja o caso de usar a função ‘sleep’ junto com o’watchdog’. A idéia seria transmitir e entrar em modo sleep (adormecido) m sendo acordado pelo watchdog , no periodo máximo. Isto deve reduzir o consumo bastante.
      Cláudio

      1. Claudio essa função, altero no ASM,é muito complicada de se fazer, poderia me ajudar não entendo muito de programação, abraço !!!
        agradeço

        1. Olá Smack!
          Veja, por favor, a nova versão ASM e HEX , com baixissimo consumo, usando o watch dog em conjunto com a instrução ‘sleep’.
          Obs.O link anterior estava errado.
          Claudio

          1. Olá Claudio!
            Muito obrigado, por ter alterado o ASM,estava meio corrido e não tive tempo para ver, irei fazer uns testes aqui, mas muito obrigado mesmo pela atenção.

  4. opa amigo , como sempre vc tava certo em respeito a configuração do pony e como não tinha muita experiencia com este compilador nem sabia sobre isso , resolvido a parte do diaplay e da gravação , agora estava testando a parte da memoria uma duvida ele não aceita memoia 24c16 que tem maior capacidade mesmo sabendo que o programa não ultrapassa os 100 codigos , mas é a que eu tenho em mãos e a outra que eu tenho é 24c04 que tb não funcionou , fiquei na duvida seria uma imcompatibilidade ou um problema de progamação , só isso para fica tudo resolvido depois caso queira postar as fotas da placa e do display funcionando te envio as imagens ok , uma coisa que tive de fazer foi um drive pois meu display é de 12V e o projeto é para 5V , mais ficou muito bom o acendimento perfeito como a todos os projetos que tem visto neste blog

    1. Olá Liliano! Ufa! Mas faz parte do aprendizado levar ‘baile’ nas montagens, no software,etc. Gostaria muito de postar a sua montagem, por favor.
      Sucesso!!!
      Claudio

  5. quero dizer o oscilador interno 8mhz , amigo onde esta essa palavra de que vc diz , amigo não entendo de assembler pois o fato de estar pisacando e demorando para entra no modo de programação , me explica ai

    1. Olá Liliano! Com ‘palavra de configuração’ estou me referindo a certos registradores dentro do Atmega8 que devem ser ajustados durante a fase de programação para configurar ‘a maneira’ que irá funcionar o chip, como exemplo: frequencia do oscilador interno entre 1,2,4 e 8 mhz (data sheet pag. 27 e 30) , ou se será oscilador externo e suas faixas de trabalho (pag. 29), se funcionará o watch dog ou não, o tempo de partida do oscilador (‘start up’ pag. 28), se o pino de reset será uma saida ou entrada, se haverá areas da flash ou eeprom que deverão ser bloqueada para leitura ou escrita, se a programação será paralela ou serial, se será reservado espaços para ‘boot loader’ ( programa carregador de sofware interno via serial), etc. A lista das funções estão na pagina 215 a 217 do data sheet do atmega8. Com o ‘prog_avr – programador de avr‘ e o programa de pc ‘ Ponyprog‘ voce poderá acessar esta palavra de configuração e ler/conferir/alterar . Somente NÃO ALTERE NUNCA a o bit RSTDISBL E SPIEN , pois se forem alterados, você somente poderá programar o chip com programador paralelo ou então usar o ‘breakfuse’ para destravar para uso em modo de programação serial. Coloquei junto ao artigo do ‘chama-garçom’ 2 printscreen da tela do Pony com a visualizção do acesso a palavra de configuração para você ter uma idéia. No seu caso, se seu hardware estiver em ordem (tudo bem conferido), então só sobra a possibilidade de ser algum erro nesta palavra de configuração, pois testei o codigo hex do blog e ele funcionou perfeitamente, entrando em programação com 5 segundos de aperto dos 2 botões.
      Cláudio

  6. então amigo como te falei , não manjonada de asm , nem sei em qual linha devo mexer , vi que o oscilador esta para 8M , , achei que vc isso o problema mais não sei alterar , pensei nesta hipotese pois o s traços estão piscando e ele demora pra entra no modo de programação , e tb quando entra demora para simular que gravou porem não grava a placa ficou muito boa meu pai que fez , mas o circuito ta parado , como vc testo ele ?

    1. Olá Liliano! Você conseguiu ler a palavra de configuração? quando você diz que oscilador está para 8m , o que você quer dizer?
      Claudio

  7. vejo que vc anda oculpado pois meu comentario ainda nem foi postado este ja meu segundo , me diz onde posso modifcar o arquivo asm que eu mesmo faço aqui para te dar menos trabalho , agradeço muito sua compreensão pois ja estou com a placa montada pronta pra funcionar , outra coisa o rapaz me disse que se quiser qu te envie uma placa desta ou qualquer outro projeto é só me passar o endereço que envio ela pra vc ok

  8. Óla claudio tudo bom.projeto muito bom,Cladio vc pode
    me ajudar,estou com codigo fonte de um teclado que usa um pic 16F628A,que gera de numeros de 0 a 9 usa a porta ps2
    do pc,Eu não consigo gera o arquivo hex para testar.

    1. Olá Sandro! Eu não entendi bem o que você pretende fazer. Seria o teclado que vai enviar para o PC pela serial em formato ascii? Se for você poderia usar um programa terminal como o Hyperterminal para receber estes sinais enviados. Agora, se for um código a ser enviado para o microcontrolador do teclado, você deverá digitar os códigos manualmente tam ém no Hyperterminal, para fins de teste unicamente. Senão for nada disso, descreva com mais detalhes o que voce está fazendo ou pretende fazer.
      Claudio

  9. caro amigo sem a inten~sao de te incomodar mas sobre o pojeto do chama garçom com atmega 8 ( lembra) ocorreu um bug , fiz toda montagem e o seguinte defeito para entrar no modo de programação ele demora muito outra coisa demorou muito para programar o controle mas mesmo assim não memorizou quando desliguei da alimentação ele não funcionou nenhum controle , fiquei pensando seria no oscilador interno do micro , pois é o normal o display com os traços piscando e o mono de programação fica piscando ? me da uma ajuda onde estou errando fiz tudo como esta escrito aqui obrigado

    1. Olá Liliano! Estou temporariamente longe dos protoboards , em região sem disponibilidade de internet. Experimente ler a palavra de configuração do seu atmega, com o seu programador. Ao ligar, deveria estar apresentando os ‘traços’ fixos , sem piscar.
      Claudio

  10. Ola Cláudio tenho uma idéia de um receptor para o (chaveiro emissor de código ht6p temporizado) usando o receptor genérico 3 saídas.
    Colocando um temporizado dentro do próprio pic receptor genérico, quando estiver recebendo o pulso a cada 40 segundo a led 1 pino 6 fica aceso. Caso não receba o pulso o led 2 pino 5 acende avisando a ausência de pulso, mantendo led 1 aceso por um minuto, caso não receba o pulso novamente depois de um minuto desliga led 1 mantendo o led2 aceso, ate volta o pulso novamente e o pino 3 seria um reset. Ou ate mesmo usa outro pic como o 628. Não sei como fazer mais vou tenta. E gostaria de sua ajuda. E mais uma vez obrigado por nos proporcionar novas experiência.

    1. Olá George! Agradeço o seu comentário e sua sugestão. Infelizmente, o tempo ‘anda’ muito escasso para começar a desenvolver novas idéias no momento. Mas gostaria que você encarasse isto como um desafio pessoal, que pode ajuda-lo a crescer nesta atividade. O segredo é : Não desista! O meu primeiro projeto demorou 7 meses para funcionar, coisa que faria agora em 6 ou 7 horas. Procure datasheets, leia sobre o assunto de outros colegas, estude novos programas para ver como foi feito e medite como poderia usar certas linhas de código em novos projetos. Você vai conseguir! Sucesso!
      Claudio

Comments are closed.

Back To Top