El MiCS-4514 es un sensor MOS compacto con dos elementos de detección independientes en un paquete.

el datasheet y otros documentos relevantes puede descargarlos al final de este articulo
pero para poder utilizarlo hay un modulo que ya tiene integrado con lo necesario para poder comenzar a trabajar.

en la siguiente imagen podemos ver las conexiones que conllevan este modulo

conecciones con arduino uno

funcionamiento del sensor.-
como indica en los documentos adjuntos a este articulo vemos las características de los módulos del sensor mics 4514
lo que censamos son los valores resistivos que van variando en el sensor, tanto en el modulo RED como en el modulo OX
modulo RED: observamos que el rango va de 100 a 1500 kOHM
modulo OX: igual quen el modulo red el rango de la variacion de la resistencia de lectura va de 0.8 a 20KOhm

para poder probar el sensor se requiere conectar una resistencia en serie para poder lecturar el valor, pero el modulo ya incluye estas resistencias como se muestra a continuación.


los valores de estas resistencias se usaran para poder calcular e interpretar los valores lecturados


sobre el código
//datos lectura del conversor a/d
int co=0;
int no2=0;
//valores convertidos a voltaje
float vco=0;
float vno2=0;
//valor de la resistencia (interna en el sensor)
float rco=0;
float rno2=0;
//Valor Rs/Ro
float conCO=0;
float conNO2=0;
//cálculo de ppm
double ppmCO=0;
double ppmNO2=0;
void setup() {
// configuracion del puerto serial
Serial.begin(9600);
while(!Serial)
pinMode(9,OUTPUT);
Serial.println("pre calentamiento");
digitalWrite(9, HIGH);
delay (30000);
Serial.println("pre heating done");
digitalWrite(9, LOW);
}
void loop() {
//lecturas A/D
co=analogRead(A0);
no2=analogRead(A1);
//conversion a voltaje
vco=(5*co)/1024;
vno2=(5*no2)/1024;
//Converir a resistencia
rco=47000*((5-vco)/vco);//VALOR resistor in red 1ohm 100-1500KOHM
rno2=((22000*(5-vno2))/vno2);//VALOR resistor in ox 0.8-20KOHM
//Convert to indicator concentration
conCO= 47000/rco; // conCO =Rs/Ro para red sensor
conNO2= 22000/rno2; // conNO2=Rs/Ro para ox sensor
//Calculo de particulas por millon
ppmCO=(4.4138*pow(conCO,-1.178));
ppmNO2= ((-0.0003*(conNO2*conNO2))+(0.1626*conNO2)-0.0217);
Serial.print("PPM CO:");
Serial.print(" ");
Serial.print(ppmCO);
Serial.print(" PPM NO2:");
Serial.print(" ");
Serial.println(ppmNO2);
delay(1000);
}