Está procurando um esquema fácil de alarme veicular, com controle remoto RF? Que possa usar estes controles remotos comerciais de alarme/portões? Com um pequeno microcontrolador PIC de 8 pinos?
Quando desejamos construir um alarme veicular (moto/carro/onibus,etc), ficará mais fácil se utilizarmos os recursos internos de um microcontrolador. Com poucos componentes interligados a um pequeno PIC 12f675, facilmente obtemos o resultado desejado. O grande problema, para maioria de nós, é ‘como fazer o programa que rodará no PIC’. Este artigo fornece uma sugestão de programa em ‘C’, que poderá ser uma base para seu próprio projeto (relembrando que sou apenas um ‘hobista’ e não ‘programador profissional’!). Veja o esquema abaixo:
Foi usado um receptor comercial de 433mhz, com um pedaço de fio servindo de antena, para receber os sinais emitidos por transmissores do tipo ‘chaveiro’ também de 433mhz. Outras frequências podem ser usadas, desde que tanto o receptor como os transmissores utilizem a mesma frequência.
O pino 4 do PIC está programado para receber os sinais transmitidos pelos ‘chaveirinhos’. Já no pino 7 temos um misto entre o acionamento do led ‘monitor’ e a entrada do botão de programação ‘learn'(prog). O programa se encarrega de alternar entre a função de ‘entrada’ para ler o botão e como ‘saída’, para acionar as piscadas no led ”monitor’. O pino 5 é uma entrada para disparo do alarme, sendo ligado interruptores nas portas, capô e porta-malas, além de outras fontes de disparo, de forma positiva ou negativa. O pino 2 irá acionar um rele destinado a fazer piscar as setas do carro, sendo usado um rele com duplo contato, de 12 volts na bobina. Para acionar a sirene eletrônica ou a buzina (opção) foi usado outro rele de 12 volts, por meio de um transistor BC548, cuja base é acionada pelo sinal proveniente do pino 3. Também temos outro rele que pode ser usado para cortar a alimentação da bomba de combustível ou que interrompa a alimentação da bobina de ignição, quando ocorrer um disparo do alarme. Foi usado outro BC548 para acionar este rele em seu coletor, sendo que sua base é acionada pelo pino 6 do PIC.
Foi previsto no programa a função ‘rearme’ para quando o alarme se encontrar disparado e alguém tentar desligar a bateria para dar um ‘reset’ no alarme. Se isto ocorrer, o alarme reinicia a sirene, bloqueia bomba/bobina e pisca as setas por mais um período de tempo. Utiliza-se a ultima posição da EEprom para guardar o estado do alarme (disparado=0x00 e não disparado = 0xff).
O led ‘monitor’ indica por suas piscadas que o alarme está ativado. Deverá ficar em lugar visível para quem está de fora do carro, com um indicativo de existência de alarme no veiculo. Quando ocorre um disparo do alarme, ele passa a piscar de forma mais rápida, e continuará, mesmo que pare a sirene após um tempo de disparo. Somente retornará a piscar mais lento quando for acionado o controle remoto para desligar/ligar. Este led também é usado para indicar o aprendizado do controle remoto.
Programando controles remotos:
Aperte o botão ‘LEARN’ momentaneamente. Deverá acender o led monitor. Acione um dos botões do controle remoto. Deverá apagar o led, indicando o aprendizado.
Apagar controles remotos da EEprom:
Aperte o botão ‘LEARN’ por mais de 15 segundos. Irá acender e continue a apertar o botão até o momento em que apagará. Solte o botão ‘LEARN’. Está feito o apagamento! Nenhum controle mais funcionará! Deverá ser seguido os passos de aprendizado dos controles desejados, para voltar a operar o alarme.
O programa em ‘C’ permite que o usuário possa ajustar algumas características de funcionamento e depois recompilar, para gerar o arquivo .hex a ser usado na programação do PIC. Por exemplo: Pode-se mudar de 3 para 2 toques ao ligar, escolher o modelo do chip usado no chaveirinho transmissor, acionamento do alarme de modo continuo ou tempo de 5 minutos, único disparo ou não, etc.
Todos os testes foram feitos com um HT6P20b no chaveirinho. Os outros modelos foram apenas simulados e não foi possível fazer um teste mais abrangente. No caso do chip da família HCS200…301, consegui resultados somente quando programado para baud rate de 400 useg, sem usar ‘hopping code’, fazendo uso apenas do ‘serial number’. Este também foi truncado para 3 bytes, visando usar as mesmas rotinas de escrita/leitura dos outros ci’s.
Ao comprar os controles remotos comerciais, certifique que todos sejam iguais (com o mesmo chip interno, conforme as opções do programa).
Se possível, prefira os que tem HT6P20b internamente. Depois carregue o arquivo hex correspondente ao chip usado, fornecidos abaixo na pasta de arquivos.
Importante lembrar que o PIC a ser usado na programação tenha o seu byte de calibração intacto, do contrário não funcionará nada do programa. Caso tenha perdido, altere o arquivo “C” por descomentar a opção ‘perdi_byte_calibração’ e recompilar. Este colocará um valor provisório para teste. As temporizações poderão ser alteradas visto que o oscilador poderá estar com frequência mais alta ou mais baixa que 4 mhz. Para obter o valor correto do byte de calibração do seu PIC, leia o artigo ‘ Como calibrar a frequência do oscilador interno do pic 12f675/629‘.
O programa tem cabeçalhos que mostram o que cada porção do programa realiza, facilitando mudanças no programa.
Quanto ao tempo que o alarme fica disparado (5min) poderá ser alterado na constante:
byte const TMAX_SIRENE = 8*(5);//sirene ligada
Altere o valor entre parenteses de 1 até o limite de 31 min, como máximo permitido.
Obs. Esta montagem foi realizada apenas em placa de protoboard, sujeita a bug’s ainda não detectados. Está sendo fornecido os arquivos que poderão ser alterados conforme a necessidade dos hobistas. O autor não se responsabiliza por acidentes relacionados a montagem/uso deste alarme, em virtude do objetivo apenas didático do artigo.
Segue pasta com os arquivos “C” (CCS COMPILER V. 3.200) e “HEX”:
Manuais:
Pic 12f675
Outros assuntos:
Por que vencer o perfeccionismo?
Você se exercita o suficiente?
A língua da selva — segredos da comunicação entre os animais
Por que se preocupar com a exposição ao sol?
Conceito equilibrado sobre animais de estimação
Quando um bebê gorila chorou
Tome medidas para melhorar sua saúde
Medicina transfusional — seu futuro está garantido?
Mães saudáveis, bebês saudáveis
Esportes radicais — Vale a pena correr o risco?
Viver sob o controle da superstição
Orientações para uma vida melhor:
Como aproveitar bem seu tempo
Como controlar o estresse
Como proteger seus filhos
Por que continuar? Três razões para não desistir da vida
Qual é o sentido da vida?
“Tenho certeza de que existe um Criador”
A verdade sobre magia, encantamento e feitiçaria
Como posso causar uma boa impressão?
Transtornos de humor – Como obter alívio
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!
boa noite Mestre Claudio, como diz meu amigo Lourival, trabalhamos juntos, e abusando de seu conhecimento gostaria de trocar umas idéias, montei um Receptor utilizando o PIC 12F675, utilizando seu arquivo que ilustra um receptor genérico, ainda estamos engatinhando no assemble, mas gostaria de alterar algumas coisas pra que funcione de acordo com o que preciso e gostaria se possivel de sua ajuda pra entender, quando cadastro o controle no receptor ele está aprendendo todos os botoes e acionando saidas diferentes no pic, porem preciso que acione apenas uma saida, e que quando estiver fazendo o cadastro eu transmita e grave apenas o botão que apertei e não o controle todo, para que eu possa utilizar o controle para acionamento de outro receptor no mesmo local com botão diferente do controle ou ainda aproveitar o controle para outros acionamentos que por ventura possam existir. assim poderiamos aproveitar a memória para gravar até 42tx pois teriamos apenas um dos botões cadastrados é possivel?grande abraço e parabens pelo trabalho.
Olá Sidney! Por favor, nada de chamar de ‘mestre’. Sou apenas um hobista na área de microcontroladores, e estou também aprendendo. Vamos ao que você deseja: Ao ocorrer uma transmissão são enviados 28 bits mais o anticode (que é desprezado por nós). Os 2 últimos bits da transmissão, são os bits relativos ao estado dos botões. Quando eu quero aprender todo o controle remoto, com um único aperto de qualquer botão, eu salvo estes bits em outro lugar, e os apago para serem gravados na EEprom. Assim, em cada recepção, estes 2 bits não entram na comparação, sendo salvos e apagado antes da comparação. Assim, todos os outros serão aceitos. Para gravar um único botão apenas, precisa eliminar esta ação, gravando o código incluindo os 2 últimos bits. Fazendo assim, terá que aprender cada botão.
Foi feito um exemplo no artigo ‘CONTROLANDO 3 RECEPTORES COM UM ÚNICO CONTROLE REMOTO (C/CI HT6P20B) – COM PIC 12F675’, que talvez lhe seja útil para um estudo.
Cláudio
Boa noite, agradeço pela informação irei a procura do transmissor e pretendo comprar as peças para montar o alarme.
obrigado Larios
Boa tarde Larios,
Sou novo no forum e não conheço muito bem eletrônica mas gosto de fazer montagens nas horas vagas.
Estou com problemas quanto ao transmissor o único que tenho utiliza o ci mc145026na frequência de 315 mhz
inclusive havia montado o transmissor e receptor com dois canais para uso em outro projeto mas achei o seu bem mais interessante fazendo até inscrever-me no site.
Enfim, gostaria de saber se posso utiliza-los no projeto.
desde já agradeço.
Carlos
Olá Carlos! Este seu transmissor é um modelo mais antigo usando o ci 145026. Infelizmente, para as montagens aqui citadas ele não servirá. O ideal é você adquirir novos tx’s (chaveirinhos comerciais) na frequência de 433 mhz e de preferencia com ci. ht6p20b internamente. O modulo receptor para 433mhz é facilmente encontrado nas lojas de componentes eletronicos com varios formatos, sendo muito usado em placas de controle de portões para residências. Poderá adquirir inclusive em lojas da internet , que enviam tais itens pelo correio.
Existem inúmeros circuitos integrados usados em controles remotos. Seria muito difícil para mim, fazer um projeto para cada um, até mesmo impossível.
Seja bem-vindo!!
Cláudio
lario ja montei o alarme!alterei para apenas 2 toques e aumentei de 5 para 10 minutos de disparo.
lario estou aproveitando as minhas horinhas de folga e apreciando estas magnificas engenharia que voce desenvolve,parece mais uma arte do que mesmo projeto,eu tenho uma leve impressão que voce ja visitou a naza,pois sua inteligencia em bolar o esquema o software simular e postar é uma tarefa desafiadora. estou curioso para chegar em casa e realizar a montagem deste formidavel dispositivo de segurança que a tempo estou a procura.lario obrigado ainda existem pessoas como voce que nos dão muitas alegrias. jose luiz
Olá José! Obrigado por seu comentário. Mas… por favor, não exagere! Divirta-se com a montagem!
Cláudio