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
//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,((a*T)/(b+T))); 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; } } }
projekte/schimmelsensor.1484596642.txt.gz · Zuletzt geändert: 2022-11-17 22:34 (Externe Bearbeitung)