Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:schimmelsensor

Dies ist eine alte Version des Dokuments!


Inhaltsverzeichnis

Schimmelsensor

Übersicht

Mein weiß nie wann man Lüften soll und wenn doch wie lange. Das Problem kann man Mathematisch mit einem Arduino lösen. Er ist in der Lage uns den Taupunkt zu berechnen.

Material

* AMS2302, DHT22, DHT11 oder sonst ein Temperatur und Luftfeuchte Sensor * Arduino in irgendeiner Art

CODE

<source lang=„C++“> SENSOR #include <Wire.h> #include <AM2320.h> AM2320 th; DISPLAY #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

REFERENZEN !!!!! https://www.wetterochs.de/wetter/feuchte.html Vielen Dank an den Wetterochsen für seine nahezu perfekte Annäherung zu berechnung des Taupunktes. void setup() { Serial.begin(9600); Wire.begin(); Serial.print(„Start“); lcd.begin(20, 4); lcd.setCursor(0,0); lcd.print(„Luftfeuchte: “); lcd.setCursor(0,1); lcd.print(„Temperatur: “); lcd.setCursor(0,2); lcd.print(„Abs. Feuchte: “); lcd.setCursor(0,3); lcd.print(„Taupunkt: “); } unsigned long previousMillis = 0; void loop() { if (millis() - previousMillis >= 1000) { previousMillis = millis(); switch(th.Read()) { case 2: Serial.println(„CRC failed“); break; case 1: Serial.println(„Sensor offline“); break; case 0: Serial.print(„humidity: “); Serial.print(th.h); lcd.setCursor(14,0); lcd.print(th.h); Serial.print(„%, temperature: “); Serial.print(th.t); Serial.println(„*C“); if(th.t >= 0) { lcd.setCursor(13,1); lcd.print(„ “); lcd.setCursor(14,1); lcd.print(th.t); } else { lcd.setCursor(13,1); lcd.print(th.t); } double T = th.t; double r = th.h; double a = 0; double b = 0; if(T >= 0) { a = 7.5; b = 237.3; } else { a = 7.6; b = 240.7; } double SDD = 6.1078 * pow(10,1)); double DD = r/100 * SDD; double v = log10(DD/6.1078); double TD = b*v/(a-v); lcd.setCursor(14,3); lcd.print(TD); double TK = T + 273.15; double mw = 18.016; Molekulargewicht des Wasserdampfes

    double R = 8314.3; //J/(kmol*K) (universelle Gaskonstante)
    double AF = pow(10,5) * mw / R * DD / TK;
    lcd.setCursor(14,2);
    lcd.print(AF);
    if(AF >= 0) {
      lcd.setCursor(13,2);
      lcd.print(" ");
      lcd.setCursor(14,2);
      lcd.print(AF);
    }
    else  {
      lcd.setCursor(13,2);
      lcd.print(AF);
    }
    lcd.setCursor(19,0);
    lcd.print((char)223); //Degree symbol
    lcd.setCursor(19,1);
    lcd.print((char)223); 
    lcd.setCursor(19,2);
    lcd.print("%"); 
    lcd.setCursor(19,3);
    lcd.print((char)223); 
    break;
}
  
}

} </source>

1)
a*T)/(b+T
projekte/schimmelsensor.1484596578.txt.gz · Zuletzt geändert: 2022-11-17 22:34 (Externe Bearbeitung)