CONTROL_TESTER3 – TESTANDO CONTROLE REMOTOS (CHAVEIRINHOS) COM INDICAÇÃO EM LCD (VERSÃO COM PIC 16F628A)

0

Há algum tempo atrás, publiquei versões de testadores de controle remoto usando o microcontrolador AT89c2051. Mas muitos hobistas estão acostumados a trabalhar apenas com PIC e gostariam também de ter uma versão com ele. Veja, então, como ficou …

O esquema abaixo mostra as ligações entre Lcd, Pic e receptor de controle remoto miniatura.

Como funciona?
Basta ligar o aparelho, que irá apresentar no Lcd o nome : ‘Control_tester4’ e após algum tempo mostrará: ‘TX?’ , ou seja, ficará aguardando um controle remoto ser acionado próximo a ele. Ao ocorrer isto, existindo nele um circuito integrado da familia HT6P20B ou da familia HCS 200 … 301, será mostrado no visor do LCD o conteúdo da transmissão e qual familia pertence (HCS ou HTP).

Por exemplo: Se aparecer o seguinte:
‘CIRC.INTEG.HTP:’ na primeira linha e ‘F573498’ na segunda linha, significa que o chaveirinho trabalha com integrado HT6P e gerou o sinal hexadecimal equivalente a F573498. Como não é hoppingcode, o valor mostrado sempre será o mesmo.

Agora, se aparecer o seguinte:
‘CIRC.INTEG.HCS:’ na primeira linha e ’00F357349877FBAB’ na segunda linha, significa que o chaveirinho trabalha com integrado HCS e gerou o sinal hexadecimal equivalente a 00F357349877FBAB. Como é hoppingcode, o valor mostrado sempre será modificado a cada vez que apertar o botão. Note que os 4 primeiros números se refere a parte fixa do código e os 4 restantes, ao Hopping code (fica mudando a cada transmissão).
Foi colocado também, uma pequena capsula de cristal (daquelas usadas em campainha de telefone) para ‘ouvirmos’ o som da recepção. Isto ajuda quando estamos em dúvida, se está havendo transmissão ou não (como no caso de bateria fraca no chaveirinho).
Caso precise testar controles de varias frequências, poderá colocar varios receptores com frequências diferentes e uma chave seletora na entrada do pino 17. O mais usual é a frequencia de 433 MHZ, mas temos muitos ainda com 315MHZ e outras estão chegando.
Para 433 MHZ, um pequeno pedaço de fio de 15 cm será suficiente como antena. A alimentação poderá provir de 4 pilhas AA com um diod em série, ou uma bateria de 9 volts com o regulador 7805 instalado para reduzir aos seguros 5 volts. Também poderá usar um transformador, retificadores e capacitores, como nessas fontes de parede de 9 volts. Modernamente, tem saido no mercado, carregadores de celulares cuja saída é de exatos 5 volts. Poderão também ser usados, visto que seus preços são inferiores em relação ao de se montar uma fonte com transformador comum e outros componentes (melhor acabamento também e tamanho reduzido). O Lcd usado é um 16×2, muito comum nas lojas de componentes (e compras pela Internet).
Para mais detalhes de operação, veja os artigos ‘CONTROL_TESTER1‘ e ‘CONTROL_TESTER2 neste blog.

Segue abaixo o arquivo ASM:

CONTROL_TESTER_PIC4_ASM

Segue abaixo o arquivo HEX:

CONTROL_TESTER_PIC_4_HEX

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?
Ponte da Torre – Entrada para Londres
O planeta vivo

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!!!

0

15 comments

    1. 0

      Olá Bruno! Para pensar em um frequencímetro desta natureza, deverá ser necessário um ‘prescaller’ para no mínimo 1 Gigaherts. O problema é obter tal.
      Claudio

  1. 0

    Ola Claudio este e o projeto que eu gostaria de poder exibir o código no LCD e no PC via RS232 se possível agradeço antecipadamente por sua atenção.
    Grato
    Carlos Roberto

  2. 0

    I found where to delete or add comment. :mrgreen:

    ; LIMPA
    ; MOVLW MSG1
    ; CALL ENV_LCD

    ; MOVLW 0XC5
    ; CALL EC
    ; MOVLW MSG3
    ; CALL ENV_LCD

  3. 0

    This work ok.How to do the the same like was version with AT89C2051.I need to read the code all time of receiving signal with NO back on 1 display after 5 sec.I made the control-tester2 with AT89C2051 and work perfect!And I wont to do the same think with pic16f628. Many thanks and all the best from Prague (Czech Republic)

  4. 0

    How to made fix reading number on display?To see on display all time number reading code from receiver.To
    do the same like version with AT89C2051.In this version I can see only 5 sec reading number. Thanks

    1. 0

      HI “dig99”!

      The way more easy will be to put a ‘goto $’, that WILL stop and ‘freeze’ the display. Then, use the ‘reset’ botton or off/on, for a new reception.
      See down (16F628A):

      J1:
      LIMPA
      LINHA1
      MOVLW MSG5
      CALL ENV_LCD
      MOVLW 0XC5
      CALL EC

      SWAPF CSR6A,W
      CALL BIN_ASC_ED
      MOVFW CSR6A
      CALL BIN_ASC_ED

      SWAPF CSR5A,W
      CALL BIN_ASC_ED
      MOVFW CSR5A
      CALL BIN_ASC_ED

      SWAPF CSR4A,W
      CALL BIN_ASC_ED
      MOVFW CSR4A
      CALL BIN_ASC_ED

      ;—————————————————

      GOTO $ ;PUT HERE

      ;—————————————————-

      MOVLW .5 ;ESTAVA 20
      CALL DELAYW
      BCF FLAGX
      BCF FLAGY
      GOTO MAIN_C
      ROT_HCS:

      LIMPA
      LINHA1
      MOVLW MSG4
      CALL ENV_LCD
      LINHA2

      SWAPF CSR7,W
      CALL BIN_ASC_ED
      MOVFW CSR7
      CALL BIN_ASC_ED

      SWAPF CSR6,W
      CALL BIN_ASC_ED
      MOVFW CSR6
      CALL BIN_ASC_ED

      SWAPF CSR5,W
      CALL BIN_ASC_ED
      MOVFW CSR5
      CALL BIN_ASC_ED

      SWAPF CSR4,W
      CALL BIN_ASC_ED
      MOVFW CSR4
      CALL BIN_ASC_ED

      SWAPF CSR3,W
      CALL BIN_ASC_ED
      MOVFW CSR3
      CALL BIN_ASC_ED

      SWAPF CSR2,W
      CALL BIN_ASC_ED
      MOVFW CSR2
      CALL BIN_ASC_ED

      SWAPF CSR1,W
      CALL BIN_ASC_ED
      MOVFW CSR1
      CALL BIN_ASC_ED

      SWAPF CSR0,W
      CALL BIN_ASC_ED
      MOVFW CSR0
      CALL BIN_ASC_ED

      ;———————————————–

      GOTO $ ;PUT HERE

      ;———————————————-

      MOVLW .5 ;ESTAVA 20
      CALL DELAYW
      BCF FLAGX
      BCF FLAGY
      GOTO MAIN_C

      Try make the same with AT89c2051 (use ‘AJMP’ instead of ‘GOTO’).
      See down:

      J1:
      ACALL RLIMPA
      MOV A,#LINHA1
      ACALL EC
      MOV DPTR,#MSG5
      ACALL ENV_MSG
      MOV A,#0C5H
      ACALL EC
      MOV A,CSR6A
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR5A
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR4A
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      ;——————————————
      AJMP $ ; PUT HERE
      ;——————————————-

      MOV A,#20H
      ACALL DELAYM
      CLR FLAGX
      CLR FLAGY
      AJMP MAIN
      ROT_HCS:

      ACALL RLIMPA
      MOV A,#LINHA1
      ACALL EC
      MOV DPTR,#MSG4
      ACALL ENV_MSG

      MOV A,#0C0H ;LINHA 2
      ACALL EC

      MOV A,CSR7
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR6
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR5
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR4
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR3
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR2
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR1
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      MOV A,CSR0
      ACALL conv_asc2
      MOV TMP,R1
      ACALL ED
      MOV A,TMP
      ACALL ED

      ;——————————————
      AJMP $ ; PUT HERE
      ;——————————————-

      MOV A,#20D
      ACALL DELAYM
      CLR FLAGX
      CLR FLAGY
      AJMP MAIN

      Cláudio

  5. 0

    Claudio, o seu projeto consegue ler o codigo do tx, e muito complicado alterar este projeto para se tornar uma receptora para esta linha de controle hcs, gravando o codigo transmitido na sua eprom interna ou externa.Valeu ai por mais um projeto exelente, parabens.

      1. 0

        😛 Boas, montei o TESTER-3 e testei 100% claudio, funciona beleza, agora vou aprender como ler todos os codigos, valeu mesmo ai ok pelo o post.

    1. 0

      ❗ Olá Claudio, olha eu aqui de novo pertubando, fica dificil alterar este esquema para testar aqueles controles com corte de 9 pinos o ht6026 ou o MC145026 para ver o codigo que foi cortado

      1. 0

        Olá Agnaldo! Será que alguém ainda usa este ci?
        Só permite umas 19000 combinações de código apenas.
        Claudio

        1. 0

          a sim e inviavel projetar neste ci. mais seria para testar o que ja tem existente. e tem muita coisa ainda ai esparramada. sao os mais antigos e tb e curiosidade sobre como funciona. valeu

Comments are closed.