CHAMA_ATENDENTE – PAINEL COM LEDS PARA SOLICITAÇÃO DE ATENDIMENTOS

1

Muitas vezes, necessitamos chamar uma pessoa de sua sala para prestar algum tipo de serviço em outras salas. Pode-se usar interfones, telefones e radios comunicadores. Alguns estão adaptando ‘campainhas sem fio’ para funcionar como aviso. Realmente, vai da criatividade!!! Mas, seria possivel fazer um sistema de chamada sem fio com simples controles remotos comerciais (chaveirinhos)? Veja esta idéia….

Basicamente, a idéia do projeto é usar 4 leds para indicar quem está necessitando de atendimento. Veja a sugestão visual possivel, abaixo:

Quando uma pessoa necessita de ajuda/atendimento, ela aperta o seu controle remoto (previamente ‘aprendido’). Isto fará que um led correspondente acenda no aparelho na sala do prestador de ajuda/atendimento. Uma breve sinalização sonora será ouvida para chamar a atenção nas mudanças dos leds.
Após realizar o atendimento/ajuda, deverá ser apagado o led desejado, por se apertar o botão do lado do led.
Neste projeto foi usado um pequeno microcontrolador Pic 12f629. Caso necessite de mais leds, poderá migrar para um microcontrolador com maior quantidade de portas, adaptando o arquivo asm para a necessidade.

Agora, veja o esquema abaixo:

No pino 4 temos a entrada de sinal provindo do receptor de rf de 433mhz. O receptor é do tipo miniatura, facilmente encontrado na internet e no comércio. Pelo pino 2, com função multiplexada, obtemos a função ‘botão learn’ para entrar com aprendizado e apagamento de controles, a função ‘led learn’ que indica quando foi aprendido e pisca após apagamento completo da Eeprom e finalmente a função ‘toque sonoro’, acionando um pequeno falante piezolétrico. Este ‘som’ chama a atenção a mudança no painel de leds. Os pinos 3,5,6,7 são as saidas dos leds e também multiplexado com função de ‘botões’ de desligamento. Os resistores r1,r4,r7 e r10 são usados para aumentar o nivel a vcc, pois os leds apresentam queda de tensão de 1,8 a 2,4 volts, sendo que, sem eles, em alguns casos, poderá não funcionar corretamente.
A fonte de alimentação poderá ser feita via fonte externa com regulador de 5 volts do tipo 7805, ou por uma bateria de 9 volts, também com o regulador de 5 volts, ou ainda, uma fonte de carga de bateria de celular, dos modernos (tipo ‘usb’) que já fornece direto os 5 volts necessários.
Este projeto é apenas didático, fornecendo sugestão para os hobistas realizarem seus objetivos. Foi montado apenas em protoboard, sujeito a bugs ainda não identificados.

Segue abaixo o arquivo ASM (para 12f629):

CHAMA_ATENDENTE_ASM

Segue abaixo o arquivo HEX (para 12f629):

CHAMA_ATENDENTE_HEX

Segue abaixo o arquivo ASM (para 12f675):

CHAMA_ATENDENTE_675_ASM

Segue abaixo o arquivo HEX (para 12f675):

CHAMA_ATENDENTE_675_HEX

datasheet Pic12f629

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?

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
Entrevista com um bioquímico

Até o próximo artigo!!!

1

53 comments

  1. 0

    lario amei o desafio não sei se foi uma pegadinha,mais deu certo a compilaçao,agora aparece o valor 3480 no codigo para gravar,mas de qualquer forma vou aprender presentiar rsrsr muito obrigado mesmo, que o criador do universo continue lhe inspirando a dar o seu melhor em beneficio de outros.

  2. 0

    lario bom dia, rsrsrsr me lembro que certa ocasião voce me disse que os erros que o compilador produz são avisos que eles tentam nos transmitir como amigos,achei muito animador de sua parte nos inculcar esta ideia rsrsrsr porem os erros que são apresentados neste codigo do chama, aparentam ser desafiador pois dar erro 112 e 113 missing operator,acrescentei estes valores antes do end
    org 0x3ff
    retlw 0×80
    estou tentando fazer uma boa apresentação para ganhar a amizade deste erros do compilador e ele não está querendo ser meu amigo não, voce poderá me dar uma dica?rsrsrsrr

    1. 0

      Olá José! rsrsrsrs Que tal comprar um ‘presentinho ‘ para ele? rsrsrsrs. O erro indica que foi esquecido algum operador no asm. Experimente clicar na linha do erro: Por exemplo, gerei um erro num programa e ficou assim:

      Release build of project `C:\Users\Renan\Downloads\freq_cw1_ver\tt2.disposable_mcp’ started.
      Language tool versions: MPASMWIN.exe v5.43, mplink.exe v4.41, mplib.exe v4.41
      Fri Dec 13 09:24:17 2013
      ———————————————————————-
      Clean: Deleting intermediary and output files.
      Clean: Deleted file “C:\Users\Renan\Downloads\freq_cw1_ver\tt2.mcs”.
      Clean: Done.
      Executing: “C:\Program Files (x86)\Microchip\MPASM Suite\MPASMWIN.exe” /q /p12F675 “tt2.asm” /l”tt2.lst” /e”tt2.err”
      Message[301] C:\PROGRAM FILES (X86)\MICROCHIP\MPASM SUITE\P12F629.INC 33 : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
      Error[113] C:\USERS\RENAN\DOWNLOADS\FREQ_CW1_VER\TT2.ASM 682 : Symbol not previously defined (ox3ff)
      Error[113] C:\USERS\RENAN\DOWNLOADS\FREQ_CW1_VER\TT2.ASM 682 : Symbol not previously defined (ox3ff)
      Error[118] C:\USERS\RENAN\DOWNLOADS\FREQ_CW1_VER\TT2.ASM 683 : Overwriting previous address contents (0000)
      Error[118] C:\USERS\RENAN\DOWNLOADS\FREQ_CW1_VER\TT2.ASM 683 : Overwriting previous address contents (0000)
      Halting build on first failure as requested.
      ———————————————————————-
      Release build of project `C:\Users\Renan\Downloads\freq_cw1_ver\tt2.disposable_mcp’ failed.
      Language tool versions: MPASMWIN.exe v5.43, mplink.exe v4.41, mplib.exe v4.41
      Fri Dec 13 09:24:18 2013
      ———————————————————————-
      BUILD FAILED

      Coloquei a letra ‘o’ no lugar do ‘0’ (zero).
      Clicando na primeira linha irá direcionar o programa para o erro com uma pequena seta azul a esquerda do erro.
      Ai você vai ‘travar amizade’ convencendo o erro a sair por analizar o que está errado. ex. falta virgula, digitou errado, esqueceu de colocar ‘;’ antes do comentário, etc.

      Quando copiamos e colamos arquivos , podem ser perdidos determinados caracteres devido ao padrão do arquivo (Word,bloco de notas,etc).
      Confira sempre para certificar de não ter acontecido este erro. Também quando vamos deletar determinado item, as vezes o cursor marca a linha de cima ou de baixo, apagando o que não devia.

      Experimente localizar então a linha do erro e acertar.
      Cláudio

  3. 0

    lario bom dia, seria muito incómodo acrescentar(#define PERDI_BYTE_CALIBRACAO)neste chama_atendente) pois ja tentei gravar tanto a versão pic 675 e629 com pic novo e não aparece na flash a calibraçáo tipo 34xx.? ou estou vacilando demais nesta gravação?pois ja notei que quando não aparece certo valor nesta area da memoria o circuito torna se inoperante ficarei no aguardo de uma resposta se possivel abraço.

    1. 0

      Olá José! Quando o programa é compilado em compilador ‘c’ ou quando feito em assembly usando as linhas de código ” CALL 0x3FF ; Movwf OSCCAL ” com certeza não funcionará se não existir o byte de calibração. Mas nem todos os programas tem estas linhas de código, e acho que é o caso deste asm referido por você. Verifique sua montagem, se está de acordo com o esquema elétrico, se você fez a programação dos controles corretamente, se escolheu o programa correto, se seu pic está ok. Nos programas que necessitam do byte de calibração para funcionar, se você leu com o programador que realmente não existe (foi apagado), então, no final do programa ASM , antes do ‘ end’, escreva o seguinte :
      org 0x3ff
      retlw 0x80

      Depois recompile o asm e obtenha o novo hex.
      Com isto, você coloca um valor provisório, até que possa calibrar o pic em ocasião futura.
      Claudio

  4. 0

    é uma logica esta probabilidade,porem existe varios comercios familiares, mesmo que voce nao entre no ambiente invadido ou suspeita,voce poderá anotar placas de carros e motos proximo do ocorrido chamar reforços.é claro que segurança de verdade é so no novo mundo.rsrsr lario.

  5. 0

    bem lario ja que voce me a oportunidade de comentar:
    o sistema funciona das seguintes maneiras,sao 4 lojas proximas uma ao lado da outra,precisaremos de 4 desta central tipo (chama ja com tx e rx embutida)cada uma continuará com os mesmos leds que será descritos como loja a,b,c ou d. funcionamento assim que haver uma suspeita de um desconhecido dentro de uma destas loja alguem aperte um botao panico,para as demais lojas serem avisadas,dai todos os logistas associados va para a determinadas loja que apertou o botao panico. cada central terá´um led indicativo da determinada loja. cada tx acionada emitirá o sinal de pedido de socorro as demais 3 lojas.

    1. 0

      Olá José! É uma boa ideia. Mas, parece que o difícil será convencer os logistas próximos a irem em um local com um possível ‘assalto’.
      Claudio

  6. 0

    lario bom dia: estou criando uma ideia e ela precisa ser mais a primorada e para isto vou precisar de sua ajuda e cooperaçao, se trata de um detetor de intruso coletivo basiado praticamente no seu projeto de atendente posso continuar?

  7. 0

    lario: valeu pela gentileza,eu conseguir compilar o codigo do 629 para 675 porem na hora da gravaçao dava erro em certos endereço,srsrsr e com isto danifiquei 5 pic 12f675,e agora gravei esta nova versao para o 675 deu certo,vou xerocar os codigos asm do 629 e 675 estudar com mais detalhes.lario seus projeto so trouxe alegria.obrigado

  8. 0

    lario estou surpreso com a sua expressao; pra mim foi um intercambio de encorajamento o seu relato, e eu tenho que aprender lidar com situaçao como esta nao desanimar quando a compilaçao nao dar certo.e quanto ao reset: mesmo resetando ou dando ok o led 3 nao apaga. os 2 primeiros leds aceita reset nomal eu montei 3 clone 2 aprendeu o codigo normal.quando voce tenta o terceiro “learn” ai acende e nao apaga mais.valeu aguardo retorno.

    1. 0

      Olá José!
      Notei que para alguns pic’s necessitam aumentar um pouco mais a polarização para funcionar a contento. Use resistores de 1k no lugar de 680 ohms e 10k no lugar de 4k7. Também coloquei no artigo, uma versão Asm e Hex ,para o pic 12f675.
      Claudio

  9. 0

    lario olá: to aqui de novo! nao conseguir mudar o codigo do chama_atendente 629 para o 675 deu muitos erros,e estou com vergonha de lhe pedir essas informaçoes.eu encontrei um pic 629 na minha bagagem
    e gravei, gostaria de saber porque a saida 6 do 629 fica acesa constante,pois eu gravei 3 chaveirinho clone, o atendente funciona bem a primeira e a segunda saidas ,porem a terceira porta fica sempre acesa.pode ser defeito pic?agradeço

    1. 0

      Olá José !
      Não precisa ficar com vergonha de pedir ajuda. Todos nós necessitamos de orientação vez por outra. Você não pode ter ‘medo’ das mensagens de erro quando for compilar. Elas são ‘suas amigas’. Você tem que entender o que elas querem te dizer e mudar o ASM para que possa ser compilado. Quanto a saída 3, dando um ‘reset’ ou mesmo apertando o botão ‘ok_s3’ não apaga?
      Cláudio

  10. 0

    ilario bom dia:me oriente novamente por favor,há como usar o pic 12f675 ao invés 629? e que medidas devo tomar? obrigado.

    1. 0

      Olá José! A diferença do 675 para o 629 é que o primeiro tem conversor analógico/digital e necessita ser iniciado para não usar esta função. Para alterar o arquivo ASM de 629 para 675, faça o seguinte:

      1) Veja no código a porção abaixo:

      ; OSCILADOR INTERNO DE 4MHZ
      #INCLUDE ; ARQUIVO PADRAO
      __CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT

      ERRORLEVEL -302 ;SUPRESSÃO DE MENSAGEM DE ERRO
      e então substitua por :

      ; OSCILADOR INTERNO DE 4MHZ
      #INCLUDE ; ARQUIVO PADRAO ;<————————————-mudou aqui!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
      __CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT

      ERRORLEVEL -302 ;SUPRESSÃO DE MENSAGEM DE ERRO

      Também inclua a inicialização do port para ser digital e não analógico . Veja a porção de código :

      ;ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
      ;CONFIGURAÇÕES DE PORTAS E INICIALIZAÇÃO DE TEMPORIZADORES
      START:
      MOVLW 0X07
      MOVWF CMCON ;DESLIGA COMPARADORES
      MOVLW 0XFF ;APAGAR LEDS

      BANK1
      MOVLW B'00101000' ;TUDO SAÍDA EXCETO RB3 COMO ENTRADA 'RFIN' E 'SW LEARN'
      MOVWF TRISIO
      BANK0

      CLRF FLAGS ;APAGA REGISTRADOR DE FLAGS
      CLRF FLAGS1

      MOVLW TGR
      MOVWF Z2
      CLRF Z1 ;LIMPA REGISTRADORES
      ;ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

      Agora troque por esta:

      ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      ;CONFIGURAÇÕES DE PORTAS E INICIALIZAÇÃO DE TEMPORIZADORES
      START:
      MOVLW 0X07
      MOVWF CMCON ;DESLIGA COMPARADORES
      MOVLW 0XFF ;APAGAR LEDS

      BANK1
      CRLF ANSEL ;OBRIGA AS PORTS A SER DIGITAL <——————————————————–MUDOU AQUI TAMBÉM
      MOVLW B'00101000' ;TUDO SAÍDA EXCETO RB3 COMO ENTRADA 'RFIN' E 'SW LEARN'
      MOVWF TRISIO
      BANK0

      CLRF FLAGS ;APAGA REGISTRADOR DE FLAGS
      CLRF FLAGS1

      MOVLW TGR
      MOVWF Z2
      CLRF Z1 ;LIMPA REGISTRADORES
      ;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      Recompile no Mplab_ide e use o arquivo HEX gerado.

      Claudio

  11. 0

    boom dia lario: gostei deste artigo porem, aqui onde moro nao tem como adquirir estes chaveirinho.
    tem como clonar para o pic 12f675ou 629?pode me fornecer essas dicas por favor?

  12. 0

    ola.. nao sou bom em pic mais gostei deste e de outros projetos seu. gostaria de saber se posso compra de vc o pic ja progamado deste projeto ? 😛

    1. 0

      Olá João!
      Obrigado pelo seu comentário e elogios. Quanto a seu pedido, não forneço ou vendo chips programado. Mas o processo de programação é extremamente simples, com vários tutoriais na internet. Com o simples programador de pic e o softaware gratuito WinPic2000, e um protoboard ,você poderá programar em menos de um minuto o seu pic.
      veja também: como programar pic

      Claudio

  13. 0

    Bom dia, faltou apenas umas linhas.
    RLF C0,W ;MULTIPLICA POR 2
    ADDWF PCL,F
    NOP
    RETURN
    goto adri;
    RETURN
    bcf led2
    RETURN
    return
    BCF LED3 ;LED3 ACENDE
    RETURN
    BCF LED4 ;LED4 ACENDE
    adri:
    BTFSS RES2_SALVO,6
    GOTO PY5
    BcF LED3
    PY5
    BTFSS RES2_SALVO,7
    GOTO PY4
    BcF LED4
    PY4

    CLRF RES2_SALVO

    return
    Agradeço pelo alto nível intelectual e sua paciência.

    1. 0

      Olá Adriano! Obrigado pelo seu comentário. Não me considero ‘intelectual’, mas sim, alguém ‘persistente’ ( o que exige muita ‘paciência’).
      Cláudio

  14. 0

    Boa noite, meu projeto faz que 0 12f aceite 42 controles, cada controle gera um serial, reconhecido por um 16f876 que controla um painel para chama garçon, vou usar 02 12f para gerar 84 controles, preciso de apenas 01 controle que faça a leitura dos botões independente para usar como setup no 16f.
    um botão entra no comando o outro seleciona a função e o terceiro que seria os dois apertados executa a função escolhida.
    no 16f876 eu uso o software proton ide ele aceita muita coisa em asm, mas com menos comandos,por isso uso uma saida serial para enviar os dados do controle gravado.

  15. 0

    Boa noite Claudio, eu gostaria de saber como faço para reconhecer os botões apertado do controle, esse projeto( execelnte por sinal) só reconhece o controle. Se possivel qual comando devo acrecentar, pois meu projeto envia 42 controles via serial.

    1. 0

      Olá Adriano! Deixa eu entender! Você quer enviar cada botão apertado ao invés de qualquer botão do controle, certo? O valor dos botões são apagados nesta porção de código abaixo:

      ;————————————-
      AÇÃO
      ;=======================================================================
      MOVLW 0X0F ;comente esta linha e a próxima (ou elimine-as)
      ANDWF RES2,F ;APAGA BOTÕES
      ;=======================================================================
      ;I
      BTFSS LRN ;BOTÃO ESTÁ APERTADO?
      BSF FLAGGR
      CALL PPT
      MOVWF TMP1 ;SALVA
      SUBLW .0

      Agora, cada botão individual terá que ser aprendido separadamente ( ou seja, 6 posições da eeprom para cada controle). Uma outra opção seria manter as linhas de código acima e salvar RES2 antes de apagar, para guardar o valor dos botões para uso posterior.

      Poderia ser mais ou menos assim:

      ;————————————-
      AÇÃO

      MOVFW RES2
      MOVWF RES2_SALVO ; ACRESCENTAR ‘RES2_SALVO’ NO CBLOCK
      MOVLW 0X0F
      ANDWF RES2,F ;APAGA BOTÕES
      ;I
      BTFSS LRN ;BOTÃO ESTÁ APERTADO?
      BSF FLAGGR
      CALL PPT
      MOVWF TMP1 ;SALVA
      SUBLW .0

      Você deverá escolher o que lhe seja melhor, pois eu não tenho a mínima idéia do que você está tentando fazer. Caso você possa fornecer mais detalhes ajudaria muito.
      Cláudio

    1. 0

      Olá Adriano! Fico feliz de ter ajudado. Quanto a capacidade do 12f675, faça o calculo: 128 bytes de eeprom , sendo cada controle usando 3 bytes e 1 byte de ponteiro.
      (128 – 1)/3 = 42 controles maximos.
      Sucesso nos seus projetos, e caso, depois se desejar compartilhar o projeto ou projetos, poderá me enviar por email link. claudio@larios.tecnologia.ws.
      Claudio

  16. 0

    Bom dia Claudio, até que para um amador vc manda bem(KKKKKKKKKKKKKK) funcionou, grato pela sua atenção.
    fiz minha configuração de desligar as entradas, assim os leds só acendem quando aciono controle, isso vai me ajudar muito para terminar meu chama garçon.
    Te agradeço muito.

  17. 0

    Olá novamente, antes do comando mostra mandei gravar na eepron com endereço 15, dados c0, com três controles ele só grava 4c, creio que o asm não esta incrementando o endereço do addwf,pcl,f.

    1. 0

      Olá Adriano! Realmente, voce terá que acrescentar linha adicionais logo após o pedaço de código abaixo:

      ;SALTO GOTO

      MOSTRA
      MOVFW C0
      SUBLW .4
      BTFSS STATUS,C ;LIMITA DE 1 A 4
      RETURN
      BCF STATUS,C
      RLF C0,W ;MULTIPLICA POR 2
      ADDWF PCL,F
      NOP
      RETURN
      BCF LED1 ;LED1 ACENDE
      RETURN
      BCF LED2 ;LED2 ACENDE
      RETURN
      BCF LED3 ;LED3 ACENDE
      RETURN
      BCF LED4 ;LED4 ACENDE
      RETURN
      nop
      goto faz_1_coisa
      nop
      goto faz_2_coisa

      ;mesmo numero de controles que for necessários

      ;suas novas rotinas com return no final
      faz_1_coisa

      ;seu código
      return
      faz_2_coisa

      ;seu código
      return

      Ou , se for melhor, alterar toda a maneira de acessar o resultado (que nem bombril, 1000 jeito diferente de fazer).
      Claudio

  18. 0

    Olá Claudio, vamos lá, desliguei a alimentação dos leds, somente a saida 0 fica com 5 volts as outras com zero,
    MOVFW C0
    SUBLW .8
    BTFSS STATUS,C ;LIMITA DE 1 A 4
    RETURN
    BCF STATUS,C
    RLF C0,W ;MULTIPLICA POR 2
    ADDWF PCL,F
    NOP
    RETURN
    BCF LED4 ;LED1 ACENDE
    nessa linha, troquei a saida, mas só aciona o gpio 0, mesmo o hex esta igual, uso o 12f675, creio que a linha mostra é que aciona os leds. já tentei desligar os comandos para os gpios virarem entrada, mas não mudos os leds, não sei onde esta o erro, mas estou tentando. grato
    Adriano

    1. 0

      Olá Adriano! Você está usando pic 12f675 ao invés do pic 12f629, certo? Pois o código para 675 tem que ter uma pequena diferença. Como ele trabalha com um conversor analógico para digital, o registrador ‘ANSEL’ (NÃO TEM NO 629) tem que ser resetado (zerado) para liberar a GPIO como I/O digital. Senão, em reset, se tornam entradas analógicas e voce NUNCA acionará leds com ela. Veja o datasheet pic12f675 pagina 44. Experimente adicionar esta linha marcada no pedaço de código abaixo:

      ;================================================================================
      ;CONFIGURAÇÕES DE PORTAS E INICIALIZAÇÃO DE TEMPORIZADORES
      START:
      MOVLW 0X07
      MOVWF CMCON ;DESLIGA COMPARADORES
      MOVLW 0XFF ;APAGAR LEDS

      BANK1
      MOVLW B’00101000′ ;TUDO SAÍDA EXCETO RB3 COMO ENTRADA ‘RFIN’ E ‘SW LEARN’
      MOVWF TRISIO

      CLRF ANSEL ; ESTA A LINHA É SOMENTE PARA O 12F675 <--------------------------------------------------------------ACRESCENTAR AQUI BANK0 TAMBÉM, NÃO ESQUEÇA DE ALTERAR O CABEÇALHO DE : ; OSCILADOR INTERNO DE 4MHZ #INCLUDE P12F629.INC ; ARQUIVO PADRAO __CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT ERRORLEVEL -302 ;SUPRESSÃO DE MENSAGEM DE ERRO PARA ESTE AQUI: ; OSCILADOR INTERNO DE 4MHZ #INCLUDE P12F675.INC ; ARQUIVO PADRAO <--------------------------------------------MUDAR O MICROCONTROLADOR __CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _MCLRE_OFF & _INTRC_OSC_NOCLKOUT ERRORLEVEL -302 ;SUPRESSÃO DE MENSAGEM DE ERRO Quem sabe, assim , vai funcionar. Cláudio

    1. 0

      Olá Adriano!
      Tudo bem? No seu comentário de 25-01-13, as 10:15 h , voce citou que “seu chama atendente é o primeiro que funciona em 04 anos tentando, agradeço deixar disponivel”, mas que no seu ver tinha um bug :”meus leds ficam aceso fracos, com o codigo ele acende forte” . De repente, parece que não funciona mais, pois , no dia 26-01-13, as 12:12h , você citou que “ESTOU FAZENDO UM RECEPTOR PARA ALARME, AS 08 SAÍDAS SERIA PARA RECEBER SENSOR SEM FIO, EU VOU MULTIPLEXAR OS PINOS DO 12F NA FORMA DE SERIAL.VOU USAR UM 16F PARA FAZER O ALARME, JÁ QUE USO O SOFTWARE PROTON IDE.” Você já fez alterações no código asm? Também, não entendi o que voce quer dizer com “trocando o led no mostra”? Montei no protoboard com o esquema acima e com o hex fornecido neste blog e funcionou perfeitamente com 4 controles programados. Por favor, me de mais detalhes, com um bom descritivo, para que eu possa tentar ajudar.
      Claudio

  19. 0

    boa tarde, os três controles que tenho, todos reconhecem somente a saida 01, não comanda as outras.
    quero aproveitar para solicitar linhas para grava mais controles sem comandar leds

    1. 0

      Olá Adriano! Muito estranho este comportamento. É como se estivesse gravando apenas um controle. Quanto a gravar mais controles, no inicio do programa tem as ‘equates’ como segue:
      ;=================================================================================================
      ;QUANTIDADE DE CONTROLES A SER USADO:
      N_CONTROL EQU 4 ;NÚMERO MÁXIMO DE CONTROLES (APENAS 4 LEDS)
      ;==================================================================================================
      A variavel ‘4’ pode ser trocado por outros valores, cujos controles aprendidos deverão ser tratados com novas linhas de código que dependerá de seu objetivos. Assim, os primeiros 4 controles acenderão led 1,2,3 e 4 e o restante não fará isto. Quanto a sua dificuldade, terei que montar no protoboard com o hex do blog para ver se não teve algum ‘gato no telhado’. Aguarde..
      Cláudio

    1. 0

      Olá Adriano! A idéia é que cada controle (não importa qual dos 2 ou 3 botões forem apertados) acione apenas um led. Grave mais 3 controles diferentes na sequencia e acione para ver se acende os outros 3 leds (Lembre-se que para apagar o led tem que apertar o botão correspondente no receptor).
      Claudio

  20. 0

    BOA TARDE, ESTOU FAZENDO UM RECEPTOR PARA ALARME, AS 08 SAÍDAS SERIA PARA RECEBER SENSOR SEM FIO, EU VOU MULTIPLEXAR OS PINOS DO 12F NA FORMA DE SERIAL.
    VOU USAR UM 16F PARA FAZER O ALARME, JÁ QUE USO O SOFTWARE PROTON IDE.
    TENTEI DESLIGAR A INVERSÃO DE SAIDA PARA ENTRADA, PORÉM, QUANDO ACIONO UM TX TODOS OS LEDS ACENDEM.
    VOU CONTINUAR TENTANDO, FAZ MUITO TEMPO QUE NÃO USO ASM.
    GRATO PELA RESPOSTA.

  21. 0

    Bom dia, seu chama atendente é o primeiro que funciona em 04 anos tentando, agradeço deixar disponivel, detalhe, meus leds ficam aceso fracos, com o codigo ele acende forte, gostaria de resolver ese bug, já que não vou precisar das chaves para apagar os leds, e se possivel, como colocar leitura para 08 controles.
    agradeço.

    1. 0

      Olá Adriano!
      Agradeço seu comentário positivo. Você citou que o ‘bug’ é que os leds ficam ‘levemente acesos’ , mas quando recebe uma transmissão de uma sala, fica aceso de forma correta, é isto? Você disse também, que não usa as chaves para apagar. Como você usa então o sistema? Quanto a usar 8 controles, necessitariamos trocar o microcontrolador por um de mais saídas, ou usar um outro ci para acender os leds, ou inventar algo. Talvez, voce poderia usar o outro circuito, o ‘organizador de filas’ para atender suas necessidades.
      Cláudio

  22. 0

    é verdade amigo , não havia pensado nesta idéia , mas teria que inverter a data ou diretamente pois com o IR usase um transistor ja com o tX seria direto ou usaria o transistor ? outra coisa e se colocar o tosop receptor de ir e sua saida ligar ao modulo tx 433 como ficaria a ligação ? e depois seria só inverter

    1. 0

      Olá Liliano!!! Quanto a polaridade do sinal, eu nunca gravo na cabeça. Precisaria montar em protoboard e fazer os testes, conforme o caso, usar um bc 548 para inverter a polaridade. Dá para se pensar assim:
      Colocamos um tosop receptor de IR ligado ao tx433mhz, que ficaria numa caixinha, que receberia o sinal do controle remoto (bem próxima). No receptor rx433mhz, em outra caixinha, colocamos um led infravermelho apontado para o aparelho a controlar (polaridades tem que testar). Poderia assim, sem mexer no controle remoto ou no aparelho a ser controlado, fazer duas montagens .
      Claudio

  23. 0

    realmente pensando desta maneira seria bem funcinal porem mexeria com todo equipamento ja um equipamento funcionando como adaptador seria bem util né , mesmo assim o problema seria o protocolo mas isso é só uma ideia

    1. 0

      Olá Liliano! Tem o meio termo: Colocar o tx no controle remoto e receber com um rx que acione um led infravermelho na saida, apontado para o aparelho a acionar. Conversando, vai vindo idéias…..
      Claudio

  24. 0

    ola amigo , vejo que esta meio ocupado pois acompanho seu bloog e a tempos não vejo nenhum projeto novo , gostaria de dar uma sujestão vi ouro dia meu cunhado tentando acionar o radio de carro pelo controle porem era dificil direcionar pelo fato de ser IR(infrared) ele encontrou dificuldades e o alcance era curto ai pensei porque não aprender o protocolo do ir do som em um micro e este ser acionado por um chaveirinho unicode com as funções basicas tipo volume e mute dariam 3 teclas seria bem ultil ele poderia acionar o mute de longa distancia o ideal seria o acionamento completo do controle mas ficaria mais complexo e um dos problemas que achei seria o fato de exixtir diversas marcas e protocolos diferente , seria legal isso para TV ou aparelhlo de seom seria tipo um extensor de controle porem com RF 433Mhz , mas isso é so uma ideia ok abraço espero muitas ideias e sucesso para você

    1. 0

      Olá Liliano! Realmente, nem sempre sobra muito tempo para fazermos o que gostamos. Com respeito a sua idéia, ela é interessante. Você enviaria de maneira normal uma transmissão de ht6p20b (3 botões) e no receptor, o microcontrolador iria agregar um código da tecla apertada e enviaria para um led infravermelho que ficaria apontado para o aparelho receptor. Mas pensando em obter todas as funcionalidades, e se, no lugar do led infravermelho, no controle remoto original do aparelho, você colocasse um tx miniatura de 433mhz e no receptor, no lugar do receptor infra, colocasse um rx de 433mhz ? Você teria todas as funcionalidades usando a rf como meio de propagação, ao invés da luz e não necessitaria de microcontroladores decodificadores.
      Claudio

Comments are closed.