Hai mai desiderato tenere sotto controllo la qualità dell’aria nella tua stanza, nel laboratorio o vicino alla stampante 3D? Oggi vedremo come realizzare un rilevatore di gas compatto ed efficiente utilizzando Arduino e il sensore MICS-5524.

Si tratta di un progetto perfetto sia per chi sta muovendo i primi passi con l’elettronica, sia per chi vuole aggiungere una funzione di sicurezza alla propria casa domotica.

Sensore mics-5524

Cos’è il sensore MICS-5524 e come funziona?

Il MICS-5524 è un sensore di gas a tecnologia MOS (Metal Oxide Semiconductor). All’interno del chip è presente una piccolissima piastra riscaldante che, quando entra in contatto con determinati gas riducenti nell’aria, cambia la sua resistenza elettrica. Arduino non fa altro che leggere questa variazione.

La sua caratteristica principale è la versatilità: pur essendo piccolissimo, è sensibile a un’ampia gamma di gas legati all’inquinamento indoor e al fumo.

I gas rilevati dal MICS-5524:

  • Monossido di Carbonio (CO): Il pericoloso gas invisibile e inodore generato dalle cattive combustioni.

  • Idrogeno (H2): Utile per rilevare perdite particolari o monitorare batterie in carica.

  • Etanolo e Alcol: Reagisce rapidamente ai vapori di alcol (es. igienizzanti o solventi).

  • Fumo e Idrocarburi: Ottimo come indicatore generale di fumo da combustione.

⚠️ Nota di sicurezza: Il MICS-5524 è un sensore fantastico per scopi didattici, di monitoraggio ambientale o hobbistici. Tuttavia, non deve essere utilizzato come dispositivo di sicurezza salvavita certificato contro le fughe di gas.

Di cosa hai bisogno

Per replicare questo progetto ti serviranno pochissimi componenti:

  1. Scheda Arduino (In questa guida useremo una Arduino Nano R4, ma va bene qualsiasi modello come Uno, Mega o Nano classica).

  2. Modulo Sensore MICS-5524 (spesso venduto su schedina/breakout board da Adafruit o simili).

  3. Una Breadboard e 3 Cavetti Jumper (Maschio-Maschio o Maschio-Femmina a seconda del sensore).

  4. Un cavo USB per collegare Arduino al computer.

Schema di Collegamento (Pinout)

Il bello del MICS-5524 è che, pur essendo un sensore avanzato, ha un’interfaccia analogica. Questo significa che non abbiamo bisogno di configurare protocolli complessi come I2C o SPI. Ci bastano 3 fili.

Ecco come collegare il modulo ad Arduino:

Pin del Sensore (MICS-5524) Pin di Arduino Colore consigliato del filo
VCC / + 5V Rosso (Alimentazione)
GND / GND Nero (Massa)
AOUT / OUT A0 Giallo / Verde (Segnale Analogico)

Se la tua schedina ha anche un pin contrassegnato con EN (Enable), lascialo scollegato oppure collegalo a 5V per tenere il sensore sempre attivo.

Il Codice per Arduino

Apri l’IDE di Arduino, crea uno sketch vuoto e incolla questo codice. Non avrai bisogno di installare nessuna libreria esterna: il codice sfrutta la funzione nativa analogRead().

/*
  Rilevatore di Qualità dell'Aria con MICS-5524 e Arduino
*/

// Definiamo il pin analogico di lettura
const int pinSensore = A0;

void setup() {
  // Avviamo il monitor seriale per vedere i dati sul PC
  Serial.begin(9600);
  
  Serial.println("===============================================");
  Serial.println(" Avvio Rilevatore Aria - MICS-5524 ");
  Serial.println("===============================================");
  Serial.println("Fase di riscaldamento iniziale (attendi)...");
  
  // Aspettiamo un paio di secondi prima di iniziare
  delay(5000); 
}

void loop() {
  // Leggiamo il valore analogico (da 0 a 1023)
  int valoreGrezzo = analogRead(pinSensore);
  
  // Convertiamo il valore grezzo in Tensione (Volt)
  // Nota: se usi una scheda a 3.3V cambia "5.0" con "3.3"
  float tensione = valoreGrezzo * (5.0 / 1023.0);
  
  //Inviamo i dati al Monitor Seriale
  Serial.print("Dato Grezzo: ");
  Serial.print(valoreGrezzo);
  Serial.print(" | Tensione: ");
  Serial.print(tensione);
  Serial.println(" V");
  
  // Interpretazione di base dei dati
  // Più il valore è basso, più l'aria è pulita.
  if (valoreGrezzo < 150) {
    Serial.println("Stato: Aria Pulita o Ottima :)");
  } else if (valoreGrezzo >= 150 && valoreGrezzo < 400) {
    Serial.println("Stato: Attenzione, rilevata presenza di gas/fumo!");
  } else {
    Serial.println("Stato: ALLARME! Concentrazione di gas molto elevata!");
  }
  
  Serial.println("-----------------------------------------------");
  
  // Campionamento ogni secondo
  delay(1000);
}

Il segreto dei Sensori di Gas: Il Riscaldamento (Burn-in)

Se hai appena caricato il codice e noti che il monitor seriale segnala “Allarme” o mostra valori altissimi che scendono lentamente, non ti preoccupare: il sensore non è rotto!

I sensori MOS funzionano tramite calore. Quando li accendi dopo ore o giorni di inattività, la resistenza interna ha bisogno di tempo per stabilizzarsi.

  • Al primo utilizzo assoluto: Lascia girare il codice per almeno 12-24 ore (fase di burn-in).

  • All’utilizzo quotidiano: Aspetta circa 5-10 minuti dopo l’accensione prima di considerare le letture come definitive. Vedrai il valore scendere gradualmente fino a stabilizzarsi su una linea di base (l’aria pulita della stanza).

Prossimi Passaggi: Come Evolvere il Progetto?

Ora che riesci a leggere i dati sulla scrivania, come puoi spingere oltre questo progetto? Ecco qualche idea per i tuoi prossimi esperimenti:

  1. Aggiungere un Output Visivo: Collega un display LCD I2C o un LED RGB che cambia colore (Verde = Aria buona, Rosso = Pericolo).

  2. Creare un Allarme Acustico: Aggiungi un piccolo Buzzer piezoelettrico che suona se il valore grezzo supera la soglia di 400.

  3. Data Logging: Se usi una scheda con Wi-Fi (come la Nano R4 WiFi), potresti inviare questi dati a una dashboard online (es. Arduino Cloud o ThingSpeak) per vedere il grafico della qualità dell’aria nella tua stanza durante la giornata.

Buon divertimento con il fai-da-te!