#include <MQUnifiedsensor.h>
#define Board ("Arduino UNO")
#define Pin (A0)
#define Type ("MQ-2")
#define Voltage_Resolution (5)
#define ADC_Bit_Resolution (10)
#define RatioMQ2CleanAir (9.83)
MQUnifiedsensor MQ2(Board, Voltage_Resolution, ADC_Bit_Resolution, Pin, Type);
void setup() {
Serial.begin(9600);
MQ2.setRegressionMethod(1);
MQ2.setA(574.25); MQ2.setB(-2.222);
MQ2.init();
Serial.print("Calibrating please wait.");
float calcR0 = 0;
for(int i = 1; i<=10; i ++)
{
MQ2.update();
calcR0 += MQ2.calibrate(RatioMQ2CleanAir);
Serial.print(".");
}
MQ2.setR0(calcR0/10);
Serial.println(" done!.");
if(isinf(calcR0)) {Serial.println("Warning: Conection issue, R0 is infinite (Open circuit detected) please check your wiring and supply"); while(1);}
if(calcR0 == 0){Serial.println("Warning: Conection issue found, R0 is zero (Analog pin shorts to ground) please check your wiring and supply"); while(1);}
MQ2.serialDebug(true);
}
void loop() {
MQ2.update();
MQ2.readSensor();
MQ2.serialDebug();
delay(500);
}