BME280 and BMP180 temperature readings 7°C too high

Customer:

I have BMP180 and BME280 sensors connected to CroduinoNova with easyC and Croduino2 via pins. I used your KKM, and for BME280 I tested both libraries: GitHub - SolderedElectronics/Soldered-BME280-BME680-Gas-Sensor-Arduino-Library · GitHub and https://github.com/e-radionicacom/BME280-Arduino-Library. For BMP180 I also tried yours, plus others found online. With the code I wrote, both sensors show significantly too-high readings. The sensors read 27°C when the actual temperature is below 20. The same issue occurs with pressure. Is this a calibration problem, or is there something else I need to check? I also tried another mode:

uint8_t mode = 3; // normal mode

Since the error is large and consistent, I have a feeling I’m making a basic mistake. Do you have any idea what could be causing this?

Original message (Croatian)

nažalost zaboravio sam lozinku za forum, a ne mogu si obnoviti, nikako da dođe mail. Nešto krivo radim. Pa ako mi možete poslati link za oporavak lozinke?

Ono bitnije, kupio sam BMP180 i BME280, oba senzora sam spojio na CroduinoNova s easyC i na Croduino2 preko pinova. Koristio sam Vaše KKM, za BME280 sam isprobao obje knjižnice( library)
GitHub - SolderedElectronics/Soldered-BME280-BME680-Gas-Sensor-Arduino-Library · GitHub i https://github.com/e-radionicacom/BME280-Arduino-Library za BMP180 isto Vašu, ali potražio i po internetu. Uglavno što kod sam napravio, dobivam za oba senzora značajno prevelike razlike u očitanju. Senzori mi učitaju temperaturu 27, a trenutno je ispod 20. Isto za tlak. Da li je problem do kalibracije ili bi morao nešto drugo pripaziti. Pokušao sam i drugi mod:
uint8_t mode = 3; // normal mode
Budući da je ta greška velika i postojana imam osjećaj da radim neku osnovnu pogrešku, da li imate kakvu ideju što je uzrok?
Puno hvala i lijepi pozdrav, [name removed]

Originally submitted via email support on 12 July 2022. Migrated to the forum for community visibility.

Soldered Support:

When using the example code for BME280 from GitHub - SolderedElectronics/Soldered-BME280-BME680-Gas-Sensor-Arduino-Library · GitHub, you need to set an “offset” because the sensor is not factory-calibrated.

In void loop there is a variable offset to which you assign the value of the deviation your sensor has. In your case this would be around 7 °C.

For BMP180, try using this library: GitHub - SolderedElectronics/Soldered-BMP180-Temperature-Pressure-Sensor-Arduino-Library · GitHub.

Original message (Croatian)

kada koristite primjer programskog koda za BME280 sa linka GitHub - SolderedElectronics/Soldered-BME280-BME680-Gas-Sensor-Arduino-Library · GitHub, potrebno je postaviti “offset” jer senzor nije tvornički kalibriran.

U void loop se nalazi varijabla offest kojoj dajete vrijednost odstupanja koje Vaš senzor ima. U vašem slučaju to bi bilo oko 7 °C.

Za BMP180 probajte koristiti ovu knjižnicu GitHub - SolderedElectronics/Soldered-BMP180-Temperature-Pressure-Sensor-Arduino-Library · GitHub.