Soy nuevo en Arduino y en la electrónica en general. Estoy trabajando en el sensor de gas MQ 7 para probar el nivel de monóxido de carbono. Pero el problema es que todavía no puedo entender el concepto de convertir lecturas analógicas a PPM. Intenté seguir esto , pero algunas partes son muy claras, especialmente R0 = RS_air/(26+(1/3))
Hasta ahora, con mi código por debajo de la proporción que obtengo es entre 20 y 30. ¿Puede alguien ayudarme a completar el cálculo de PPM o indicarme la dirección correcta? Aquí está el Hoja de datos
Gracias de antemano
int gasAnalogPin = A0;
void setup() {
Serial.begin(9600);
pinMode(gasAnalogPin, INPUT);
}
void loop() {
float sensor_volt;
float RS_air;
float R0;
float sensorValue = 0;
// A) preparation
// turn the heater fully on
analogWrite(gasAnalogPin, HIGH);
// heat for 1 min
delay(60000);
// now reducing the heating power: turn the heater to approx 1,4V
analogWrite(gasAnalogPin, 286.72); // 255x1400/5000
// heat for 90 sec
delay(90000);
// B) reading
// CO2 via MQ7
analogWrite(gasAnalogPin, HIGH);
delay(50); // Getting an analog read apparently takes 100uSec
for(int i = 0; i <= 100; i++){
sensorValue = sensorValue + analogRead(gasAnalogPin);
}
sensorValue = sensorValue/100.0; //get the avarage value
sensor_volt = sensorValue/1024*5.0;
RS_air = (5.0-sensor_volt)/sensor_volt;
R0 = RS_air/(26+(1/3)); // Not sure how they came up with this ?
float RS_gas = 0;
float ratio = 0;
sensor_volt = 0;
sensorValue = 0;
sensor_volt = 0;
sensorValue = analogRead(gasAnalogPin);
sensor_volt = sensorValue/1024*5.0;
RS_gas = (5.0-sensor_volt)/sensor_volt;
ratio = RS_gas/R0; //Replace R0 with the value found using the sketch above
Serial.print("PPM:"); // How to calculate PPM?
}