Esta é uma nova versão do BIG_GEN, publicado a algum tempo atrás, neste blog. O que tem de novo?
A intensa utilização de prédios para moradia resultou em uma nova necessidade: controles de portões automáticos com multiplos controles remotos, sendo que cada morador talvez tenha 2 ou 3 deles. Assim, um prédio com 4 apartamentos por andar com 12 andares, necessitaria de 96 a 144 controles remotos. Haja controle remoto! O desafio dos programadores foi justamente criar dispositivos que consigam gerenciar tamanha demanda, e de uma forma prática para quem faz a manutenção. Anteriormente, foi publicado por este blog um receptor genérico que poderia atender esta necessidade, com apagamento individual de controles. Mas na programação dos controles não havia opção para escolher um número específico de posição de memória, ficando a cargo do sistema procurar uma posição vaga e nela gravar.
Nesta versão, poderemos determinar o número da posição que será gravado um determinado controle remoto (chaveirinho). Qual a vantagem deste sistema?
A grande vantagem é que facilita o gerenciamento dos controles remotos. Por exemplo: Poderemos reservar os números de 1 a 12 para os apartamentos do primeiro andar ( no caso de 4 apartamentos por andar com 3 controles por apartamento). Em caso de perda do controle, para substituir o controle iremos pedir para o morador trazer os outros dois e testar seus números. Suponha que seja o apartamento 1, então ficou a posição 1 a 3 designada para este apartamento. Os controles em mãos são 1 e 3 (nós testamos acionando e vendo no display seu número). Conclui-se que perdeu o controle 2. Pegamos o novo controle e gravamos na posição 2. Pronto! Resolvido o problema. Também, como opção até a aquisição de um novo controle, poderia somente ‘remover’ o controle 2. Em uma ocasião futura, outro controle seria gravado nesta posição e dado ao morador do apartamento. O sistema fica mais prático e promove a segurança de todo o sistema.
Que dizer do esquema? Veja abaixo:
Na realidade, continua o mesmo esquema do BIG_GEN anterior. Apenas foi feita uma modificação no software. Podemos assim concluir que se trata de um ‘up_grade’. Caso tenha montado este versão, poderá usar este novo Hex, obtendo todas as vantagens do sistema com aprendizado individual.
A programação é realizada através de 4 interruptores dactilares na placa de circuito impresso: ‘learn’, interruptor 1, interruptor 2 e ‘reset’.
Para iniciar o processo de gravação temos que entrar em ‘modo de programação’ por apertar a tecla ‘learn’ até aparecer no visor do LCD a mensagem: ‘gravar/remover’. Para gravar controles deverá apertar a tecla 1. Aparecerá na tela a mensagem: ‘gravar controle’. Atue nas teclas 1 (rápido) e 2 (lento) para escolher a posição a ser gravado o controle. Quando chegar na posição desejada, aperte ‘learn’ para gravar. Outra mensagem aparecerá na tela: ‘acione o botão do tx’. Aperte qualquer botão do controle remoto para grava-lo na Eeprom. Por facilidade, após gravar um controle, aparecerá o número da próxima posição a ser gravada. Caso queira usar esta posição (aprendizado sequencial para um apartamento) basta apertar ‘learn’ e o botão do próximo controle remoto, e assim sucessivamente. Para sair do modo de programação, aperte ‘reset’.
Para a remoção de controles remotos, após entrar em modo de programação, sendo vista a mensagem: ‘gravar/remover’, aperte a tecla 2. Outra mensagem aparecerá: ‘apagar único controle’. Aperte 1 para único controle a ser apagado. Se aperta 2, irá para a tela de apagamento geral de todos os controles. Para impedir um acionamento errado, o sistema pede a confirmação deste apagamento e necessita manter ‘learn’ apertado por mais de 2 segundos para que isto ocorra. Fica mais seguro (imagine como seria desastroso se enganar e ter que reprogramar centenas de controles!). Esta parte do apagamento foi mantido da mesma forma que o anterior BIG_GEN, podendo-se se consultar o artigo para dúvidas a respeito.
Igualmente ao anterior, este sitema permite usar controles com circuito integrado da família HTP e da família HCS, mas nesta caso, sem usar o ‘hopping code’. Para salvar espaço de memória, o sistema aprende um único endereço por controle, desprezando os bits de botão. Por isto, basta ‘aprender’ (gravar) por apertar um único botão qualquer do controle.
Os pinos 6 e 7 são as saídas para ligarmos os dispositivos da nossa aplicação. Nesta versão foi usado mais 2 transistores BC548 e 2 reles para facilitar a conexão com placas de portão, usando a saída da ‘botoeira’. A saída 1 poderia acionar uma placa, abrindo/fechando um portão e a saída 2, uma outra placa. Com o botão esquerdo aciono uma e o direito, a outra.
Obs. Este artigo é apenas didático, sendo montado apenas em placa de protoboard, sujeito a bug’s ainda não observados. Esta sendo fornecido os arquivos ASM e Hex que poderão ser alterados conforme a necessidade do hobista.
Segue pasta com os arquivos ASM e HEX para esta nova versão:
Manuais:
Pic 16f628a
Memória 24c08
Assuntos relacionados:
BIG_GEN I (versão anterior)
Big_gen_mix com at89c2051
Big_gen somente para Ht6p20b com at89c2051
Como ler sinal transmitido por controle remoto rf
Curiosidades:
Leif Eriksson — descobridor da América?
Os eficientes e versáteis escudos da Terra
Escute a voz interior
O que devo saber sobre esteróides?
Uma lição da história romana
Por que vencer o perfeccionismo?
Qual o problema em colar nas provas?
Um mar extraordinário — mas morto!
Um homem lembrado por sua curiosidade
Como deixei de ser violento
Como ajudar crianças com distúrbios de aprendizagem
Por que é tão difícil dividir o espaço com alguém?
Como encontrar alguem compatível para morar comigo?
Por que ir ao dentista?
Impressionantes “aspiradores” do mar
Outros assuntos:
Como controlar seu estresse
Quando seu casamento não é o que você esperava
Recuperar a confiança no casamento
Como acabar com a tática do silêncio
Como ser feliz no casamento?
Como ser um bom ouvinte
Como lidar com as dívidas
Como resolver problemas no casamento
Aprenda a perdoar
Como lidar com os sogros
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?
Até o próximo artigo!!!
Bom dia Claudio, antes quero te agradecer e parabenizar muito pelo site e pelas dicas. Estou tentando montar o big gen 2 no proto board e estou tendo sucesso mas com um único problema o tx grava mas não le. Estou utilizando como memoria externa uma 24lc16B da holtec. Pode ser esse o erro? Tem diferença entra a 24c08 e a 24cl16 para leitura e gravação? Desde já agradeço.
Olá Tiago!
Pelo que eu sei, uma 24c08 difere da 24c16 apenas na quantidade de bytes que suporta na eeprom interna (1024 bytes para 24c08 e 2048 para 24c16). O protocolo é o mesmo e deveria funcionar também. Tente estudar o datasheet da memória que está usando para ver se tem alguma funcionalidade extra. Na dúvida, tente usar uma 24c08 para teste.
Cláudio
Obrigado Claudio. Estou tentando também utilizar a rotina de gravação na 24c08 para um rx normal (sem LCD e sem escolha de posição) mas também sem sucesso, caso vc tenha alguma dica agradeço
Bom dia Claudio, descobri o erro era uma ligação errada agora esta funcionando legal, obrigado por todas as dicas e por sempre responder nossos comentários. Muito Grato
Claudio como programar a Memória 24c08
Olá Belson!
Para usar no circuito do Big_gen não precisa programar a 24c08. Basta coloca-lo no circuito. Se for uma usada, com informações nela, deverá fazer um apagamento de todos os controles (para apagar o lixo contido na eeprom) antes de usa-la.
Cláudio
larios vc tem algum projeto q de para aprender tanto controles lerning code e hopping code ?
Olá Francisco! Infelizmente ainda não tenho. A recepção hopping code é mais complicada e exige mais memória na gravação. Misturar os tipos causa um pouco de confusão. Quem sabe no futuro crie coragem para mexer com isto.
Cláudio
Bom sei que é pedir d+ mas quem sabe uma versão em C! 😀
Olá Silva45!
Este projeto é um tanto trabalhoso. Quando eu me aperfeiçoar mais em linguagem “C” quem sabe de coragem para refazer este e outros nesta linguagem.
Cláudio
Olá Larios , antes de tudo quero te felicitar pelo excelente trabalho que você vem realizando e de sua imensa ajuda com todas as informações que nos tem brindado, tenho uma pergunta em relação ao projeto teria como adicionar uma senha de instalador e uma senha de usuário , ou seja o instalador teria acesso total na programação principalmente a de adicionar novos controles, o usuário somente poderia eliminar ou bloquear os controles já gravados , fica aí meu pedido , um abraço..
Olá Claudinei! Obrigado por seu comentário apreciativo. Seria realmente muito interessante esta possibilidade. Mas como pode notar, os pinos do pic já estão bem solicitados. Teriamos que usar um pic maior, com mais pinos, para comportar também um teclado. Quem sabe no futuro…
Claudio
😛 Olha só Claudio, quando vc pensa que o negocio ta bom, ai vem você e melhora mais ainda o exemplo, vamos para a pratica aqui e retorno com os resultados, valeu ai mais uma vez por esta força e de muitos colegas aqui do blog, abraço…