Quem já não passou pela seguinte situação: esquecer as lanternas do veiculo ligadas o dia todo, e ao retornar, depois de um cansativo dia de trabalho, descobrir que a bateria estava completamente descarregada !!! Após um momento de raiva e autocomiseração, vem a hora de buscar ajuda, nem sempre disponível.
Como evitar este terrível transtorno ? Aí surgiu a ideia de fazer um pequeno circuito, que ao abrir a porta, com a lanterna ligada, soasse um discreto aviso, lembrando-nos de desligar as lanternas. Sem duvida, poderia ser feito somente com componentes discretos, mas, visando reduzir o tamanho e dar um certo “charme” ao som gerado, optei pelo uso de um pequeno microcontrolador, o PIC12f629, que tem suficiente pinos de saída para isto (até sobra).
A etapa de saída com os dois transistores em par complementar podem ser suprimidas se for usado um alto-falante piezoelétrico do tipo usado em telefones de mesa. O regulador de tensão 7805 foi optado pelo tamanho miniatura. Como o circuito é alimentado pela linha da lanterna, não haverá consumo quando ela estiver desligada. Foi previsto uma ligação para o + 15 (chave de contato ligada), que visa unicamente não acionar o alerta quando o veiculo está com a lanterna ligada, motor ligado e alguém abre a porta para descer do carro. Assim, são três as condições para o alarme acionar: lanterna ligada, contato desligado e abrir portas. Com uma pequena plaquinha de impresso (sobrão) de 3 cm X 2 cm podemos realizar a montagem.
Para gravar o PIC com arquivo Hex poderá usar um programa como WinPic800 e se desejar alterar o programa “alerta.asm” use o Mplab da Microchip.
Segue esquema de ligações:
Segue arquivo asm:
*************************************************************************
; Alerta.asm
; PROJETO : ALERTA DE LANTERNA LIGADA
; AUTOR: CLAUDIO LÁRIOS
; PROCESSADOR: PIC 12F629
; OBJETIVO: AO SAIR DO VEICULO (ABRIR UMA DAS PORTAS) EMITIR SINAL SONORO SE
; LANTERNAS ESTIVEREM LIGADAS E CHAVE DE CONTATO DESLIGADA APENAS, POR ; UM PERIODO DE TEMPO.
;*************************************************************************
#INCLUDE
__CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _MCLRE_ON & _INTRC_OSC_NOCLKOUT
;PAGINACAO DE MEMÓRIA;
#DEFINE BANK0 BCF STATUS,RP0 ;SETA BANK0 DE MEMORIA
#DEFINE BANK1 BSF STATUS,RP0 ;SETA BANK1
; VARIAVEIS
CBLOCK 0X20 ;ENDERECO INICIAL DE MEMORIA
AUX,DEL4, DEL5,AUX1,AUXOFF,CAUX1,INV,TEMP,CONT
ENDC
;=====DEFINICAO DE BITS E FLAGS==============
#DEFINE SOM GPIO,5 ; SAIDA PARA DADO DO MOSTRADOR EXTERNO PINO 2
#DEFINE PCAR GPIO,4 ;ENTRADA PARA PORTAS PINO 3
#DEFINE M15 GPIO,2 ;ENTRADA PARA +15 DA IGNIÇÃO PINO 5
ORG 0X00
GOTO INICIO
; VETOR DE INTERRUPCAO
ORG 0X04
RETFIE
;................................................................................................
INICIO
BANK1 ;BANCO 1
MOVLW .0
MOVWF INTCON ;DESLIGA TODAS INTERRUPCOES
MOVLW B'11110' ;SAIDA EM GP0
MOVWF TRISIO ;
BANK0
MOVLW .7 ;DESLIGA O COMPARADOR
MOVWF CMCON ;IDEM
CLRF INV
TESTA:
MOVLW 0X0a
MOVWF CONT
T1:
BTFSC PCAR
GOTO TESTA
BTFSC M15
GOTO TESTA
MOVLW 0XBF ;TEMPO DE PAUSA
MOVWF AUXOFF
MOVLW 0X0F ;TEMPO DE DECAIMENTO
MOVWF CAUX1
MOVLW 0X3C ;TEMPO ON
CALL SINO
;------------------------------------------------
MOVLW 0X1F ;DELAY ENTRE NOTAS
MOVWF TEMP
LL1
MOVLW 0XFF
CALL DELAY
DECFSZ TEMP,F
GOTO LL1
DECFSZ CONT,F
GOTO T1
T2:
BTFSS PCAR
GOTO $-1
MOVLW 0XFF
CALL DELAY
MOVLW 0XFF
CALL DELAY
MOVLW 0XFF
CALL DELAY
MOVLW 0XFF
CALL DELAY
BTFSS PCAR
GOTO T2
GOTO TESTA
;-----------------------------------------------------------------
SINO
MOVWF AUX
CLRF INV
DENOVO1
INCF INV,F
MOVFW CAUX1
MOVWF AUX1
DENOVO
BCF SOM
MOVFW AUXOFF
CALL DELAY
BSF SOM
MOVFW AUX
CALL DELAY
BCF SOM
MOVFW INV
CALL DELAY
DECFSZ AUX1,F
GOTO DENOVO
DECFSZ AUX,F
GOTO DENOVO1
RETURN
;------------------------------------------------------------------------------------------
DELAY
MOVWF DEL5
DECFSZ DEL5,F
GOTO $-1
RETURN
ATRASO
NOP
NOP
NOP
RETURN
END
Segue código Alerta.Hex:
:020000040000FA
:020000000528D1
:080008000900831600308B0093
:100010001E308500831207309900A6010A30A8001F
:10002000051A0E2805190E28BF30A4000F30A500B0
:100030003C302F201F30A700FF304220A70B1C2888
:10004000A80B1028051E2228FF304220FF30422036
:10005000FF304220FF304220051E22280E28A0003B
:10006000A601A60A2508A3008512240842208516A9
:1000700020084220851226084220A30B3428A00B1A
:1000800031280800A200A20B43280800000000004D
:040090000000080064
:02400E00E43F8D
:00000001FF
Segue pasta com arquivos desta montagem:
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
Até o próximo artigo!!!!
Bom dia nobre Claudio!!!
Montei o seu alerta de farol ligado e funcionou muito bem.Tentei fazer algumas alterações mas não entendo de Assembly. sei que é pedir demais mas vou pedir: poderia passar este código para C no compilador MikroC PRO V5.61??? Tem como incrementar a função para avisar ao motorista para ligar o farol quando ele esquecer??? já está em vigor a nova lei do farol desde o dia 07 deste mês!!! O alerta ficaria com duas funções, avisava quando do esquecimento do farol ligado e avisava para ligar o farol, entendeu??? Muito obrigado…
Olá Batmonstro!
Eu somente uso o compilador CCS C. Ainda não estou familiarizado com os comandos do Mikro C. Com respeito a lei, ela é somente para os usuários de estrada. Na cidade, por enquanto a lei não exige uso de farol baixo. Suspeito, não tenho certeza, que os fabricantes de lâmpadas automotivas tem lobistas fortes atuando na legislação de leis. Esta lei fará que aumente as vendas de lâmpadas de 4 watts das placas e lanternas, de 21/10 watts das lanternas traseiras, e 55 watts dos faróis. Será que tá chegando lâmpadas de led para faróis também? Para durar umas 25000 horas , contra menos de 500 horas de uso das lâmpadas atuais de filamento?
Cláudio