From 9403ac5bffbfe9a82376b5564ead577bb310b8b2 Mon Sep 17 00:00:00 2001 From: Dustin Brunner Date: Sat, 22 Jan 2022 17:41:55 +0100 Subject: [PATCH] Teil 1 --- Berechnungsfunktionen.md | 257 ++++++++++++++++++ README.md | 17 ++ VEML_6070/README.md | 53 ++++ VEML_6070/VEML_6070.png | Bin 0 -> 75885 bytes .../vemltest_extended/vemltest_extended.ino | 82 ++++++ 5 files changed, 409 insertions(+) create mode 100644 Berechnungsfunktionen.md create mode 100644 README.md create mode 100644 VEML_6070/README.md create mode 100644 VEML_6070/VEML_6070.png create mode 100644 VEML_6070/vemltest_extended/vemltest_extended.ino diff --git a/Berechnungsfunktionen.md b/Berechnungsfunktionen.md new file mode 100644 index 0000000..20d841c --- /dev/null +++ b/Berechnungsfunktionen.md @@ -0,0 +1,257 @@ +# Wetterstation Berechnungen +Hier sind einige nützliche Berechnungsfunktionen und Formeln zu finden, welch ich in meiner Wetterstation verwende. Die Berechnungsfunktionen sind in Javascript zur Verwendung in Node-Red geschieben, können jedoch einfach auch für andere Plattformen angepasst werden (z.B. Arduino). + +Die Quellen sind jeweils verlinkt. + +# Taupunkt berechnen +Quelle: https://myscope.net/taupunkttemperatur/ + +Die Berechnung des Taupunktes erfolgt aus den Messwerten Temperatur (°C) und Luftfeuchtigkeit (%). + +``` +var calcdewpoint = function(celsius, humidity) { + + var a, b; + if (celsius >= 0) { + a = 7.5; + b = 237.3; + } else if (celsius < 0) { + a = 7.6; + b = 240.7; + } + + // Sättigungsdampfdruck (hPa) + var sdd = 6.1078 * Math.pow(10, (a * celsius) / (b + celsius)); + + // Dampfdruck (hPa) + var dd = sdd * (humidity / 100); + + // v-Parameter + var v = Math.log10(dd / 6.1078); + + // Taupunkttemperatur (°C) + var td = (b * v) / (a - v); + + //Runden 1 Nachkommastelle + td = Math.round(td * 10) / 10; + + return td; +} + +msg.payload = calcdewpoint(12.45, 80); + +return msg; +``` +# Gefühlte Temperatur berechnen +Die Gefühlte Temperatur setzt sich aus zwei Berechnungsarten zusammen. Windchill (Temperatur kleiner als 10°C und Windgeschwindigkeit größer als 4.8km/h) und Hitzeindex (Temperatur größer als 26.7°C und Relative Luftfeuchte größer als 40%). + +``` + +//Quelle: https://myscope.net/windchill-gefuehlte-temperatur-berechnen/ +// https://de.wikipedia.org/wiki/Windchill +var calcwindchill = function(celsius, windspeed) { + var windchill = 13.12 + 0.6215 * celsius - 11.37 * Math.pow(windspeed, 0.16) + 0.3965 * celsius * Math.pow(windspeed, 0.16); + return windchill; +} + +//Quelle: https://myscope.net/hitzeindex-gefuehle-temperatur/ +// https://de.wikipedia.org/wiki/Hitzeindex +var calcheatindex = function(celsius, humidity) { + return (-8.784695 + 1.61139411 * celsius + 2.338549 * humidity - 0.14611605 * celsius * humidity - 0.012308094 * celsius * celsius - 0.016424828 * humidity * humidity + 0.002211732 * celsius * celsius * humidity + 0.00072546 * celsius * humidity * humidity - 0.000003582 * celsius * celsius * humidity * humidity); +} + +var Temperatur_2m = parseFloat(12.34); +var Luftfeuchte_rel = parseFloat(80); +var windkmh = parseFloat(2.45); + +if (Temperatur_2m <= 10 && windkmh >= 4.8) +{ + msg.payload = calcwindchill(Temperatur_2m, windkmh); + msg.topic = "123"; +} +else if (Temperatur_2m >= 26.7 && Luftfeuchte_rel >= 40) +{ + msg.payload = calcheatindex(Temperatur_2m, Luftfeuchte_rel); + msg.topic = "246"; +} +else //Keine der beiden Formeln ist definiert +{ + //msg.payload = -1; + msg.payload = Temperatur_2m; +} + +//Runden 1 Nachkommastelle +msg.payload = Math.round(msg.payload * 10) / 10; + +return msg; +``` + +# Absolute Luftfeuchtigkeit +Eine Umrechnung von Relativer (in %) in Absolute Luftfeuchtigkeit (in g/m^3). + +``` +// Relative to absolute humidity +// Based on https://carnotcycle.wordpress.com/2012/08/04/how-to-convert-relative-humidity-to-absolute-humidity/ +var absoluteHumidity = function(temperature, humidity) { + return (13.2471*Math.pow(2.7182818,17.67*temperature/(temperature+243.5))*humidity/(273.15+temperature)); +} + +var Temperatur_2m = parseFloat(12.34); +var Luftfeuchte_rel = parseFloat(45); + +msg.payload = absoluteHumidity(Temperatur_2m, Luftfeuchte_rel); + +//Runden 1 Nachkommastelle +msg.payload = Math.round(msg.payload * 10) / 10; + +return msg; +``` + +# Windgeschwindigkeit Meter pro Sekunde in Kilometer pro Stunde +Eine Umrechnung der Windgeschwindigkeit vom m/s in km/h sowie runden des Ergebnisses auf eine Nachkommastellen. +``` +msg.payload = Math.round(msg.payload * 3.6 * 10) / 10; + +return msg; +``` + +# Windgeschwindigkeit von Kilometer pro Stunde in Windstärke/Beaufortskala umrechnen +Referenz: https://wetterkanal.kachelmannwetter.com/woher-kommt-die-beaufortskala/ +Die Berechnungen beziehen sich auf die Einheit m/s. + +``` +var windmax = parseFloat(msg.payload) / 3.6; + +var windstarkewort = {}; +windstarkewort.topic = "Windstärke_Wort"; + +var windstarkebft = {}; +windstarkebft.topic = "Windstärke_bft"; + +if (windmax < 0.3) { + windstarkebft.payload = 0; + windstarkewort.payload = "Windstille"; + } + else if (windmax >= 0.3 && windmax < 1.6) { + windstarkebft.payload = 1; + windstarkewort.payload = "leiser Zug"; + } + else if (windmax >= 1.6 && windmax < 3.4 ) { + windstarkebft.payload = 2; + windstarkewort.payload = "leichte Brise"; + } + else if (windmax >= 3.4 && windmax < 5.5) { + windstarkebft.payload = 3; + windstarkewort.payload = "schwache Brise"; + } + else if (windmax >= 5.5 && windmax < 8.0 ) { + windstarkebft.payload = 4; + windstarkewort.payload = "mäßige Brise"; + } + else if (windmax >= 8.0 && windmax < 10.8 ) { + windstarkebft.payload = 5; + windstarkewort.payload = "frische Brise"; + } + else if (windmax >= 10.8 && windmax < 13.9 ) { + windstarkebft.payload = 6; + windstarkewort.payload = "starker Wind"; + } + else if (windmax >= 13.9 && windmax < 17.2 ) { + windstarkebft.payload = 7; + windstarkewort.payload = "steifer Wind"; + } + else if (windmax >= 17.2 && windmax < 20.8 ) { + windstarkebft.payload = 8; + windstarkewort.payload = "stürmischer Wind"; + } + else if (windmax >= 20.8 && windmax < 24.5 ) { + windstarkebft.payload = 9; + windstarkewort.payload = "Sturm"; + } + else if (windmax >= 24.5 && windmax < 28.5 ) { + windstarkebft.payload = 10; + windstarkewort.payload = "schwerer Sturm"; + } + else if (windmax >= 28.5 && windmax < 32.7 ) { + windstarkebft.payload = 11; + windstarkewort.payload = "orkanartiger Sturm"; + } + else if (windmax >= 32.7) { + windstarkebft.payload = 12; + windstarkewort.payload = "Sturm"; + } + + +return [windstarkewort, windstarkebft]; + +``` + +# Windrichtung "Grad in Wort" +Eine Umrechnung einer Windrichtung in Grad (0° entpsricht Nord) in Himmelsrichtungen (z.B. NO, S usw.). + +``` +var windrichtung = parseInt(msg.payload); + +var windrichtungwort = {}; +windrichtungwort.topic = "Windrichtung_Wort"; + + +if (windrichtung >= 348 && windrichtung < 12) { + windrichtungwort.payload = "N"; + } + else if (windrichtung >= 12 && windrichtung < 35) { + windrichtungwort.payload = "NNO"; + } + else if (windrichtung >= 35 && windrichtung < 57) { + windrichtungwort.payload = "NO"; + } + else if (windrichtung >= 57 && windrichtung < 80) { + windrichtungwort.payload = "NOO"; + } + else if (windrichtung >= 80 && windrichtung < 102) { + windrichtungwort.payload = "O"; + } + else if (windrichtung >= 102 && windrichtung < 125) { + windrichtungwort.payload = "SOO"; + } + else if (windrichtung >= 125 && windrichtung < 147) { + windrichtungwort.payload = "SO"; + } + else if (windrichtung >= 147 && windrichtung < 170) { + windrichtungwort.payload = "SSO"; + } + else if (windrichtung >= 170 && windrichtung < 192) { + windrichtungwort.payload = "S"; + } + else if (windrichtung >= 192 && windrichtung < 215) { + windrichtungwort.payload = "SSW"; + } + else if (windrichtung >= 215 && windrichtung < 237) { + windrichtungwort.payload = "SW"; + } + else if (windrichtung >= 237 && windrichtung < 260) { + windrichtungwort.payload = "SWW"; + } + else if (windrichtung >= 260 && windrichtung < 282) { + windrichtungwort.payload = "W"; + } + else if (windrichtung >= 282 && windrichtung < 305) { + windrichtungwort.payload = "NWW"; + } + else if (windrichtung >= 305 && windrichtung < 327) { + windrichtungwort.payload = "NW"; + } + else if (windrichtung >= 327 && windrichtung < 348) { + windrichtungwort.payload = "NNW"; + } + else { + windrichtungwort.payload = "???"; + } + +return windrichtungwort; +``` + +

+

This work by Dustin Brunner is licensed under CC BY 4.0

+ +Creative Commons Lizenzvertrag
Dieses Werk von Dustin Brunner ist lizenziert unter einer Creative Commons Namensnennung 4.0 International Lizenz. diff --git a/README.md b/README.md new file mode 100644 index 0000000..fcef0a8 --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# Wetterstation +MQTT-Wetterstation mit Datenauswertung und -Darstellung in Node-Red sowie Aufzeichung durch Influx-DB. + +Dieses Projekt besteht aus mehreren Teilen: + +## [Grundlagen: VEML 6070 Sensor, UV-Index Berechnung](VEML_6070/README.md) +## [Zusatzinfos: verwendete Berechnungsformeln](Berechnungsfunktionen.md) + + + + + + +

+

This work by Dustin Brunner is licensed under CC BY 4.0

+ +Creative Commons Lizenzvertrag
Dieses Werk von Dustin Brunner ist lizenziert unter einer Creative Commons Namensnennung 4.0 International Lizenz. diff --git a/VEML_6070/README.md b/VEML_6070/README.md new file mode 100644 index 0000000..406221e --- /dev/null +++ b/VEML_6070/README.md @@ -0,0 +1,53 @@ +# VEML6070 UV Sensor + +[](VEML_6070.png) + +The VEML6070 is a UV sensor with I2C-Interface. +It measures the UV light level but **NOT** the UV-Index. However, it is possible to convert the sensor readings to an equivalent UV-risk level/UV-Index. + +> Unlike the Si1145 (http://adafru.it/1777), this sensor will not give you UV Index readings. However, the Si1145 does UV Index approximations based on light level not true UV sensing. The VEML6070 in contrast does have a real light sensor in the UV spectrum. + +## Using the Sensor with Arduino +The sensor can be easily connected to the I2C pins of the Arduino (for Arduino UNO + Nano these are the pins A4 and A5). + +To read the measurements the `Adafruit_VEML6070`-Library can be used. +It can be installed directly via the Arduino Library Manager. Alternatively, it can be downloaded from GitHub: https://github.com/adafruit/Adafruit_VEML6070 + + +## Convert measurements to UV-Risk level +The conversion is implemented in the equivalent Adafruit library for Circuit Python (https://github.com/adafruit/Adafruit_CircuitPython_VEML6070). However it is not implemented in the Arduino version. + +I adapted the Circuit Python code and created an extended example sketch with risk-level-conversion. + +``` +String convert_to_risk_level(int reading) +{ + int integration_time = 4; //available for Integration-Time 1, 2, 4 + // MUST be adjusted according to the set integration time + reading = reading / integration_time; + + String risk_level; + + if(reading <= 560) + risk_level = "LOW (UV 0-2)"; + else if(reading > 560 && reading <= 1120) + risk_level = "Moderate (UV 3-5)"; + else if(reading > 1120 && reading <= 1494) + risk_level = "High (UV 6-7)"; + else if(reading > 1494 && reading <= 2054) + risk_level = "Very High (UV 8-10)"; + else if(reading > 2054 && reading <= 9999) + risk_level = "Extreme (UV >10)"; + else + risk_level = "ERROR"; + + return risk_level; +} + + +``` + +## You can the full example sketch [here](./vemltest_extended/vemltest_extended.ino). + +
+References/Sources: https://cdn-learn.adafruit.com/downloads/pdf/adafruit-veml6070-uv-light-sensor-breakout.pdf \ No newline at end of file diff --git a/VEML_6070/VEML_6070.png b/VEML_6070/VEML_6070.png new file mode 100644 index 0000000000000000000000000000000000000000..7ba0026aa55db17d9c99b4ecd113cc9a0127ee87 GIT binary patch literal 75885 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 z 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 +#include "Adafruit_VEML6070.h" + +Adafruit_VEML6070 uv = Adafruit_VEML6070(); + +void setup() { + Serial.begin(9600); + Serial.println("VEML6070 Test"); + uv.begin(VEML6070_2_T); // pass in the integration time constant + /* + possible integration times: -> adapt the convert_to_risk_level-function accordingly! + VEML6070_HALF_T ~62.5ms + VEML6070_1_T ~125ms + VEML6070_2_T ~250ms + VEML6070_4_T ~500ms + + */ +} + + +//Source: https://github.com/adafruit/Adafruit_CircuitPython_VEML6070/blob/main/adafruit_veml6070.py +String convert_to_risk_level(int reading) +{ + int integration_time = 4; //available for Integration-Time 1, 2, 4 + // MUST be adjusted according to the set integration time + reading = reading / integration_time; + + String risk_level; + + if(reading <= 560) + risk_level = "LOW (UV 0-2)"; + else if(reading > 560 && reading <= 1120) + risk_level = "Moderate (UV 3-5)"; + else if(reading > 1120 && reading <= 1494) + risk_level = "High (UV 6-7)"; + else if(reading > 1494 && reading <= 2054) + risk_level = "Very High (UV 8-10)"; + else if(reading > 2054 && reading <= 9999) + risk_level = "Extreme (UV >10)"; + else + risk_level = "ERROR"; + + return risk_level; +} + +/* +// German equivalent +String convert_to_risk_level(int reading) +{ + int integration_time = 4; //available for Integration-Time 1, 2, 4 + // MUST be adjusted according to the set integration time + reading = reading / integration_time; + + String risk_level; + + if(reading <= 560) + risk_level = "Niedrig (UV 0-2)"; + else if(reading > 560 && reading <= 1120) + risk_level = "Mittel (UV 3-5)"; + else if(reading > 1120 && reading <= 1494) + risk_level = "Hoch (UV 6-7)"; + else if(reading > 1494 && reading <= 2054) + risk_level = "Sehr Hoch (UV 8-10)"; + else if(reading > 2054 && reading <= 9999) + risk_level = "Extrem (UV >10)"; + else + risk_level = "ERROR"; + + return risk_level; +} +*/ + +void loop() { + int reading = uv.readUV(); + + Serial.print("UV light level: "); + Serial.print(reading); + Serial.print(" Risk level is: "); + Serial.println(convert_to_risk_level(reading)); + + delay(1000); +}