SENHA ELETRONICA (CODE LOCK) – COM PIC 12F629/675 E DISPLAY LCD

Muitas materias já foram publicadas sobre ‘senhas eletronicas’. Algumas utilizam o PIC16F873, outras com PIC 16F628 , até mesmo outros chips. A proposta aqui é utilizar um pequeno PIC12F629 para gerenciar teclado, Lcd, bip e saida para um relê. Acha muito para o nosso pequeno ‘valente’? Então veja o esquema abaixo!

Com respeito ao teclado, foi usado um teclado comum de telefone, que com ajuda de uma rede de 6 diodos 1N4148, obtemos uma forma de multiplexar os dados, sempre acionando uma saida por vez e lendo as outras, se estão em nivel =1. Uma vez identificada uma tecla apertada, será salvo o valor da tecla , um ‘bip’ será gerado na capsula piezoeletrica e finalmente, o programa aguardará a tecla ser solta. Os mesmo pinos do teclado são compartilhados com os pinos DB4 a DB7 do LCD, com a saida de som do bip e com a saida do rele. Os pinos ‘E’ e ‘RS’ do Lcd são multiplexados pelo metodo ‘Larios’, que usa o tempo de carga de C4 para indicar se RS=1 ou 0. Se a saida (pino 3) ficar mais que 1 mseg =1 , teremos o envio de um ‘dado’. Se for de apenas algums poucos microsegundos, teremos Rs=0 e será enviado um ‘comando’.
Com respeito ao uso deste equipamento, temos que entrar com uma senha de 6 digitos para a liberação, por ex. de uma fechadura. A senha inicial é ‘012345’, devendo ser trocada por uma pessoal. Evite as já conhecidas datas de nascimento, casamento, etc. Para trocar a senha digite ‘*74123’ que entrará em modo de ‘troca de senha’. A mensagem ‘digite a senha atual’ será mostrada. Após digita-la, aparecerá a mensagem ‘digite a nova senha’ e depois de digitada a nova senha, pedirá a confirmação. Se tudo deu certo, aparecerá a mensagem ‘ok_senha nova’. Pronto!!! Já estamos de senha nova!!!
A cada tecla digitada será produzido um ‘bip’. A tecla ‘#’ quando apertada, cancelará a operação e retorna ao inicio do programa. A tecla ‘*’, excetuando se ela for o primeiro digito, serve para limpar erro de digitação . Com respeito ao teclado, como existem muitos tipos, coloquei uma tabela de que pinos ligam com quem, para o caso de duvidas quanto a ligação ou até mesmo uma adaptação. Após trocar a senha, muito cuidado para não esquece-la, pois terá que examinar a EEprom nos primeiros endereços para saber (em ascii) ou limpar a flash e descarregar de novo o programa hex.
Após a digitação da senha correta, ouve-se um ‘bip’ mais prolongado, a mensagem ‘acesso liberado’ aparecerá no Lcd e o led acenderá, acionando o rele de saida por 10 segundos. Caso queira mais tempo ou menos, acertar no arquivo Asm, na variável ‘tempo_de_abertura’ e recompilar. Após 3 tentativas erradas, o teclado será bloqueado por 3 minutos e a mensagem ‘bloqueio- aguarde 3min’ aparecerá no visor do Lcd. Caso iniciemos uma digitação e paramos por algum motivo, em 30 segundos será apagado tudo no visor, resetando o programa.
A função de C5 junto a base do transistor de saida de som do ‘bip’, é eliminar o ruido do chaveamento do teclado, filtrando e deixando passar somente a frequência do bip. Sem ele, ouve-se um som um tanto irritante de forma constante. O Led1 é opcional, visto que já haverá indicação no display de ‘acesso liberado’. Os testes foram realizados em placa de protoboard , não tendo sido testado as sugestões de placa, apesar de terem sido bem conferidas. Por motivo de segurança, apenas o teclado deverá ficar do lado externo, uma vez que, se a placa for acessada, alguém poderá fazer uma ligação direta.

Segue abaixo o esquema:

Segue abaixo o código Asm:

SENHA_LCD_V1_ASM

Segue abaixo o código Hex (revisado em 05/08/13, tanto para PIC12f675 como para PIC12f629):

SENHA_LCD_V1_HEX

Segue abaixo a sugestão de placa:

SENHA_LCD_PCB

Segue abaixo a orientação de montagem na placa e lista de materiais (visto pelo lado cobreado):

SENHA_LCD_MONT_PCB

Sugestão de construção de teclado com chave tactil aqui.

Curiosidades:
Gás Natural – energia para o lar
Ponte da torre – Uma entrada para Londres

Outros assuntos:
Como lidar com os sogros?
Desempenhem bem o papel de pais
Como reagir ao assédio sexual
Como lidar com problemas financeiros e dívidas
Converse com seus filhos sobre sexo

Até o próximo artigo!!!

40 comments on “SENHA ELETRONICA (CODE LOCK) – COM PIC 12F629/675 E DISPLAY LCD

  1. amigo não tinha visto este pois tem tanto projeto seu que agente fica louco , mas só uma duvida o numeros aparecem no display , pois meu amigo me pediu pra fazer uma fechadura com senha ´para ele pois é tipo um condominio fechado ele queria com a opção de aparecer * ao inves dos numeros entende para niguem saber o numero outra coisa ele só tem a opção de uma unica senha , sera que poderia ter mais senhas cadastradas ?
    sobre os caracteres se não der tem problema não converso com ele para deixar assim mesmo amigo só uma ultima coisa , tem opção para o 12f675 , bem não vi o asm se tiver eu mesmo mudo agora estou fera em mudar rsrsrsr , graças a você né .

    1. Olá Liliano! Este modelo já esconde os números da senha com “*” (asteristicos). Quanto a várias senhas, terei que fazer alterações significativas no ASM. O colega Agnaldo falou na possibilidade de fazer uma de 90 senhas!!! No momento, não tenho condições de mexer com isto, mas assim que tiver, vou estudar uma maneira.
      Cláudio

      1. 😛 Olá Claudio,Liliano e todos os amigos que acompanha este forum. fio no aguardo quanto a versão com mais senhas,para mim se não der no 12fxx, pode ser mesmo no 16fxx, tem um modelo comercial que ja usei aqui com as posições a ser gravada a senha, para vc ter uma ideia como o que eu tinha llhe falado funciona assim: posição 99,fica a senha master que e a de programação, depois da 01 a 98 fica as posições dos usuarios, este modelo tem um pic16F505 COM MEMORIA 24LC16, ja fiz a leitura desta memoria e fica todas as senhas nela, assim que for possivel com a possibilidade ai do seu tempo e claro, obrigado mais uma vez ai pela a sua atenção em nos ajudar a desvendar este universo dos PIC. Abraço

        1. Olá Agnaldo! Quando você tiver um tempo, poderia, por favor, fazer um descritivo do funcionamento da senha comercial que você analisou? Como funciona a troca de senhas? Como funciona a senha do Administrador? Tipo de acionamento? Tamanho da senha de 6 ou 8 caracteres? Faz som ao digitar? Bloqueia se fizer quantas tentativas? Tem algum alarme? Tipo de alimentação?
          Isto ajudaria muito para um estudo.
          Claudio

      2. amigo estou terminando um layout para fazer a montagem deste projeto porem tinha te perguntado antes se havia versão para 12f675 e mais uma coisa comprei um display de lcd e pensei existem varios modelos de display no mercado sera que ele vai ser compativel ja que no seu esquema foi detalhado as informações mas no display que eu comprei veio a informação em numeros amigo não achei nada sobre o display dificil de achar datasheet dele

        1. Olá Liliano! Veja no artigo, que postei a versão ASM para 675, somente não compilei. Use o Mplab e recompile, por favor. Quanto ao lcd, se for 2 linhas, creio que não haverá problemas.
          Claudio

    2. Olá Liliano! Quando você tiver um tempinho, por favor, faça-me também, um descritivo de um sistema de senhas (um modelo comercial, por ex.) que você conhece com detalhes sobre quantidade de senhas, como funciona o acionamento, tipo de alimentação, tamanho da senha (6 ou 8 caracteres) , como é feita a troca da senha, se tem senha de administrador e como ela é usada, etc. Isto ajudará muito em um estudo de um futuro projeto.
      Claudio

      1. ok amigo mas a maioria que ja vi , usa 6 digitos mesmo porem capacidade de armazenar umas 50 senhas na memoria , talves o micro seja outro ou até mesmo foi utilizado uma memoria conjunta né , a troca da senha é justamente acionando #5656 exemplo , ja vi o sistema usado em central de alarme é bem parecido porem a central tinha tipo um menu digita-se a senha e logo após digita o codigo de operação tipo para cadastrar um controle codigo 15 e segura o botão do controle para gravar um sensor sem fio codigo 17 e assim por diante mas isto é um outro projeto porem é parecido , vi um sistema só não me lembro onde , mas tinha um teclado e um display este ficava uma mensagem , digitando a senha liberava a porta exibia uma outra mensagem , agora se for para sofisticar este seu imagina a fechadura com um receptor 433mhz o painel com o teclado um TX , acionando a senha correta transmite o o codigo HT ja gravado no recptor e libera a abertura , fechadura sem ¨fio ¨, bom precisa de alimentação mas quase um interfone sem fio porem transmite codigo para liberar o portão , mas vou ter que te dar um caderno maior , pois ideias nós temos só não temos tempo né ?
        obrigado pela ajuda no projeto uma coisa que esqueci de perguntar este sistema faz igual ao que falei de acionar pulsando ? ou arama por um tempo apenas ? abraços

  2. claudio bom dia!!!
    amigo depois de tudo pronto uma duvida pekena
    tipo como eu mudei o bip das teclas para um buzzer fico blz…mas ele fica emitindo um chiado baixinho mas c eu amenta o volume do buzzer o chiado tb aumenta .. ki eu posso fazer para tirar esse chiado?? tanto a capsula piezo quanto o buzzer fica fazendo um chiadinho bem baixo mas faiz… voltei td como vc projeto mas mesmo assim tb faiz o chiado..
    cladio OBRIGADO!!!!

    1. Olá Fabinhos!
      o ‘chiado’ é em decorrência da multiplexação com o Lcd e seu nivel é atenuado pelo capacitor c5 de 220 nf. Tente aumentar para 470nf e depois para 1uf, até conseguir um ‘valor razoavel’ de ruido. Tirar completo é dificil.
      Claudio

  3. claudio bom dia
    intaum amigo como vc disse para usar a criatividade eu fiz
    tipo consegui fazer a iluminacao com timer
    soh ki o disparador e fiz no 1 do 555
    usei um resistor 100k ligado no r17 com um bc 548
    ae e funco na boa tipo akela amp ki vc falo do buzzer agora funciono perfeito
    so ki eu tive ki tirar r16 tem algum problema???
    obrigado

    1. Olá Fabinhos!
      Se tudo está operando a contento, acredito que voce foi feliz na escolha dos componentes. Parabéns pelo esforço e criatividade.
      ‘Se não vai de um jeito, vai de outro’ e assim ‘vamos’.
      Claudio

  4. claudio bom dia
    intaum fiz sua sujestao mas sem sucesso …
    tipo a sujestao de iluminacao funciona muito bem mas naum passa nd depois do capacitor c3
    tipo esclarece uma coisa pra min tira uma duvida tipo no coletor de q2 tem uma realimentacao q vem de r16
    tipo assim pq no coletor de q2 fica simplesmente parado com a voltagem da realimentacao e quando clico no teclado naum muda nd tah certo isso?? ate a capsula tb naum funcionou direito
    tipo explica pra min como finciona essa parte d q2 claudio obrigado por me ajudar e ainda dar sujestoes

    1. Olá Fabinhos! Assim que eu tiver um tempo, vou montar o circuito inteiro no protoboard para poder testar na prática, pois na teoria ‘tudo parece funcionar , mas nada funciona’ e na pratica ‘tudo funciona, mas não sabemos explicar porque!’.
      Claudio

  5. boa noite claudio
    isso fiz um timer comum como vc viu…tipo dae kiria um lugar onde eu possa pegar esse sinal
    e qual componente eu posso usar para naum comprometer o seu projeto
    obrigado

    1. Olá Fabinhos! Tente montar este circuito aqui , primeiro em protoboard (ou de forma experimental suspensa) e veja se atende seus objetivos.
      Cláudio

Comments are closed.

Back To Top