Antifurto - mcworkshop

Vai ai contenuti

Antifurto

Projects
Parto con un elenco di assunti.
1 Il primo deterrente deve essere di tipo meccanico (inferiate, blindature...); dovete tenere i malintenzionati impegnati il più tempo possibile all'esterno dalla vostra proprietà.
2 Dovete assicurarvi che il pre - allarme arrivi a un istituto di vigilanza.
3 Le sirene esterne, a oggi, non servono a nulla; sono facilmente sabotabili con schiume, acqua e mazzette da muratore.
4 Dovete rendere l'ambiente interno, in caso di allarme, letteralmente impraticabile (fumo, disorientamento acustico...).
5 La tecnologia radio ha fatto passi da gigante rispetto a 20 anni fà. Tenete presente che qualsiasi segnale radio può essere intercettato e disturbato. I sistemi che utilizzano un cablaggio filare sono sempre i migliori.

Se un impianto di allarme è progettato con questi criteri, i danni subiti, sono trascurabili rispetto ai danni che i malintenzionati potrebbero arrecare.

Arduino
Arduino è un buon micro, personalmente l'ho "strapazzato" in tutti i modi, e devo ammettere che è un ottimo hardware e che comunque ha dei limiti. Sicuramente, proprio per i suoi limiti, non è adatto per concepire un sistema antifurto, ma si presta discretamente per il fai da te a basso prezzo.

Un sistema base utilizza almeno 2 tipi di sensori. Il contatto magnetico e il volumetrico generalmente ed erroneamente chiamato infrarosso. Tutti i sensori devono lavorare con i contatti d'uscita normalmente chiusi; il sistema va in allarme all'apertura del contatto presente nel sensore o allo sbilanciamento della linea. Detto in parole semplici: i contatti che dovete utilizzare devono trovarsi chiusi in condizione di impianto acceso; attenzione nel caso specifico dei relè, questi devono trovarsi sempre eccitati anche con l'impianto spento.

Gli ingressi utilizzabili, per Aruino Uno, sono dal 2 al 12. Perché? I pin 0 e 1 sono abilitabili anche per altre funzioni così come il pin 13. Avete a disposizione 10 pin, o se volete 10 ingressi, o in gergo 10 zone. Direi che per una tenda, roulotte, camper etc siano anche sin troppi.

Ci sono diversi modi per scrivere un programma che controlli lo stato dei pin; evitate, trattandosi di un impianto antifurto, di utilizzare funzioni bloccanti come delay! Il delay potrete utilizzarlo quando il sistema va in allarme, ma non prima. E' così indispensabile questo accorgimento? La risposta è duplice. Sì da un punto di vista logico, no da un punto di vista funzionale trattandosi di un sistema senza pretese.



I pulsanti utilizzati per lo sviluppo dei progetti sono NO (normalmente aperti) esattamente il contrario di ciò che serve. A voi servono dei contatti che siano chiusi e che si aprano in allarme. Utilizzerete per ciascun sensore un circuito PULL DOWN, e nel codice dovrete verificare di avere un livello basso al rilascio e non alla pressione. Perché? Come già detto il contatto deve trovarsi sempre chiuso, quindi, il pin andrà in LOW al rilascio. In questo modo otterrete anche una vaga e lontana idea di "segnalazione guasto sensore".

int pin_ingresso = 3; // variabile di tipo int / nome della variabile / pin 3
void setup()
{
 Serial.begin (9600); // apro la comunicazione seriale per leggere lo stato del pin 3
 pinMode(pin_ingresso, INPUT);  
}
void loop() {
 if (digitalRead (pin_ingresso)== HIGH)Serial.println ("filo collegato"); // se il contatto resta chiuso scrive filo collegato
}



Vediamo ora come attivare il pin 12 in caso di allarme. Collegate un led al pin 12 con relativo resistore.

int pin_ingresso = 3;
int pin_allarme = 12;
void setup()
{
 Serial.begin (9600);
 pinMode(pin_ingresso, INPUT);
 pinMode(pin_allarme, OUTPUT);
}
void loop() {
 if (digitalRead (pin_ingresso)== HIGH)
 Serial.println ("ingresso 1 pin 3 chiuso");
 else
 {
  digitalWrite (pin_allarme, HIGH);
 }
}

Allarme a una zona; la seconda zona la vedete come commento. Potete ampliarlo a piacimento; ...Copia, incolla. Quando la zona zona 1 viene aperta il led si accende per il tempo impostato  if (millis() - Tempo > 3000). Se la zona si chiude il led si spegne, se resta aperta il led non si spegne (significa che se collegate un segnale acustico questo andrà avanti all'infinito. La legge non consente un tale comportamento per i sistemi d'allarme). Il sistema lo attiverete e disattiverete accendendo e spegnendo Arduino. E' un impianto che al massimo posso definirlo dissuasore, ma niente di più. L'alimentazione; non alimentatelo direttamente dalla batteria del camper o auto. Se vi serve per poco tempo la pila a 9 volt va benissimo. Se, invece volete usare un 12V utilizzate uno step down che regolerete a 7,5V e un fusibile a monte.

// allarme
const int zona1 = 3;
//*****************************
//const int zona2 = 4;
//*****************************
const int allarme = 12;
unsigned long Tempo;
bool allarme_on;
//****************************
void setup() {
 pinMode(allarme, OUTPUT);
 pinMode(zona1, INPUT);
 //*************************
 //pinMode(zona2, INPUT);
 //************************
 allarme_on = false;
}
void loop() {
 if (digitalRead(zona1) == LOW) {
   digitalWrite(allarme, HIGH);
   allarme_on = true;
   Tempo = millis();
 }
 if (allarme_on)
   if (millis() - Tempo > 3000) {
     digitalWrite(allarme, LOW);
     allarme_on = false;
   }
 /*
   if (digitalRead(zona2) == LOW) {
     digitalWrite(allarme, HIGH);
     allarme_on = true;
     Tempo = millis();
   }
   if (allarme_on)
     if (millis() - Tempo > 3000) {
       digitalWrite(allarme, LOW);
       allarme_on = false;
     }
 */
}

Concludendo. La protezione di oggetti, immobili e persone è una cosa molto seria e non può essere lasciata in mano a persone inesperte e tanto meno al fai da te. Buon divertimento!
Sito non a scopo di lucro /sito didattico, hobbistico / no pubblicità / no aggiornamento periodico / schemi e codici di pubblico dominio
ultimo aggiornamento: 12/09/21
Privacy Policy
Cookie Policy
Clicca sulle scritte!
Torna ai contenuti