projekte:schimmelsensor
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
projekte:schimmelsensor [2017-01-16 20:55] – angelegt gamecompiler | projekte:schimmelsensor [2017-01-16 21:01] – gamecompiler | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
===== Material ===== | ===== Material ===== | ||
- | + | | |
- | * AMS2302, DHT22, DHT11 oder sonst ein Temperatur und Luftfeuchte Sensor | + | * Arduino in irgendeiner Art |
- | * Arduino in irgendeiner Art | + | * Flüssigkristall Display mit am besten 20x4 Zeichen |
==== CODE ==== | ==== CODE ==== | ||
+ | <code c> | ||
+ | //SENSOR | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | AM2320 th; | ||
+ | |||
+ | //DISPLAY | ||
+ | #include < | ||
+ | LiquidCrystal lcd(12, 11, 5, 4, 3, 2); | ||
+ | |||
+ | // | ||
+ | // | ||
+ | //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(" | ||
+ | lcd.begin(20, | ||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
+ | | ||
+ | } | ||
+ | |||
+ | unsigned long previousMillis = 0; | ||
+ | void loop() { | ||
+ | if (millis() - previousMillis >= 1000) { | ||
+ | previousMillis = millis(); | ||
+ | switch(th.Read()) { | ||
+ | case 2: | ||
+ | Serial.println(" | ||
+ | break; | ||
+ | case 1: | ||
+ | Serial.println(" | ||
+ | break; | ||
+ | case 0: | ||
+ | Serial.print(" | ||
+ | Serial.print(th.h); | ||
+ | lcd.setCursor(14, | ||
+ | lcd.print(th.h); | ||
+ | |||
+ | | ||
+ | | ||
+ | Serial.print(" | ||
+ | Serial.print(th.t); | ||
+ | Serial.println(" | ||
+ | |||
+ | if(th.t >= 0) { | ||
+ | lcd.setCursor(13, | ||
+ | lcd.print(" | ||
+ | lcd.setCursor(14, | ||
+ | lcd.print(th.t); | ||
+ | } | ||
+ | else { | ||
+ | lcd.setCursor(13, | ||
+ | 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, | ||
+ | double DD = r/100 * SDD; | ||
+ | double v = log10(DD/ | ||
+ | double TD = b*v/(a-v); | ||
+ | lcd.setCursor(14, | ||
+ | lcd.print(TD); | ||
+ | |||
+ | double TK = T + 273.15; | ||
+ | double mw = 18.016; // | ||
+ | double R = 8314.3; // | ||
+ | double AF = pow(10,5) * mw / R * DD / TK; | ||
+ | lcd.setCursor(14, | ||
+ | lcd.print(AF); | ||
+ | |||
+ | if(AF >= 0) { | ||
+ | lcd.setCursor(13, | ||
+ | lcd.print(" | ||
+ | lcd.setCursor(14, | ||
+ | lcd.print(AF); | ||
+ | } | ||
+ | else { | ||
+ | lcd.setCursor(13, | ||
+ | lcd.print(AF); | ||
+ | } | ||
+ | |||
+ | lcd.setCursor(19, | ||
+ | lcd.print((char)223); | ||
+ | lcd.setCursor(19, | ||
+ | lcd.print((char)223); | ||
+ | lcd.setCursor(19, | ||
+ | lcd.print(" | ||
+ | lcd.setCursor(19, | ||
+ | lcd.print((char)223); | ||
+ | break; | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | | ||
- | <source lang=" | + | |
- | <?php | + | } |
- | $v = " | + | </code> |
- | ?> | + | |
- | HTML-Text | + | |
- | <? | + | |
- | echo $v; // Ende des PHP-Codes | + | |
- | ?> | + | |
- | </source> | + | |