Temp, Humidity CO2 sensor and library.

HiBela
For calibrating Cozir and MinIr sensors, I would recommend using a terminal program (e.g. Hyperterminal or CO2meter.com's GasLab software, which will recognize many sensors bought through CO2meter.com !). This way, you can connect your sensor through a UART to USB-interface (such as your FTDI arduino-mini programmer or even a chinese CP1202). But instead of you having to write the instructions, you simply enter the basic communication codes as stated in GSS' datasheets for your sensor (send line ends with line feeds !).
This will keep your arduino code limited to the minimum required for use.
Since revision AL19 (2013), the communication protocol for Cozir, SprintIR, Misir and MinIR sensors is the same for the three types of sensors. To calibrate the lower span point, you can either choose to use a known gas concentration or to use a fresh air calibration.
The problem is that, due to global warming, fresh air tends to contain more and more CO2 every year, and that actually, on the northern hemisphere, fresh air contains over 400 ppm, depending on the area. In 2016, the CO2-concentration in the southern hemisphere has also exceeded 400 ppm.
But lets's assume that fresh air contains 400 ppm, then you can simply send the command G\r\n to your sensor, which sets the zero point assuming the sensor is in 400 ppm.
If you want it more precise and you know the real value of fresh air, e.g. you want to set the lower span point of, let's say, 450 ppm, then you have to send the command F 410 450\r\n where the first value is your actual reading and the second one the known gas concentration in ppm.