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 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.