Hallo zusammen,
ich habe seit einiger Zeit einen BME280 von Bosch hier. Ich nutze einen ESP8266-12/-07 mit der Arduino IDE. Meine eigene Arduino Library habe ich inzwischen fertig gestellt, sie folgt 1:1 dem Datenblatt des Sensors.
Leider sind meine Temperatur- und Luftfeuchtigkeitsmessungen meilenweit von der Realität weg, ich weiß aber nicht wieso. Die Temperatur liegt +7°C, teilweise bis zu +11°C daneben (Werte nach 2 Stunden, mit 1Hz Abtastrate). Die relative Luftfeuchtigkeit hängt von der Temperatur ab, wird aber anscheinend richtig berechnet.
Mein momentaner Testaufbau besteht aus einer selbst gelaserten Platine, die auch vollkommen i.O. zu sein scheint. Um den BME280 herum ist im Radius von 1cm kein aktives Bauteil. Das nächste aktive Bauteil ist auf einer Seite ein ESP8266-12/-07 Modul, auf der anderen Seite ein Relay, das aber bisher unbetätigt bleibt. Auf der Rückseite der Platine befindet sich kein Bauteil.
Meine Serielle Ausgabe sieht folgendermaßen aus (Raum:22°C):
PROG INFORMATION =========================================================
PROG >> INFO >> BOSCH BME280 Testprogram - Read ADC-Data in Burst Mode
PROG >> DATE >> Jan 4 2017
PROG >> TIME >> 23:50:08
PROG >> GCC >> 4.8.2
PROG >> IDE >> 1.6.13
==========================================================================
...
...
...
...
==========================================================================
BME280 >> TEMP >> I32 >> 3007 C
BME280 >> TEMP >> DBL >> 30.07 C
BME280 >> PRESS >> I32 >> 97911 Pa
BME280 >> PRESS >> I64 >> 97911 Pa
BME280 >> PRESS >> DBL >> 97998.85 Pa
BME280 >> HUMID >> I32 >> 25023 %rH
BME280 >> HUMID >> DBL >> 24.43 %rH
BME280 >> ALTIT >> DBL >> 280.68 m
==========================================================================
Alles anzeigen
Die Ausgabewerte sind vom Format her richtig und eigentlich zur weiteren Berechnung gedacht, weshalb die Dezimalstellen teilweise nicht stimmen.
I32, I64 und DBL bezieht sich auf die Präzision bei der Berechnung der Werte. Bis auf DBL ist der Datentyp u/int32_t.
Ich habe meine Arduino Library mal hochgeladen: GitHub Code
Nun stellt sich mir die Frage, was ich da falsch mache?