marco.markl Geschrieben August 2, 2017 at 14:41 Geschrieben August 2, 2017 at 14:41 Hallo! Ich betreibe u.a. ein Humidity und ein Temperature Bricklet im Freien. In der Dokumentation findet man folgenden Hinweis Der von get_humidity() zurückgegebene Wert ist über mehrere Messwerte gemittelt um das Rauschen zu vermindern, während get_analog_value() unverarbeitete Analogwerte zurück gibt. Der zurückgegebene Luftfeuchtigkeitswert ist auf Raumtemperatur kalibriert, d.h. wenn der Sensor in sehr kalten oder warmen Umgebungen verwendet wird, ist es ratsam den Luftfeuchtigkeitswert direkt aus den Analogwerten zu berechnen. Siehe hierzu das HIH 5030 Datenblatt. Im Datenblatt findet man diese Formel Temperature compensation: True RH = (Sensor RH)/(1.0546 - 0.00216T), T in °C Den Analogwert und die Temperatur habe ich, aber wie programmiere ich "0.00216T" in Python (oder andere)? Marco Zitieren
borg Geschrieben August 2, 2017 at 15:49 Geschrieben August 2, 2017 at 15:49 Angenommen die Temperatur beträgt 32,1°C und der Rückgabewert des Humidity Bricklets ist 54,3% würdest du folgendes berechnen: True RH = 54.3/(1.0546 - 0.00216*32.1) = 55.11 Zitieren
marco.markl Geschrieben August 2, 2017 at 16:00 Autor Geschrieben August 2, 2017 at 16:00 Danke für deine Antwort! Du würdest also den Wert von get_humidity() heranziehen und nicht den Wert von get_analog_value()? Marco Zitieren
borg Geschrieben August 2, 2017 at 16:20 Geschrieben August 2, 2017 at 16:20 Den Wert von get_humidity, aber skaliert auf %RH (und Temperatur skaliert auf °C). Also: temperature = t.get_temperature()/100.0 humidity = h.get_humidity()/10.0 temperature_compensated_humidity = humidity/(1.0546 - 0.00216*temperature) Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.