Creato da: DonnyLennon il 05/01/2011
esperienze, appunti e risorse di elettronica e robotica
|
Area personale- Login
Contatta l'autore
TagUltimi commenti |
Cerca in questo Blog
Allarme! Chiudere la porta!
Post n°5 pubblicato il 05 Luglio 2012 da DonnyLennon
Se vivi in campagna, soprattutto in estate, devi convivere con gli insetti. A partire dalle zanzare, le più fastidiose, continuando con moscerini, o scarafaggi, ragni. Per le finestre esistono le zanzariere, ma per le porte e i portoni può capitare di dimenticare la porta aperta, per qualche minuto, ma anche tutta la notte, risvegliandosi la mattina dopo con punture di insetti veramente spiacevoli. Partendo da questo problema, per esercitarmi sull'utilizzo dei famosi microcontrollori PIC, ho sviluppato questo progetto: Si tratta di un allarme, basato sul PIC 12F675. Lo schema è il seguente:
Descrizione schema e funzionamento generale: SW2 è un interruttore a pulsante che andrà installato sulla porta. Bisogna far si che quando la porta è chiusa, SW2 è premuto e i contatti sono aperti, ed a causa della resistenza interna di pull-up (da abilitare con i registri Option_reg e WPU) sul pin GP5 si legge lo stato logico 1. Quando invece la porta è aperta, SW2 è rilasciato e i contatti si chiudono portando il pin GP5 a massa (valore logico = 0). Il pic all'accensione legge lo stato della porta GP5 e si comporta di conseguenza. 1 - Se GP5 = 1 (porta chiusa) Manda il pic in modalità Sleep. Cioè spegne i circuiti interni, per consumare poca energia, e sta in attensa di un interrupt che lo "svegli" da questa condizione 2 - Se Gp5 = 0 (porta aperta) Il pic dapprima fa un conteggio, tramite il registro TMR0, di circa 8 secondi, se dopo questi otto secondi la porta è ancora aperta allora inizia a far suonare l'allarme, mandando in uscita un onda quadra a circa 1000 Hz, con intervalli di 1 secondo di silenzio. L'integrato 7805 serve a portare i 9 volt della batteria a 5 Volt per il PIC. SW1 serve a scollegare l'alimentazione e quindi spegnere completamente il dispositivo.
Il codice che fa tutto ciò è il seguente: unsigned short int contatore = 0; //inizializzazione Per programmare il pic ho utilizzato il PICKIT2, e il software MicroC. Ciò che mi piace di questo progetto è l'utilizzo di pochissimi componenti, di nessun resistore o condensatore, di nessun oscillatore esterno, poichè il PIC12f675 possiede un oscillatore interno a 4MHz.
Note importanti: La CONFIGURATION WORD che ho utilizzato è: 0x0194
Per SW2 ho utilizzato un sensore di contatto, come quelli che si utilizzano per i robot: link. Essi hanno tre pin, in maniera tale da poter avere un apertura dei contatti quando viene premuto. Se non si dispone di un pulsante del genere, ma di quello classico, bisognerà modificare leggermente il codice. Lo speaker è un piccolo altoparlante di 8 Ohm recuperato da un giocattolo. GP3 si può settare o come Input o come reset (MCRL), agendo su la configuration word. In questo caso è un Input, quindi è buono portarlo a massa per evitare problemi dovuti al floating. Questo è il circuito alloggiato in un case di plastica:
Per info TREVIS89@HOTMAIL.IT BYE!
|
Inviato da: diletta.castelli
il 22/10/2016 alle 13:31
Inviato da: guoter
il 15/02/2016 alle 16:19
Inviato da: mino0497
il 12/09/2015 alle 19:20
Inviato da: dado7620
il 11/07/2013 alle 23:22
Inviato da: ZEDBeatz
il 26/05/2013 alle 00:40