Sensore co2 mh-z14a

poi ho provato questo

void setup() {
  Serial.begin(9600);
  // initialize the sensor pin as an input
  pinMode(sensorPin, INPUT);
  // Read starting value for millis... (just some value)
while(digitalRead(sensorPin) == LOW) {;}
  hoog = millis();
}
 
void loop(){
  // Check for high and low timing - low time * 2 = PPM
  while(digitalRead(sensorPin) == HIGH) {;}
  laag = millis();
  hoogTijd = laag - hoog;
  
  while(digitalRead(sensorPin) == LOW) {;}
  hoog = millis();
  laagTijd = hoog - laag;
 
  // Validity check high+low = 1004 (small margin or error allowed -> 990)
  if(laagTijd + hoogTijd > 990)
  {
    Serial.print("H: ");
    Serial.println(hoogTijd,DEC);
    Serial.print("L: ");
    Serial.println(laagTijd,DEC);
    Serial.print("CO2  -  ");
    Serial.print(laagTijd * 2,DEC);
    Serial.println(" ppm");    
  } else {
    // Output in case of invalid check: value instead of 1004 ms
    Serial.print("-- CK:");
    Serial.println(laagTijd+hoogTijd, DEC);
  }
}

ancora peggio...