🔥 Arduino • MQ-2 / MQ-5 • Sensore gas

Sensore gas MQ-2 e MQ-5 con Arduino: LED e soglia di allarme

Leggiamo il valore analogico di un sensore MQ con Arduino e attiviamo un LED quando viene superata una soglia, visualizzando contemporaneamente la misura sul Monitor Seriale.

DifficoltàPrincipiante
SensoreMQ-2 / MQ-5
IngressoA0 analogico
Importante: questo è un progetto didattico. Non sostituisce un rilevatore di gas certificato e non deve essere usato come unico dispositivo di sicurezza per persone, abitazioni o impianti.

Cosa imparerai

  • come collegare un sensore MQ ad Arduino;
  • come leggere il segnale con analogRead();
  • come definire una soglia di allarme;
  • come attivare un LED o un’uscita digitale;
  • come osservare i valori sul Monitor Seriale;
  • perché i sensori MQ richiedono riscaldamento e calibrazione.

MQ-2 e MQ-5: cosa rilevano

Nella pagina originale il sensore MQ-2 viene indicato come adatto alla rilevazione di GPL, i-butano, propano, metano, idrogeno e fumo; per l’MQ-5 vengono citati GPL, gas naturale e gas di città.

SensoreGas citati nel progetto originale
MQ-2GPL, i-butano, propano, metano, idrogeno, fumo
MQ-5GPL, gas naturale, gas di città
Concetto chiave: il valore analogico letto da Arduino non equivale automaticamente a una concentrazione precisa in ppm. Per ottenere misure quantitative attendibili servono calibrazione, curva caratteristica del sensore e condizioni di riferimento.

Materiale necessario

🔌 Arduino Uno
🔥 Sensore MQ-2 o MQ-5
🔴 LED rosso
〰️ Resistenza da 220 Ω
🧩 Breadboard
🔗 Cavetti jumper

🧰 Kit Arduino consigliato

Molti progetti del sito usano sensori, LED, resistenze e breadboard. Un kit completo può essere comodo per iniziare.

👉 Guarda il kit Arduino consigliato

Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.

📘 Vuoi imparare Arduino passo dopo passo?

Nei miei libri trovi spiegazioni progressive, schemi chiari e progetti pratici pensati anche per chi parte da zero.

👉 Scopri i miei libri su Arduino

Link di affiliazione Amazon: in qualità di Affiliato Amazon ricevo un guadagno dagli acquisti idonei, senza alcun costo aggiuntivo per te.

Il sensore MQ

I sensori della famiglia MQ utilizzano un elemento sensibile riscaldato. La sua risposta elettrica cambia in presenza di determinati gas. Il circuito misura questa variazione e Arduino può leggerla tramite un ingresso analogico.

Sensore gas MQ per Arduino

Sensore MQ utilizzato nel progetto originale.

Modulo sensore gas MQ-2 MQ-5 Arduino

Schema del sensore e collegamenti

La pagina storica segnala che il sensore MQ-5 nudo dispone di sei piedini e deve essere collegato seguendo lo schema corretto. Se utilizzi invece un modulo già montato su schedina, il cablaggio può essere molto più semplice.

Piedinatura sensore gas MQ-5
Schema Arduino con sensore gas MQ e LED

Schema del circuito Arduino con sensore gas e LED.

Collegamenti principali

ElementoCollegamentoFunzione
Uscita analogica sensoreA0Lettura del valore
LED / uscita allarmeD8Segnalazione quando la soglia è superata
Monitor Seriale9600 baudVisualizzazione del valore letto

Simulazione Tinkercad

▶️ Apri la simulazione Tinkercad

Codice Arduino commentato

Sensore MQ con soglia e LED
// ==========================================================
// SENSORE GAS MQ-2 / MQ-5 CON ARDUINO
// Lettura analogica e soglia di allarme
// ==========================================================

// Pin del LED o dell'uscita di allarme
const int ledPin = 8;

// Uscita analogica del sensore
const int sensorPin = A0;

// Soglia usata nel progetto originale.
// Deve essere calibrata sul sensore reale.
const int soglia = 500;

void setup() {

  // Configura il LED come uscita
  pinMode(ledPin, OUTPUT);

  // Avvia il Monitor Seriale
  Serial.begin(9600);
}

void loop() {

  // Legge il valore analogico del sensore
  int sensorValue = analogRead(sensorPin);

  // Mostra la lettura sul Monitor Seriale
  Serial.println(sensorValue);

  // Se il valore supera la soglia...
  if (sensorValue > soglia) {

    // ...accende il LED
    digitalWrite(ledPin, HIGH);
  }
  else {

    // Altrimenti mantiene il LED spento
    digitalWrite(ledPin, LOW);
  }

  // Piccolo intervallo per rendere più leggibile il monitor
  delay(200);
}

Come funziona il codice

1. Lettura del sensore

analogRead(A0) restituisce un valore numerico proporzionale alla tensione presente sull’ingresso analogico.

2. Visualizzazione sul Monitor Seriale

Serial.println(sensorValue) permette di osservare come cambia il valore del sensore durante il test.

3. Confronto con la soglia

Nel progetto storico viene utilizzata una soglia pari a 500. Se il valore è maggiore, il pin 8 viene portato HIGH e il LED si accende.

La soglia 500 non è universale: dipende dal sensore, dal modulo, dal tempo di riscaldamento, dall’ambiente e dal gas presente. Va trattata come valore dimostrativo.

Riscaldamento del sensore

I sensori MQ utilizzano un elemento riscaldante interno. Appena alimentati possono produrre letture instabili; prima di valutare seriamente la soglia è quindi necessario attendere che il sensore raggiunga condizioni più stabili.

Per applicazioni di misura più rigorose bisogna seguire le indicazioni del datasheet del modello specifico, compresi i tempi di pre-riscaldamento e la procedura di calibrazione.

Come calibrare la soglia

  1. alimenta il sensore e lascialo stabilizzare;
  2. apri il Monitor Seriale a 9600 baud;
  3. annota i valori in aria normale;
  4. osserva come cambia il segnale durante un test controllato e sicuro;
  5. scegli una soglia coerente con i valori osservati;
  6. ripeti la verifica più volte.
Sicurezza: non usare fiamme libere o concentrazioni pericolose di gas per “provare” il sensore. Un test didattico non giustifica mai l’esposizione a gas infiammabili o tossici.

Perché il valore non è direttamente in ppm

Lo sketch originale visualizza il valore grezzo dell’ADC. Per trasformarlo in una stima di concentrazione servono la resistenza del sensore, la resistenza di carico, la calibrazione in aria di riferimento e la curva del datasheet. Per questo, nella forma attuale, il progetto va interpretato come rilevatore di variazioni e soglie, non come strumento di misura certificato.

Scarica lo sketch originale

⬇️ Scarica gas_sensor_arduino.ino
Sketch Arduino sensore gas MQ

Debug rapido

  • verifica alimentazione e GND del sensore;
  • controlla che l’uscita analogica sia collegata ad A0;
  • apri il Monitor Seriale a 9600 baud;
  • se il valore resta fermo, verifica cablaggio e modulo;
  • se il LED resta sempre acceso, aumenta la soglia dopo aver osservato i valori reali;
  • se il sensore è appena stato alimentato, attendi che si stabilizzi;
  • controlla sempre il datasheet del modello esatto MQ utilizzato.

Varianti del progetto

  • aggiungere un buzzer;
  • pilotare un relè tramite un circuito adatto;
  • mostrare il valore su LCD o OLED;
  • registrare le letture su scheda SD;
  • inviare una notifica con ESP32;
  • creare un sistema con più sensori MQ;
  • aggiungere isteresi alla soglia per evitare continui ON/OFF vicino al limite.

Cosa devi ricordare

  • MQ-2 e MQ-5 sono sensori della famiglia MQ con sensibilità a diversi gas.
  • Arduino legge il segnale analogico con analogRead().
  • La soglia 500 del progetto originale è solo un esempio.
  • I sensori MQ richiedono tempo di riscaldamento e calibrazione.
  • Il valore grezzo non equivale automaticamente a ppm.
  • Il progetto è didattico e non sostituisce un rilevatore certificato.

Domande frequenti

Posso usare MQ-5 al posto di MQ-2?

Il principio del progetto è simile, ma i due sensori hanno sensibilità differenti. Va sempre consultato il datasheet del modello utilizzato.

Perché il valore cambia anche senza gas?

Temperatura, umidità, stabilizzazione del sensore e contaminanti ambientali possono influenzare la lettura. Per questo è importante calibrare e osservare il comportamento reale.

Posso collegare direttamente un relè al pin 8?

Non è consigliabile pilotare direttamente una bobina di relè dal pin di Arduino. Usa un modulo relè adatto o uno stadio di pilotaggio corretto.

Posso usarlo come allarme gas domestico?

No. Per la sicurezza domestica vanno utilizzati dispositivi certificati progettati specificamente per quel tipo di gas e installazione.