Why my MQ3 sensor value always high

Hello guys, im trying to read value from MQ3 alcohol sensor. I follow this tut
But my sensorValue always high (never below 350), even i let it warm up for over 48 hour like datasheet said. Do i need to calibrate it or my MQ3 just broken ? Thanks

Post the code, using code tags, and a wiring diagram of your setup.

MQ sensors must be individually calibrated, after burn in.

here is the code i use:

#define MQ3pin 0

float sensorValue;  //variable to store sensor value

void setup() {
	Serial.begin(9600); // sets the serial port to 9600
	Serial.println("MQ3 warming up!");
	delay(20000); // allow the MQ3 to warm up
}

void loop() {
	sensorValue = analogRead(MQ3pin); // read analog input pin 0

	Serial.print("Sensor Value: ");
	Serial.println(sensorValue);
	
	delay(2000); // wait 2s for next reading
}

wiring:
MQ3 -> Uno
A0 ----> A0
VCC ----> 5v
GND ---> GND

As you said it will need to calibrate, im not doing this step yet. Where can i find a tutorial for that

Calibration tutorial

For the MQ sensors, you need to prepare a calibration gas sample with a known concentration of the gas you want to sense.

The MQ sensors are very cheap because they are not very stable and all of them sense several different gases. So it is impossible to distinguish different gases using just one.

Hi,
If you disconnect the MQ unit completely.
What readings do you get when you;

  1. Connect A0 to gnd?
  2. Connect A0 to 5V?

Thanks.. Tom.. :smiley: :+1: :coffee: :australia:

In addition please post the reading while connecting to sensor

So it you expose it to a 100ppm gas sample, it will still read 350ppm?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.