Tabulka níže je stažena z vetrani.tzb-info.cz
< 400 ppm koncentrace ve venkovním vzduchu
< 1 000 ppm doporučená úroveň CO2 ve vnitřním prostředí
< 1 500 ppm maximální doporučená úroveň CO2 ve vnitřním prostředí
> 1 500 ppm příznaky únavy, snižování koncentrace, ospalost, letargie
< 5 000 ppm maximální bezpečná koncentrace CO2 bez zdravotních rizik
> 5 000 ppm příznaky nevolnosti, bolesti hlavy, zvýšený tep
> 10 000 ppm při dlouhodobém působení prokázány zdravotní problémy
> 40 000 ppm životu a zdraví nebezpečná koncentrace
Po dlouhém hledání a zvažování jsem se rozhodl kupit na ebay.com senzor MH-Z14 je za rozumnou cenu přibližně 550Kč. Měří od 0 do 5000 PPM, což je pro mé účely plně dostačující viz tabulka výše.
Protože jsem Arduino ještě neprogramoval rozhodl jsem použít již vytvořený kód ze stránky domoticx.com.
Pozor na zapojení s pinem PWM. Vyhodnocení probíhá na základě měření 0-5V a to s rozsahem 255 hodnost. Dle mých zkušeností je to hodně nedostačující a senzor potom ukazuje naprosté nesmysly.
Přesné měření s +-50PPM mi fungovalo až s napojením na RX a TX viz obrázky níže.
Protože jsem kupoval nějakou napodobeninu Arduina z ebay.com musel jsem do počítače s Windows dotáhnout ovladač.
Zdrojový kód http://domoticx.com/arduino-co2-sensor-mh-z14/
#include <SoftwareSerial.h>
SoftwareSerial SerialCom (A1,A0);
int myDelay = 30000;
byte addArray[] = { 0xFF, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79 };
char dataValue[9];
String dataString = "";
void setup(){
Serial.begin(9600);
SerialCom.begin(9600);
}
void loop() {
SerialCom.write(addArray, 9);
SerialCom.readBytes(dataValue, 9);
int resHigh = (int) dataValue[2];
int resLow = (int) dataValue[3];
int pulse = (256*resHigh)+resHigh;
dataString = String(pulse);
Serial.println(pulse);
delay(myDelay);
}
{gallery}article/arduino{/gallery}