Costruiamo un simulatore di evacuazione con ESPertino

Un simulatore di evacuazione è un sistema da installare in una scuola, in un ente pubblico, azienda o anche in una abitazione. Esso rimane silente e inerte per molti giorni. A un momento casuale e imprevisto, esso comincerà a emettere luci e segnalazioni d'allarme come se fosse successo qualche evento inatteso come, ad esempio, un incendio o un terremoto. Risulta, dunque, utile, in tutte quelle strutture nelle quali i fruitori sono stati addestrati a varie forme di evacuazione e devono metterle in pratica senza alcun preavviso.

Le prove di evacuazione

In molte scuole italiane, per legge, gli alunni devono svolgere le prove di evacuazione (o di esodo), come visibile in figura 1. Possibilmente a insaputa dei ragazzi e a un orario prestabilito, suona una campanella o un allarme e i responsabili mettono in atto le procedure di sicurezza da seguire. Si tratta di un processo estremamente importante che viene eseguito (o dovrebbe esserlo) in maniera abbastanza seria e puntigliosa, soprattutto nei Paesi soggetti a forti eventi sismici come, ad esempio, in Giappone.

Mio figlio di 10 anni, in effetti, mi ha confermato dell'adozione di tali misure di sicurezza nella sua scuola. La frequenza con cui esse vengono applicate è molto bassa, circa 1-2 volte l'anno, quando va bene. Molte volte tali prove si trasformano in un'attività abbastanza sterile e superflua. Gli insegnanti e i bambini conoscono già a priori esattamente l'orario dell'esodo e tutti quanti sono preparati alla prova che stanno per effettuare. Tutto questo toglie, in effetti, il vero spirito della simulazione, in quanto un soggetto già psicologicamente preparato all'accadimento imminente di un evento critico è portato ad affrontare le varie procedure in maniera alquanto rilassata e con una certa sufficienza.

Figura 1: le prove e le simulazioni di evacuazione in una scuola

Figura 1: le prove e le simulazioni di evacuazione in una scuola

Di cosa si tratta

Non vogliamo subentrare in tema legislativo ne', tanto meno, in quello scolastico e di sicurezza. Il nostro sistema, rappresentato dalla scheda ESPertino, ha il compito d'innescare lo stato virtuale d'emergenza. In altre parole il circuito, in una data e ora sconosciuta a tutti, anche agli addetti ai lavori, si attiverà automaticamente. Non si sa quando, ma le specifiche di programmazione agevolano la probabilità dell'evento a realizzarsi in un arco di tempo "relativamente" prevedibile. All'ora "X" di un giorno non previsto, dunque, suonerà l'allarme. Si accenderanno le luci, la sirena comincerà a emettere i suoi sibili e tutti gli occupanti della struttura metteranno in pratica, con molta calma e serenità, tutte le procedure di sicurezza studiate sino a quel momento.

Il fatto che il segnale per l'evacuazione sia emesso sul serio in maniera del tutto casuale e senza preavviso aumenta l'efficacia del metodo e l'allarme sembra davvero realistico. Gli insegnanti, o chi per essi infatti, con le procedure normali sono sempre al corrente di ciò che sta per succedere nella giornata prescelta dell'esodo. Con il sistema da noi proposto, invece, l'evento è del tutto inatteso e sconosciuto a tutti, anche al programmatore elettronico del dispositivo. L'emergenza simulata potrebbe accadere in qualsiasi momento, anche durante la ricreazione o proprio cinque minuti prima dell'uscita dalla scuola e la fine delle lezioni, ovviamente se il circuito è acceso e attivo. Questo perché tutto il funzionamento è regolato e gestito da eventi completamente casuali e aleatori e l'attivazione delle porte di uscita è effettuata da processi non prevedibili.

Le parti essenziali del sistema

Fondamentalmente il sistema è governato da ESPertino, che coordina tutte le operazioni di elaborazione e di decisione. La figura 2 mostra uno schema generale logico dei componenti che entrano in gioco. In pratica è lo stesso ESPertino a comandare i carichi previsti nel caso di un allarme di simulazione avvenuto. Essi possono essere i più vari e disparati come, ad esempio,

  • Segnalatori luminosi:
    • Lampade;
    • Led;
    • Lampeggianti;
  • Segnalatori acustici:
    • Sirena;
    • Altoparlanti;
    • Allarmi vari;
    • Campanelli;
  • Segnalatori vocali:
    • Voci digitalizzate o sintetizzate che invitano ad allontanarsi;
  • Estintori automatici;
  • Relé esterni per attivare qualunque tipologia di carico;
  • Combinatori telefonici;
  • Ulteriori schede di controllo;
  • E molti altri.

Naturalmente, in caso di utilizzo in una scuola o altra struttura formata da più piani, si può predisporre il sistema alla attivazione dell'allarme in diversi punti logistici. In questo modo il segnale audio può risultare udibile da più persone, contemporaneamente. Il tutto deve essere portato in loco attraverso collegamenti elettrici installati all'interno di opportune canaline a norma.

Figura 2: gli attuatori che si possono collegare al sistema di simulazione di evacuazione

Figura 2: gli attuatori che si possono collegare al sistema di simulazione di evacuazione

Il cablaggio elettrico

Per comunicare all'esterno dell'avvenuto innesco dell'allarme, ESPertino utilizza le seguenti porte:

  • IO0;
  • IO2;
  • IO4;
  • IO12;
  • IO14.

Sono, infatti, inclusi nella segnalazione anche i due relé a bordo della scheda, ai quali possono venire collegati dei piccoli carichi. Alle restanti porte si può connettere, come detto prima, qualunque tipologia di attuatore. Nel caso siano richieste importanti potenze o correnti, è possibile utilizzare dei transistor o mosfet, con l'eventuale adozione di optoisolatori. La figura 3 mostra le porte di output coinvolte nel progetto. L'utilizzo di tali canali di comunicazione è completamente personalizzabile e il programmatore può decidere, secondo le proprie esigenze, quali porte di I/O adoperare. Potrebbe anche escludere l'utilizzo dei due relé oppure usare una sola uscita.

Figura 3: il cablaggio del simulatore di evacuazione alla scheda ESPertino

Figura 3: il cablaggio del simulatore di evacuazione alla scheda ESPertino

Lo sketch

Il funzionamento del sistema è imperniato sulla generazione dei numeri casuali per l'innesco dell'allarme simulato. In altre parole, lo sketch estrae un numero a caso, compreso in un determinato intervallo, argomentazione che sarà esaminata dopo. Se, nella estrazione, esce un numero prestabilito, si attiva l'allarme che causa l'accensione di tutte le porte di output di ESPertino. Lo stato di allerta dura 30 secondi ma tale tempo può essere liberamente modificato, regolando opportunamente la pausa d'attesa all'interno della condizione di allarme, nello sketch. Tale tempistica dovrebbe essere legata, soprattutto, all'azione sonora delle sirene utilizzate. Sarebbe alquanto fastidioso, infatti, essere obbligati ad ascoltare insistentemente, per 20 minuti, un noioso e rumoroso avvisatore acustico. Esso potrebbe arrecare, persino, fenomeni di paura e di panico tra gli alunni e i professori.

Ricordiamo che la funzione random(), usata all'interno dello sketch, genera dei numeri pseudo-casuali. La sua sintassi, molto semplice, è le seguente:

random(max);
random(min, max);

dove:

  • min è il limite inferiore del valore casuale, incluso e opzionale;
  • max è il limite superiore del valore casuale, escluso dalla generazione.

Per generare sequenze molto più imprevedibili si consiglia di usare anche la funzione randomSeed().

Le azioni cicliche sono eseguite a ogni secondo, all'interno della funzione loop(), pertanto tutti i calcoli probabilistici dell'evento si riferiscono proprio a tale unità di misura. La figura 4 mostra il diagramma di flusso dell'algoritmo utilizzato dal sistema.

Figura 4: il diagramma di flusso dell'algoritmo, utilizzato per il funzionamento del sistema

Figura 4: il diagramma di flusso dell'algoritmo, utilizzato per il funzionamento del sistema

 

//-------------------------------
//   Simulatore di evacuazione
//               di
//       Giovanni Di Maria
//-------------------------------
void setup() {
   Serial.begin(9600);
   pinMode(0,OUTPUT);
   pinMode(2,OUTPUT);
   pinMode(4,OUTPUT);   
   pinMode(12,OUTPUT); // Porta per il Rele'
   pinMode(14,OUTPUT); // Porta per il Rele'  
}
void loop() {
   //------Genera un numero casuale-------
   long caso=random(0, 100000);    // lower bound: inclusive; upper bound: exclusive
   Serial.println(caso);           // Scrive numero casuale su monitor seriale
   if(caso == 5) {
      //--------In caso di allarme simulato attiva tutti i carichi---------
      digitalWrite(0,HIGH);
      digitalWrite(2,HIGH);
      digitalWrite(4,HIGH);      
      digitalWrite(12,HIGH);     // Attiva il rele'
      digitalWrite(14,HIGH);     // Attiva il rele'
      delay(30000);        //-----------Si puo' modificare a piacere il tempo DURATA dell'allarme
      //------Dopo qualche tempo disattiva tutto-----------
      digitalWrite(0,LOW);
      digitalWrite(2,LOW);
      digitalWrite(4,LOW);      
      digitalWrite(12,LOW);   // Disattiva il rele'    
      digitalWrite(14,LOW);   // Disattiva il rele' 
   }
   delay(1000);    // Pausa di 1 secondo. Non modificare
}

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2196 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

10 Commenti

  1. Avatar photo giuseppe.cannarella 14 Settembre 2017
  2. Avatar photo Giovanni Di Maria 14 Settembre 2017
  3. Avatar photo Maila Agostini 14 Settembre 2017
  4. Avatar photo Luca Giuliodori 16 Settembre 2017
    • Avatar photo Giovanni Di Maria 16 Settembre 2017
        • Avatar photo Giovanni Di Maria 17 Settembre 2017
          • Avatar photo Tito Cavuto 21 Settembre 2017
  5. Avatar photo Tito 20 Settembre 2017
Seguici anche sul tuo Social Network preferito!

Send this to a friend