MiCS-6814

Il sensore MiCS-6814 è un sensore in grado di rilevare gas nocivi per la salute come CO, NH3 e NO2

Il sensore MiCS-6814 è un valido strumento per la misurazione di gas molto nocivi per la salute umana, ideale per rilevare l’inquinamento prodotto dalle automobili e dagli impianti industriali. Questo sensore è in grado di rilevare monossido di carbonio, ammoniaca e biossido di azoto nell’aria e di riportarne i valori in parti per milione. Tuttavia, non è un sensore che definiremmo proprio economico, infatti il suo prezzo varia tra i 20€ e i 30€.

Specifiche

Il MiCS-6814 è un sensore MOS (Metal-Oxide Semiconductor) compatto con tre elementi di rilevamento indipendenti. Possiamo rilevare gas nocivi presenti nell’aria come CO (monossido di carbonio), NH3 (ammoniaca) e NO2 (biossido di azoto). I valori rilevabili sono comprese in un range da 1 ppm a 1000 ppm per il monossido di carbonio, da 1 ppm a 500 ppm per l’ammoniaca e da 0,05 ppm a 10 ppm per il diossido di azoto. Lavora molto bene sia con i 5V che con i 3,3V, quindi si adatta molto bene ad ogni dev-board. Troviamo 5 pin: il pin +5V per la tensione omonima, il GND e i tre pin CO, NH3 e NO2 per i rilevamenti dei rispettivi gas.

  • MiCS-6814

MiCS-6814 su Amazon: https://amzn.to/3z4ToGf

MiCS-6814 su Aliexpress: https://s.click.aliexpress.com/e/_A3s30l



Collegamenti

I collegamenti sono piuttosto semplici. Come detto sopra, la tensione da fornire sono i 5V, mentre il GND del sensore va connesso al GND di Arduino UNO. Collegheremo invece i pin CO, NH3 e NO2 ai pin analogici di Arduino A0, A1 e A2.

 



Codice

Per il sensore MiCS-6814 non sono previste librerie, potete comunque scaricare lo sketch da questo LINK. Iniziamo dichiarando una costante per indicare il segnale analogico, che sappiamo raggiungere il suo massimo a 1023. Dichiariamo poi tre variabili, due intere e l’altra a virgola mobile che conterranno i valori rilevati dal sensore. Nel VOID SETUP ci limitiamo, in questo esempio, ad avviare il monitor seriale, su cui verranno stampati i valori rilevati.


const float S_analog = 1023.0;

int co, nh3; 
float no2;

void setup() {
Serial.begin(9600);
}

All’interno del VOID LOOP svolgiamo i calcoli per rilevare i valori dei gas.  Mappiamo il segnale per la variabile co e nh3, mentre per la variabile no2, oltre alla mappatura, dividiamo per 100. Stampiamo poi il tutto su monitor seriale, indicando con ppm (parti per milione) l’unità di misura.


co = map (analogRead(A0), 0, S_analog, 1, 1000); // Calcolo Monossido di Carbonio
nh3 = map (analogRead(A1), 0, S_analog, 1, 500); // Calcolo Ammoniaca
no2 = (map (analogRead(A2), 0, S_analog, 5, 1000)) / 100.0 ; // Calcolo Diossido di Azoto

Serial.print("CO: ");
Serial.print(co);
Serial.print(" ppm\t");
Serial.print("NH3: ");
Serial.print(nh3);
Serial.print("ppm\t");
Serial.print("NO2: ");
Serial.print(no2);
Serial.println("ppm");

delay(1000);

Carichiamo la sketch su Arduino UNO e apriamo il monitor seriale per leggere i dati rilevati ogni secondo.

 

MiCS-6814