Progetto di allarme antincendio con sensore di fiamma Arduino

Progetto di allarme antincendio con sensore di fiamma Arduino

Progetto di allarme antincendio con sensore di fiamma Arduino prevede la costruzione di un sistema di allarme antincendio di base utilizzando un Arduino interfacciato con un modulo sensore di fiamma (per rilevare la presenza di una fiamma), un modulo buzzer attivo (per produrre un suono udibile) e un modulo LED a due colori (per un'indicazione visiva). Per quanto riguarda il funzionamento del progetto, quando il sensore di fiamma rileva la presenza di una fiamma nelle vicinanze, attiva un cicalino che emette un suono ripetitivo e fa lampeggiare il LED finché non viene rilevata una fiamma. Per quanto riguarda il funzionamento di un sensore di fiamma, esistono vari meccanismi che dipendono dal tipo di sensore, tra cui sensori di fiamma a raggi ultravioletti (UV), infrarossi (IR), ultravioletti/infrarossi (UV/IR), infrarossi multispettro (MSIR) e sensori di fiamma a imaging visivo. 

Il particolare sensore di fiamma utilizzato in questo Scheda PCBA fai da te è di tipo IR (HW-491), che è anche il tipo più comune di sensori di fiamma compatibili con Arduino. Essenzialmente, i sensori IR funzionano rilevando la radiazione infrarossa emessa in modo molto distinto dalle fiamme e quando il fotodiodo incorporato rileva quella specifica gamma di lunghezze d'onda, invia un segnale digitale (1) alla scheda Arduino. Quando il microcontrollore Arduino riceve il segnale ALTO dal sensore di fiamma, il progetto è programmato per attivare il cicalino attivo, che emette un segnale acustico ogni 150 ms, e il modulo LED a due colori, che lampeggia in rosso ogni 150 ms per indicare la presenza di una fiamma. In assenza di fiamma, il cicalino non emette alcun segnale acustico e il LED è di colore verde. Un punto importante da notare è che se il sensore di fiamma non rileva correttamente la presenza di una fiamma, potrebbe essere necessario calibrare la sua sensibilità ruotando il potenziometro incorporato nel modulo.

Questo progetto riflette un'applicazione molto pratica di un modulo sensore di fiamma come parte di un circuito di allarme antincendio, che ha molte applicazioni domestiche e commerciali. & PCBA industriale usi. Spesso gli allarmi antincendio prodotti in commercio si basano su una tecnologia simile, con un sensore di fiamma come dispositivo di ingresso collegato a un dispositivo di uscita (altoparlante, LED, sistemi di soppressione delle fiamme, ecc.) che, una volta attivato, segnala all'utente la presenza di una fiamma. Pertanto, l'integrazione di un progetto come questo su un circuito stampato da inserire in un piccolo contenitore come allarme antincendio portatile che può essere montato su diverse superfici in un edificio residenziale è sicuramente un'idea utile e realizzabile. La compattezza di questo circuito su breadboard può essere ulteriormente migliorata quando si progetta un PCB personalizzato per questo progetto utilizzando componenti a montaggio superficiale (SMT), dove questo circuito può assumere la forma di un prodotto indipendente. Al giorno d'oggi, molti prodotti commerciali vengono assemblati (PCBA) utilizzando Assemblaggio SMT in quanto consentono un fattore di forma molto più piccolo e, di conseguenza, una maggiore densità elettrica su una scheda PCBA. Questi sono i componenti necessari per realizzare questo progetto:

  • Arduino Nano (funzionano anche altre schede Arduino compatibili)
  • Cavo USB (compatibile con la scheda Arduino)
  • Lavagna per pane
  • Fili di ponticello maschio-maschio (8)
  • Modulo sensore di fiamma HW-491
  • Modulo cicalino attivo HW-512
  • HW-480 Modulo LED rosso/verde a 2 colori (catodo comune)
  • Resistori da 220Ω (2)

Schema di cablaggio del progetto di allarme antincendio con sensore di fiamma

A seconda della scheda Arduino, può essere necessario o meno un breadboard per collegarla. In questo esempio è stato utilizzato un Arduino Nano, che richiede quindi una breadboard, ma se si utilizza un Arduino Uno, ad esempio, i fili di collegamento possono essere inseriti dai componenti sulla breadboard direttamente ai pin della scheda. 

I componenti necessari per questo progetto specifico sono molto simili a quelli di altri progetti, poiché i moduli costituiscono la maggior parte del progetto. Per quanto riguarda la piedinatura del modulo del sensore di fiamma, la maggior parte dei modelli ha una configurazione a 4 pin con un'uscita digitale (DO) e un'uscita analogica (AO). Per questo progetto fai-da-te, verrà utilizzato solo il pin di uscita digitale (DO), poiché lo scopo principale del sensore è quello di inviare un segnale ALTO o BASSO a seconda che venga rilevata o meno una fiamma. Se il vostro sensore ha una configurazione a 3 pin, utilizzate il pin di uscita/segnale standard. Per quanto riguarda il modulo LED utilizzato, il motivo per cui due resistenze da 220Ω sono collegate in serie alle due uscite di questo modulo è di evitare che i LED si brucino quando si applica una tensione di alimentazione di +5 volt. Se al posto del modulo LED si utilizza un normale LED, la resistenza è necessaria anche per proteggere il LED dal cortocircuito. Di seguito è riportato anche uno schema del cablaggio.

  • Modulo sensore di fiamma HW-491: Collegare il pin di uscita digitale (DO)/segnale a D3 sulla scheda Arduino, il pin positivo (+) a +5 V e il pin GND (G) a GND.
  • Modulo LED a 2 colori rosso/verde HW-480: Inserire nella breadboard una resistenza da 220Ω in serie al pin di uscita del segnale del LED rosso (R) e un'altra resistenza da 220Ω in serie al pin di uscita del segnale del LED verde (G). Collegare il pin di uscita del colore rosso (R) a D5 e il pin di uscita del colore verde (G) a D6. Collegare il pin negativo (-) del modulo LED a GND su Arduino.
  • Modulo buzzer attivo HW-512: Collegare il pin positivo (+) a D4 e il pin negativo (-) a GND su Arduino.

Programmazione del codice del circuito di allarme antincendio del sensore di fiamma

Codice Dettagli

int sensorPin = 3;

int buzzerPin = 4;

int redPin = 5;

int verdePin = 6;

 

int fiamma;

 

vuoto impostazione()

{

 Seriale.iniziare(9600);

 pinMode(sensorPin, INPUT);

 pinMode(buzzerPin, OUTPUT);

 pinMode(pin rosso, uscita);

 pinMode(verdePin, USCITA);

}

 

 

vuoto anello()

{

 fiamma = lettura digitale(pin del sensore);

 se (fiamma == 1)

 {

   Seriale.println("Rilevata fiamma".);

   digitaleScrittura(pin rosso, alto);

   digitaleScrittura(pin verde, BASSO);

   digitaleScrittura(buzzerPin, ALTO);

   ritardo(150);

   digitaleScrittura(pin rosso, BASSO);

   digitaleScrittura(buzzerPin, LOW);

   ritardo(150);

 }

 altro

 {

   Seriale.println("Nessuna fiamma rilevata".);

   digitaleScrittura(pin rosso, BASSO);

   digitaleScrittura(pin verde, alto);

   digitaleScrittura(buzzerPin, LOW);

 }

 ritardo(500);

}

Spiegazione del codice

  • Questo codice include molti concetti già presenti nei progetti precedenti, in particolare l'uso delle istruzioni if-else, delle funzioni digitalWrite() (per definire lo stato dei vari moduli) e dei comandi del monitor seriale.
  • Per cominciare, il primo blocco di codice definisce i pin digitali a cui ogni modulo è collegato sulla scheda Arduino. Poiché vengono utilizzati quattro pin digitali, a ciascuno di essi viene assegnato un nome specifico che verrà utilizzato in seguito (ad esempio, sensorPin rappresenta il pin D3 a cui è collegato il sensore di fiamma). Viene definito un ulteriore numero intero (flame) che non è impostato su un valore specifico, ma fungerà da segnaposto per qualsiasi segnale (0 o 1) ricevuto dal sensore di fiamma. Ad esempio, se il sensore di fiamma rileva la presenza di una fiamma, il sensore invia ad Arduino un segnale 1 o HIGH e questa informazione viene memorizzata nella variabile flame, che può sempre cambiare (ad esempio, se la fiamma non viene più rilevata).
  • Passando alla sezione di configurazione del vuoto, il baud rate della comunicazione seriale è impostato su 9600 per consentire l'invio di dati seriali, che verranno poi stampati sul monitor seriale dell'IDE di Arduino a scopo di debug. Successivamente, il sensore di fiamma viene impostato come dispositivo di ingresso digitale (invia segnali digitali (1 o 0) ad Arduino in presenza/assenza di fiamma). I pin del modulo buzzer attivo e del modulo LED a 2 colori sono quindi impostati come dispositivi di uscita digitale (la scheda Arduino invierà segnali digitali (1 o 0) a questi moduli).
  • Per quanto riguarda la sezione del ciclo void, l'intero della fiamma definito in precedenza viene ora assegnato al valore di ingresso digitale ricevuto dal sensore di fiamma. Ciò avviene utilizzando la funzione digitalRead() che assegna la variabile fiamma al segnale di ingresso di sensorPin, che è il sensore di fiamma. 
  • A questo punto, si utilizza un'istruzione if-else che imposta i moduli di uscita (LED a 2 colori e buzzer) in uno stato specifico ogni volta che l'istruzione if è vera. In questo caso, se la variabile fiamma è equivalente a 1 (cioè quando il sensore di fiamma rileva una fiamma), il LED passa al colore rosso e il cicalino si accende (producendo un rumore udibile). Per far sì che il LED lampeggi continuamente di rosso mentre il cicalino emette un segnale acustico in presenza di una fiamma, si aggiunge un intervallo di 150 ms tra gli stati digitali alternati del LED e del cicalino tramite la funzione delay(). Viene inoltre stampato un breve messaggio sul monitor seriale a scopo di debug (ad esempio per calibrare il sensore di fiamma).
  • Tuttavia, trattandosi di un'istruzione if-else, ogni volta che l'istruzione if non è vera (cioè quando il sensore di fiamma non rileva alcuna fiamma), il LED diventa verde e il cicalino smette di suonare. Anche in questo caso, viene inviato un messaggio rapido al monitor seriale. Infine, alla fine del ciclo si verifica un breve ritardo di 500 ms.

Le prossime tappe

Ora che Tecnologia FS ha completato questo progetto, può facilmente integrarsi e costituire la base di un progetto molto più ampio, come un sistema di automazione domestica, un allarme antincendio portatile, un'unità di soppressione degli incendi, ecc. Un principio importante che è stato trattato nel codice è la comunicazione tra dispositivi digitali di ingresso e di uscita, utilizzando Arduino come microcontrollore per elaborare/riportare i segnali. In questo caso, è stato il sensore di fiamma a inviare il segnale digitale ad Arduino in presenza/assenza di fiamma e, dopo aver elaborato cosa fare con queste informazioni, Arduino invia il proprio segnale digitale ai dispositivi di uscita (modulo LED a 2 colori e modulo buzzer attivo). Come accennato all'inizio di questo progetto, per un'applicazione più permanente, potreste prendere in considerazione la possibilità di migrare questo progetto su un circuito stampato, che offre molti vantaggi per quanto riguarda il fattore di forma ridotto, la leggerezza e la portabilità. Anche se l'uso di assemblaggio di PCB a foro passante Se la tecnologia SMT è in grado di funzionare bene, il PCBA SMT ridurrà sicuramente i costi e le dimensioni complessive del prodotto finito.

Blog sui progetti di elettronica fai da te