I am a high school student working on my capstone project to help save firefighters. I am trying to use an MQ-7 sensor and I want the readings from the sensor to be in ppm, but I do not know how to convert the Arduino readings to ppm.
and I want the readings from the sensor to be in ppm,
Do you mean bpm?
The MSGEQ7 only outputs the frequency bands amplitude it does not output any time information.
To measure the bpm you need to decide on a threshold for one band and then count how many times that threshold is crossed in one second. Then multiply up to get bpm.
It will not be at all accurate due to the fact that you need to pick the right frequency band and pick an appropriate threshold value.
Sorry that is the wrong sensor. I am using the MQ-7 sensor http://www.amazon.com/Solu-Monoxide-Detection-Arduino-Compatible/dp/B00UYSOUL8/ref=sr_1_2?ie=UTF8&qid=1459963076&sr=8-2&keywords=mq-7+sensor
I dunno... The specs are rather "thin". If you buy from a reputable supplier, you should get a link to the manufacturer's datasheet. I don't know if MP-7 is a "standard" part or if you can find any more details.
DO output: 0.1-5V. AO output: 0.1-0.3V. Detectable concentration: 10-1000ppmCO.
I assume DO is a digital output, but I have no idea what the threshold is. And maybe A0 is an analog output with 0.3V corresponding to 1000ppm.
You can use the map() function to map an ADC reading to a CO reading, if the output is linear. If you use the 1.1V reference, 0.3V should give you an ADC reading of about 279. (i.e. The 10-bit ADC will read 1023 with 1.1V applied.)
In which case you need a known concentration of the substance to calibrate the sensor, if you have not got one then you can only guess.