Vai al contenuto

Allarme antincendio con Arduino

Da Wikiversità, l'apprendimento libero.
laboratorio
laboratorio
Allarme antincendio con Arduino
Tipo di risorsa Tipo: laboratorio
Materia di appartenenza Materia: Sistemi automatici per le superiori 1
Avanzamento Avanzamento: laboratorio completa al 100%

In questo progetto viene mostrato come realizzare un allarme antincendio, utilizzando Arduino, così da rilevare un principio di incendio, tramite il sensore KY-026 e avvisare l'utente con un segnale ottico e acustico.

Descrizione del progetto

[modifica]

Il processo con cui opera questo codice è il seguente:

Ciclo di lavoro
Evento Attività
Assenza di pericolo Accende il led verde
Presenza di pericolo Accende il led rosso
Emette un segnale acustico intermittente

Per la realizzazione di questo progetto occorrono:

  • due resistenze da ;
  • il ricevitore a infrarossi KY-026 (utilizzato come sensore di fiamma);
  • un buzzer;
  • un led verde e un led rosso.

Schema di montaggio

[modifica]

Di seguito viene mostrato lo schema di montaggio del circuito:

Allarme antincendio con Arduino
Allarme antincendio con Arduino

Codice

[modifica]

il codice per il corretto funzionamento del progetto è il seguente:

// Vengono definiti i vari utilizzati
int ledverde    = 2; 
int ledrosso    = 5;
int buzzer      = 11;
int flamesensor = 7;
// Lo stato iniziale del sensore è nullo
int statusflame = 0;

// Vengono definiti i funzionamenti dei vari pin e si termina l'eventuale segnale acustico
void setup() {
    pinMode(ledverde,    OUTPUT);
    pinMode(ledrosso,    OUTPUT);
    pinMode(buzzer,      OUTPUT);
    noTone(buzzer);
    pinMode(flamesensor, INPUT);
}

// Monitoraggio del sensore
void loop() {
    statusflame = digitalRead(flamesensor); 
    if(statusflame == HIGH) {
        // Fiamme rilevate
         digitalWrite(ledverde, LOW);
        // Segnale ottico e acustico intermittente
        digitalWrite(ledrosso, HIGH);
        tone(buzzer, 100);
        delay(200);
        digitalWrite(ledrosso, LOW);
        noTone(buzzer);
        delay(500);
    }
    else {
        // Fiamme non rilevate
        digitalWrite(ledrosso, LOW);
        digitalWrite(ledverde, HIGH);
        delay(500);
    }
}

Quando si avvicina una fiamma al sensore, si accende il led rosso, e il buzzer emette un allarme intermittente a frequenza di , con durata di e intervallo - tra un segnale e il successivo - di .

Invece, quando non c'è nessuna fiamma nelle vicinanze, si accende il led verde.

Le acquisizioni vengono eseguite ogni .

Espansioni suggerite

[modifica]

Introducendo un modulo Wi-Fi sarebbe possibile anche inviare una notifica al proprietario dello stabile, in caso di sua assenza.