fiamma

Possiamo realizzare un allarme anti-incendio con Arduino UNO

Dopo aver visto come realizzare un allarme gas con Arduino UNO, vediamo come costruirne uno che rilevi la presenza di fiamme e avvisi gli abitanti. Come nel precedente esempio, ci assisteremo di un segnale luminoso ed uno sonoro.

Cosa Serve?

Similmente a quello visto nello scorso esempio, per creare questo allarme fatto in casa abbiamo bisogno del nostro Arduino UNO (va bene anche un Arduino Nano), un led, una resistenza da 200 OHM, un buzzer attivo e un rilevatore di Fiamma, noto anche come KY-026.

Collegamenti

Per far funzionare il nostro sistema di rilevamento gas, colleghiamo il led al pin 12 di Arduino, ricordando di inserire una resistenza da 220 OHM, il buzzer lo colleghiamo al pin 8, mentre il rilevatore di fiamma va connesso al pin analogico A0, dal quale rileveremo i valori analogici. Il rilevatore di fiamma verrà alimentato a 5V, mentre il led ed il buzzer si attiveranno ricevendo il segnale dai rispetti pin.

Codice

Il codice è strutturato in maniera differente dall’ultima volta. Nel VOID SETUP invece diamo la direzione ai pin del led e del buzzer, avviando poi il monitor seriale. Nel VOID LOOP rileviamo il gas dal pin analogico A0 e lo stampiamo sul seriale, creando poi un IF/ELSE che controlla che il valore rilevato non superi la soglia di 350 e se ciò avviene vengono avviate due funzioni che abbiamo creato, una chiamata alarm() che fa lampeggiare il led al pin 12, l’altra chiamata sound() che fa suonare il buzzer al pin 8. La funzione tone() non è necessaria per il buzzer attivo che va programmato come un LED. Se il valore rilevato è al di sotto del limite, non accade nulla.


void setup() {
pinMode (8, OUTPUT); // direzione del pin buzzer
pinMode (12, OUTPUT); // direzione del pin led
Serial.begin (9600); // avvio del monitor seriale
}

void loop() {
int fiamma = analogRead(A0); // rilevo il valore da A0
Serial.println(fiamma); // stampo su monitor seriale

if (fiamma > 350) { // se il valore supera 350...

alarm(); // faccio lampeggiare il led e faccio suonare il buzzer
sound();
}
else {

// altrimenti non fa nulla
}
}

void alarm(){
digitalWrite (12, HIGH);
delay (500);
digitalWrite (12, LOW);
delay (500);
}

void sound(){
digitalWrite (8, HIGH);
delay (1000);
digitalWrite (8, LOW);
delay (1000);
}