No offense, but for someone in college working on a thesis you should've noticed this in your linked post:
Before you can use the sensor, it has to be calibrated. For this, connect the sensor to your circuit and leave it powered on for 12-24 h to burn it in. Then put it into outside air, preferably at 20°C/35% rel. hum. (humidity is not so crucial). Read out the calibration value as such
float rzero = gasSensor.getRZero();
Do some research before asking help on your thesis. I don't mean to be a jerk, but as a college student myself, it's rather insulting for you to ask a question that is answered in the link you posted.
The sensor MQ -135 works with many gases, I get the concentration of CO2
No you don't.
You get whatever gas the MQ-135 is reacting to. It could be CO2 but it could also be any of the other gasses or the sum of several gasses. If you calibrate your sensor with CO2 then you calculated a value as if it were all CO2. Don't expect these sensor to be very accurate.
Out of the box these sensor are "poluted", with water, other gasses. It takes many ours of heating before the sensor is clean (burning-in). During this time R0 will get higher until it is relatively stable. If you use the sensor again within a couple of days it will take less time to clean.
For calibration you need at least two gas-mixtures with known CO2 concentration, preferably the lowest and highest concentration you want to measure, one extra in the middle would even be better. For the lowest calibration you can use outdoor air (400ppm). Getting something cheap for the higher concentration is more difficult, maybe you can use 10 times diluted exhaled breath (4000ppm). Breath is about 4% CO2 (40000ppm).
Hi Alex, thank you for your detailed response. I've got a couple of noob questions, if you have time. I was wondering, what exactly is Rzero? Specifically, why can't we (instead of defining it as a fixed value) continuously retrieve the value of getRZero() or getCorrectedRZero() in real time, and use that retrieved value in the PPM calculations. Or if the Rzero is not constant over time, is that indicative of a problem in the hardware/calibration? If, after calibration, I get a constant Rzero in my living room, do I need to recalibrate it by editing the Rzero value when I move the sensor to my bedroom? Or am I misunderstanding the issue completely? I currently have 2 sensors side by side on the same breadboard, powered separately, measuring within 10 ppm of each other, is that acceptable? (These are averaged values over 30 seconds, 2 measurements per second. Are these numbers OK?) Thanks in advance for any clarification.