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

3

Gostaria de fazer um transmissor que envie automáticamente 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 cercânias, 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 periodo (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 incluido um delay adicional para gerar tempos de até 4 min. Nas configurações do usúario, 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

Manuais tecnicos:
HT6P20B
Pic12F629/675

Curiosidades:
Busca de um céus mais seguros
Zepelim
Ouvindo sons do espaço
Porque as estrelas são cintilantes?
Uma voz silenciosa que pode se ouvida

Outros assuntos:
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
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
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!!!

3

28 comments

  1. 0

    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. 0

      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. 0

        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. 0

          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. 0

    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. 0

      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. 0

    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. 0

      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. 0

        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. 0

          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. 0

            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. 0

    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. 0

      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. 0

    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. 0

      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. 0

    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. 0

      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. 0

    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. 0

    Ó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. 0

      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. 0

    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. 0

      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. 0

    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. 0

      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.