ANTIFURTO A 12 INGRESSI CON PIC18F4550
Link Articolo Originale:
http://www.grix.it/viewer.php?page=10188
Descrizione
Antifurto con pic, a 12 linee ingresso
Linee da 1 a 4 programmabili come tamper/temporizzate/ dirette,
Linee da 5 a 12 programmabili come temporizzate o dirette.
Linee da 5 a 12 programmabili come temporizzate o dirette.
Linee tamper (da 1 a 4) gestite tramite interrupt
Linee da 5 a 12 gestite tramite espansore d’ingressi PCF8574
Visualizzazione e programmazione parametri tramite display lcd 16 x4
Ogni linea ingresso puo' essere associata a tre zone (A,B,C) inseribili separatamente
Inserimento e disinserzione tramite combinazione a tastiera formata da 6 pulsanti
Parametri antifurto memorizzati nella memoria interna EEPROM del pic
Memorizzazione ultimi 15 eventi(accensione,allarmi,spegnimento)
Annullamento linea ingresso dopo due allarmi consecutivi
Premessa
Premetto che questo è il mio primo progetto realizzato da autodidatta con un microprocessore. Circa un anno fa’ cercando un semplice schema per realizzare un piccolo antifurto per il garages (che avrei potuto acquistare con poche decine di euro) mi sono imbattuto nel sito www.grix.it e in seguito ho trovato il sito www.laurtec.it. Ho incominciato a leggere il suo tutorial “C18 step by step” e mi sono fatto “prendere dal mondo dei PIC”.Tutto quello che ho imparato sui pic e sul linguaggio C18 l'ho imparato leggendo questo sito( www.laurtec.it) a cui rimando per eventuali spiegazioni sul microprocessore e relativo programma di programmazione.
Il circuito è stato realizzato su scheda millefori in quanto è da anni che non realizzo più schede ed è stato provato solo a banco, pertanto, al momento, manca un collaudo per testare eventuali difetti di funzionamento.
clicca per ingrandire |
Descrizione funzionamento :
ATTIVAZIONE ANTIFURTO
Inserimento totale:
Premendo per un secondo circa il tasto N° 1si attivano contemporaneamente le zone A B C e dopo il “tempo di pre-inserimento”regolabile da “setup” l’antifurto si attiva.
I tre led si accendono indicando che le tre zone sono attive.
Inserimento parziale :
Premendo il tasto n° 4 per un secondo si attiva la zona “A”
Premendo il tasto n° 5 per un secondo si attiva la zona “B”
Premendo il tasto n° 6 per un secondo si attiva la zona “C”
Dopo l’inserimento della prima zona si hanno circa 6 secondi per poterne attivare una seconda. I led accesi indicano le zone inserite.
Le zone inserite e lo stato dell’antifurto (acceso-spento-in allarme-preallarme-preinserimento) si possono leggere anche sul display LCD
DESCRIZIONE LED TASTIERA
Ad antifurto acceso i tre led indicano le zone inserite.
Ad antifurto spento indicano,lampeggiando, quale zona è andata in allarme durante l’ultima accensione dell’antifurto
In caso sia andato in allarme a causa di una linea tamper i tre led lampeggiano velocemente e simultaneamente.
DESCRIZIONE LINEE INGRESSO:
Tutte le linee ingresso possono essere escluse (disabilitate) tramite
Setup.
Le linee da 1 a 4 possono essere programmate come “TAMPER” .
Le linee tamper se abilitate e con ingresso aperto verso massa, attivano la sirena immediatamente indipendentemente dallo stato dell’antifurto e mandano l’antifurto in stato di “ACCESO”.
Per far spegnere la sirena occorre fare la combinazione per spegnere l’antifurto.
Le linee da 5 a 12 possono essere programmate anche con ingresso temporizzato e assegnate ad una o più delle tre zone A B C.
Ogni linea può mandare in allarme due volte l’antifurto dopodiché viene esclusa fino ad una nuova attivazione dell’antifurto stesso.
DESCRIZIONE FUNZIONE SETUP:
Attivazione setup :
Ad antifurto spento premendo per un secondo circa il tasto setup sul circuito si udirà un beep del cicalino che conferma l’entrata nel ciclo di setup.
Il setup è composto da 6 menù che sono:
SETUP TEMPI
SETUP DATA E ORA
SETUP COMBINAZIONE
SETUP INGRESSI
LEGGE EVENTI
VISUALIZZA STATO LINEE INGRESSO
Per far scorrere i menù si devono premere i tasti “UP” o “DOWN“ sul circuito.
Premendo il tasto “SETUP” si entra nei relativi menù.
SETUP TEMPI:
Il “setup tempi” è composto a sua volta da 3 sottomenu:
TEMPO INGRESSO (Preallarme)
TEMPO DURATA ALLARME
TEMPO PRE INSERIMENTO ANTIFURTO (Uscita)
Premendo il tasto “setup” il cursore sul tempo indicato dal display LCD lampeggia e tramite i tasti “up” e “down” si puo’ modificare il tempo selezionato. Premendo nuovamente il tasto “setup” si conferma il valore impostato e si ritorna al menù tempi.
Nota: Il tempo di pausa tra due allarmi(60”) è fisso come il tempo massimo per la composizione della combinazione (10”)per il disinserimento dell’antifurto
SETUP DATA ORA:
Premendo il tasto “setup” il cursore sul tempo indicato dal displayLCD lampeggia e tramite i tasti “up” e “down” si può’ modificare il dato selezionato
SETUP COMBINAZIONE :
Tramite questo setup è possibile inserire la sequenza dei tasti (numerati da 1 a 6) da premere per spegnere l’antifurto.
Inserendo il numero “0” si termina la sequenza.
Ad esempio la sequenza 2 4 5 000 indica che per spegnere l’antifurto occorre premere in sequenza ed entro 10” i tasti 2 4 e 5 mentre la seguente :5 1 6 2 3 0 indica che occorre premere in sequenza i tasti 5 1 6 2 e 3
Nota :non ho utilizzato una tastiera a matrice in quanto mi sono ispirato alla tastiera che attualmente utilizzo per spegnere l’antifurto realizzato anni fà con integrati CMOS che utilizzo attualmente in casa
SETUP INGRESSI :
Tramite questo “setup” è possibile inserire e variare i parametri delle 12 linee di ingresso.
ESCLUSA / INSERITA
DIRETTA / TEMPORIZZATA e TAMPER (solo linee da 1 a 4)
ZONA DI APPARTENENZA : A B C (solo se non tamper)
LEGGE EVENTI :
In questo menù si possono leggere gli ultimi eventi verificati (inserimento-spegnimento-numero linea che ha generato l’allarme) e la data e l’ora in cui si sono verificati.
VISUALIZZA LINEE :
In questo menu si può’ vedere in “ diretta” lo stato (0 o 1) delle linee di ingresso ed inoltre la scritta finale “ok” o “err” indica se la lettura del PCF8574 è avvenuta con successo o meno.
Premendo il tasto “setup” si ritorna al menù precedente.
SCHEMA ELETTRICO :
Come già detto questi integrati sono ben descritti sul sito di Laurenti.
Schema
ELENCO COMPONENTI:
R1
|
10K
|
R31
|
10K
|
R2
|
10K
|
R32
|
39K
|
R3
|
10K
|
R33
|
4,7K
|
R4
|
10K
|
R34
|
4,7K
|
R5
|
10K
|
R35
|
4,7K
|
R6
|
10K
|
TRIM1
|
TRIMMER 3,3K
|
R7
|
10K
|
C1
|
220mF 25v
|
R8
|
470 OHM
|
C2
|
0,1mF
|
R9
|
470 OHM
|
C3
|
220mF 25v
|
R10
|
470 OHM
|
C4
|
0,1mF
|
R11
|
470 OHM
|
C5
|
15pF
|
R12
|
470 OHM
|
C6
|
15pF
|
R13
|
470 OHM
|
C7
|
0,1 Mf
|
R14
|
330 OHM
|
D1
|
1N4007
|
R15
|
330 OHM
|
D2
|
1N4007
|
R16
|
330 OHM
|
D3
|
1N4007
|
R17
|
10K
|
TR1
|
BC337
|
R18
|
39K
|
TR2
|
BC337
|
R19
|
10K
|
TR3
|
BC337
|
R20
|
39K
|
TR4
|
BC337
|
R21
|
10K
|
Q1
|
20 MHz
|
R22
|
39K
|
Q2
|
32,768 Hz
|
R23
|
4,7K
|
INS
|
RELE' ANTIF. INSERITO
|
R24
|
10K
|
SIR
|
RELE' SIRENA
|
R25
|
330 OHM
|
IC1
|
lm7805
|
R26
|
330 OHM
|
IC2
|
PIC 18F4550
|
R27
|
330 OHM
|
IC3
|
PCF8563P
|
R28
|
330 OHM
|
IC4
|
PCF8574A
|
R29
|
330 OHM
|
LCD
|
DISPLAY 16 X 2
|
ELENCO INGRESSI PIC UTILIZZATI:
N° PIN
|
SIGLA
|
DESCRIZIONE
|
N° PIN
|
SIGLA
|
DESCRIZIONE
|
2
|
RA0
|
TASTO 1 PULSANTIERA
|
15
|
RC0
|
CICALINO (BEEP)
|
3
|
RA1
|
TASTO 2 PULSANTIERA DOWN X SETUP
|
16
|
RC1
|
RELE ANTIFURTO INSERITO
|
4
|
RA2
|
TASTO 3 PULSANTIERA UP X SETUP
|
17
|
RC2
|
RELE' SIRENA ALLARME
|
5
|
RA3
|
TASTO 4 PULSANTIERA
|
18
|
RC3
|
NON UTILIZZATO
|
6
|
RA4
|
TASTO 5 PULSANTIERA
|
23
|
RC4
|
D--
|
7
|
RA5
|
TASTO 6 PULSANTIERA
|
24
|
RC5
|
D+
|
25
|
RC6
|
USCITA NON UTILIZZATA
|
|||
33
|
RB0
|
SDA
|
26
|
RC7
|
ILLUMINAZIONE LCD
|
34
|
RB1
|
SCL
|
|||
35
|
RB2
|
INT PER INTERRUPT ESTERNI
|
27
|
RD4
|
COMANDO LCD
|
36
|
RB3
|
PULSANTE SETUP
|
28
|
RD5
|
COMANDO LCD
|
37
|
RB4
|
INGRESSO LINEA 1
|
29
|
RD6
|
COMANDO LCD
|
38
|
RB5
|
INGRESSO LINEA 2
|
30
|
RD7
|
COMANDO LCD
|
39
|
RB6
|
INGRESSO LINEA 3
|
|||
40
|
RB7
|
INGRESSO LINEA 4
|
8
|
RE0
|
LED 1 ZONA 1
|
9
|
RE1
|
LED 2 ZONA 2
|
|||
10
|
RE2
|
LED 3 ZONA 3
|
MEMORIA EEPROM INTERNA UTILIZZATA:
INDIRIZZO
|
DESCRIZIONE
|
0
|
TEMPO INSERIMENTO
|
1
|
TEMPO PREALLARME
|
2
|
TEMPO ALLARME
|
3
|
PRIMO TASTO DA PREMERE PER COMBINAZIONE
|
4
|
SECONDO TASTO DA PREMERE PER COMBINAZIONE
|
5
|
TERZO TASTO DA PREMERE PER COMBINAZIONE
|
6
|
QUARTO TASTO DA PREMERE PER COMBINAZIONE
|
7
|
QUINTO TASTO DA PREMERE PER COMBINAZIONE
|
8
|
SESTO TASTO DA PREMERE PER COMBINAZIONE
|
9
|
|
10
|
|
11
|
SET LINEA 1
|
12
|
SET LINEA 2
|
13
|
SET LINEA 3
|
14
|
SET LINEA 4
|
15
|
SET LINEA 5
|
16
|
SET LINEA 6
|
17
|
SET LINEA 7
|
18
|
SET LINEA 8
|
19
|
SET LINEA 9
|
20
|
SET LINEA 10
|
21
|
SET LINEA 11
|
22
|
SET LINEA 12
|
SCHEMA A BLOCCHI FUNZIONAMENTO CICLO PRINCIPALE:
PROGRAMMA:
Il programma è stato realizzato tramite il lingaggio C18 e nel file allegato troverete tutti i sorgenti per controllare e modificare a piacimento il funzionamento dell’antifurto.
Come ho già detto è il primo progetto che realizzo e quindi la stesura del programma non è di certo fatto in modo professionale,pertanto chiedo scusa sin da ora a tutti coloro che programmano per mestiere. Comunque a me è servito per apprendere il “mondo” dei PIC, le tecniche di programmazione e per farmi trascorre diverse serate in modo alternativo e costruttivo.
Qualcosa non sono riuscito a realizzare,come ad esempio far funzionare gli ingressi da 5 a 12 tramite interrupt.(dopo alcune interrupt il programma si bloccava !).
Le librerie che ho usato sono quelle scaricate dal sito www.laurtec.it e scompattate nella seguente directory : D:PICLIBRERIE_LAURTEC_SCOMPATTATE