Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Announcements
  3. 💬 Atmospheric Pressure Sensor

💬 Atmospheric Pressure Sensor

Scheduled Pinned Locked Moved Announcements
pressurebmp085
60 Posts 22 Posters 29.5k Views 19 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    emc2
    Hardware Contributor
    wrote on last edited by
    #8

    BME280 is quite nice. I got one last year that I added to my gateway and it worked flawlessly since then.

    If you remove the gateway/esp8266 top part you should be able to directly use code from https://github.com/emc2cube/MyWeatherGatewayESP8266 (which was updated from this one anyway)

    1 Reply Last reply
    2
    • HeinzH Offline
      HeinzH Offline
      Heinz
      Hero Member
      wrote on last edited by
      #9

      I just ordered one at ebay...
      Nice to see that other weatherstations make use of this code.

      1 Reply Last reply
      0
      • Luc3asL Offline
        Luc3asL Offline
        Luc3as
        wrote on last edited by
        #10

        I tried to modify the weather forecast script to run each 5 minutes instead of every minute but now I am getting strange forecasts and sometimes unknown conditions.
        Doesn't anybody tried to accomplish this ?

        D 1 Reply Last reply
        0
        • boblasureB Offline
          boblasureB Offline
          boblasure
          wrote on last edited by
          #11

          So I added the My Sensors board file, added the my sensors libary through library manager, coped the adafruit library and tried to compile. Arduino: 1.8.1 (Windows 8.1), Board: "Arduino Mini, ATmega328"

          C:\Users\eddy\Documents\Arduino\bmpTest\bmpTest.ino: In function 'void setup()':

          bmpTest:95: error: 'getConfig' was not declared in this scope

           metric = getConfig().isMetric;
          
                              ^
          

          exit status 1
          'getConfig' was not declared in this scope

          This report would have more information with
          "Show verbose output during compilation"
          option enabled in File -> Preferences.
          Did I miss something?

          1 Reply Last reply
          0
          • boblasureB Offline
            boblasureB Offline
            boblasure
            wrote on last edited by
            #12

            Okay, I changed the library to version 2.0.0 and it now compiles.

            mfalkviddM 1 Reply Last reply
            1
            • boblasureB boblasure

              Okay, I changed the library to version 2.0.0 and it now compiles.

              mfalkviddM Offline
              mfalkviddM Offline
              mfalkvidd
              Mod
              wrote on last edited by
              #13

              @boblasure I am not sure why, but the name of getConfig was changed. See https://forum.mysensors.org/topic/5841/getconfig-was-not-declared-in-this-scope-v2-1-1-fixed/ if you want to upgrade to 2.1.1 again.

              1 Reply Last reply
              1
              • Luc3asL Luc3as

                I tried to modify the weather forecast script to run each 5 minutes instead of every minute but now I am getting strange forecasts and sometimes unknown conditions.
                Doesn't anybody tried to accomplish this ?

                D Offline
                D Offline
                DavidZH
                wrote on last edited by
                #14

                @Luc3as

                The forecast script is meant to be running every minute to collect the averaging data. If you run it every 5 minutes, you need to change the dividers in the script to come to a hPa/h value that actually makes sense.

                1 Reply Last reply
                1
                • ghislainG Offline
                  ghislainG Offline
                  ghislain
                  wrote on last edited by
                  #15

                  i've got a problem, pressure always stay to 1013 mbar and i'm at 350m of altitude. Something is wrong but what ? I test the BMP180 alone and it said the good value.

                  1 Reply Last reply
                  0
                  • ghislainG Offline
                    ghislainG Offline
                    ghislain
                    wrote on last edited by ghislain
                    #16

                    I found some problems in code. I did make some change to be able to get value. I replace "float pressure = bmp.readSealevelPressure(ALTITUDE) / 100.0;" by "float pressure = bmp.readPressure() / 100 ;"

                    I'll make a PR on GitHub when everything will be well tested. :)

                    1 Reply Last reply
                    0
                    • James FlosseJ Offline
                      James FlosseJ Offline
                      James Flosse
                      wrote on last edited by
                      #17

                      Hi, i've a problem with the bmp180 with domoticz. I use raspberry pi with domoticz and mysensor v2 and nrf24 on gpio, i receive data but i think is wrong. The temperature is 31°C and pressure is 728. I put my altitude in the sketch.
                      Can you help me?
                      Best regards.

                      mfalkviddM 1 Reply Last reply
                      0
                      • James FlosseJ James Flosse

                        Hi, i've a problem with the bmp180 with domoticz. I use raspberry pi with domoticz and mysensor v2 and nrf24 on gpio, i receive data but i think is wrong. The temperature is 31°C and pressure is 728. I put my altitude in the sketch.
                        Can you help me?
                        Best regards.

                        mfalkviddM Offline
                        mfalkviddM Offline
                        mfalkvidd
                        Mod
                        wrote on last edited by
                        #18

                        Welcome to the MySensors community @James-Flosse !

                        Could you post your sketch and debug output from the node and the gateway?

                        If you haven't looked at it already, https://www.mysensors.org/build/debug#enabling-debug-logging has information on how to enable debug logging.

                        1 Reply Last reply
                        0
                        • James FlosseJ Offline
                          James FlosseJ Offline
                          James Flosse
                          wrote on last edited by James Flosse
                          #19

                          Hi @mfalkvidd. This is the debug output and my code

                          2269 MCO:REG:REQ
                          2277 TSF:MSG:SEND,3-3-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
                          2287 TSF:MSG:READ,0-0-3,s=255,c=3,t=27,pt=1,l=1,sg=0:1
                          2293 MCO:PIM:NODE REG=1
                          2295 MCO:BGN:STP
                          2306 MCO:BGN:INIT OK,TSP=1
                          Forecast at minute 1 dP/dt = 0.00kPa/h --> unknown
                          Temperature = 31.00 *C
                          Pressure = 728.00 hPa
                          Forecast = unknown
                          2359 TSF:MSG:SEND,3-3-0-0,s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=OK:31.0
                          2369 TSF:MSG:SEND,3-3-0-0,s=0,c=1,t=4,pt=7,l=5,sg=0,ft=0,st=OK:728
                          2381 TSF:MSG:SEND,3-3-0-0,s=0,c=1,t=5,pt=0,l=7,sg=0,ft=0,st=OK:unknown
                          2387 MCO:SLP:MS=60000,SMS=0,I1=255,M1=255,I2=255,M2=255
                          2394 MCO:SLP:TPD
                          
                          // Enable debug prints to serial monitor
                          #define MY_DEBUG 
                          
                          // Enable and select radio type attached
                          #define MY_RADIO_NRF24
                          //#define MY_RADIO_RFM69
                          
                          #include <SPI.h>
                          #include <MySensors.h>  
                          #include <Wire.h>
                          #include <Adafruit_BMP085.h>
                          
                          #define BARO_CHILD 0
                          #define TEMP_CHILD 1
                          
                          const float ALTITUDE = 688; // <-- adapt this value to your own location's altitude.
                          
                          // Sleep time between reads (in seconds). Do not change this value as the forecast algorithm needs a sample every minute.
                          const unsigned long SLEEP_TIME = 60000; 
                          
                          const char *weather[] = { "stable", "sunny", "cloudy", "unstable", "thunderstorm", "unknown" };
                          enum FORECAST
                          {
                              STABLE = 0,            // "Stable Weather Pattern"
                              SUNNY = 1,            // "Slowly rising Good Weather", "Clear/Sunny "
                              CLOUDY = 2,            // "Slowly falling L-Pressure ", "Cloudy/Rain "
                              UNSTABLE = 3,        // "Quickly rising H-Press",     "Not Stable"
                              THUNDERSTORM = 4,    // "Quickly falling L-Press",    "Thunderstorm"
                              UNKNOWN = 5            // "Unknown (More Time needed)
                          };
                          
                          Adafruit_BMP085 bmp = Adafruit_BMP085();      // Digital Pressure Sensor 
                          
                          float lastPressure = -1;
                          float lastTemp = -1;
                          int lastForecast = -1;
                          
                          const int LAST_SAMPLES_COUNT = 5;
                          float lastPressureSamples[LAST_SAMPLES_COUNT];
                          
                          // this CONVERSION_FACTOR is used to convert from Pa to kPa in forecast algorithm
                          // get kPa/h be dividing hPa by 10 
                          #define CONVERSION_FACTOR (1.0/10.0)
                          
                          int minuteCount = 0;
                          bool firstRound = true;
                          // average value is used in forecast algorithm.
                          float pressureAvg;
                          // average after 2 hours is used as reference value for the next iteration.
                          float pressureAvg2;
                          
                          float dP_dt;
                          bool metric;
                          MyMessage tempMsg(TEMP_CHILD, V_TEMP);
                          MyMessage pressureMsg(BARO_CHILD, V_PRESSURE);
                          MyMessage forecastMsg(BARO_CHILD, V_FORECAST);
                          
                          
                          void setup() 
                          {
                              if (!bmp.begin()) 
                              {
                                  Serial.println("Could not find a valid BMP085 sensor, check wiring!");
                                  while (1) {}
                              }
                              metric = getControllerConfig().isMetric;
                          }
                          
                          void presentation()  {
                            // Send the sketch version information to the gateway and Controller
                            sendSketchInfo("Pressure Sensor", "1.1");
                          
                            // Register sensors to gw (they will be created as child devices)
                            present(BARO_CHILD, S_BARO);
                            present(TEMP_CHILD, S_TEMP);
                          }
                          
                          void loop() 
                          {
                              float pressure = bmp.readPressure() / 100 ;
                              float temperature = bmp.readTemperature();
                          
                              if (!metric) 
                              {
                                  // Convert to fahrenheit
                                  temperature = temperature * 9.0 / 5.0 + 32.0;
                              }
                          
                              int forecast = sample(pressure);
                          
                              Serial.print("Temperature = ");
                              Serial.print(temperature);
                              Serial.println(metric ? " *C" : " *F");
                              Serial.print("Pressure = ");
                              Serial.print(pressure);
                              Serial.println(" hPa");
                              Serial.print("Forecast = ");
                              Serial.println(weather[forecast]);
                          
                          
                              if (temperature != lastTemp) 
                              {
                                  send(tempMsg.set(temperature, 1));
                                  lastTemp = temperature;
                              }
                          
                              if (pressure != lastPressure) 
                              {
                                  send(pressureMsg.set(pressure, 0));
                                  lastPressure = pressure;
                              }
                          
                              if (forecast != lastForecast)
                              {
                                  send(forecastMsg.set(weather[forecast]));
                                  lastForecast = forecast;
                              }
                          
                              sleep(SLEEP_TIME);
                          }
                          
                          float getLastPressureSamplesAverage()
                          {
                              float lastPressureSamplesAverage = 0;
                              for (int i = 0; i < LAST_SAMPLES_COUNT; i++)
                              {
                                  lastPressureSamplesAverage += lastPressureSamples[i];
                              }
                              lastPressureSamplesAverage /= LAST_SAMPLES_COUNT;
                          
                              return lastPressureSamplesAverage;
                          }
                          
                          
                          
                          // Algorithm found here
                          // http://www.freescale.com/files/sensors/doc/app_note/AN3914.pdf
                          // Pressure in hPa -->  forecast done by calculating kPa/h
                          int sample(float pressure)
                          {
                              // Calculate the average of the last n minutes.
                              int index = minuteCount % LAST_SAMPLES_COUNT;
                              lastPressureSamples[index] = pressure;
                          
                              minuteCount++;
                              if (minuteCount > 185)
                              {
                                  minuteCount = 6;
                              }
                          
                              if (minuteCount == 5)
                              {
                                  pressureAvg = getLastPressureSamplesAverage();
                              }
                              else if (minuteCount == 35)
                              {
                                  float lastPressureAvg = getLastPressureSamplesAverage();
                                  float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
                                  if (firstRound) // first time initial 3 hour
                                  {
                                      dP_dt = change * 2; // note this is for t = 0.5hour
                                  }
                                  else
                                  {
                                      dP_dt = change / 1.5; // divide by 1.5 as this is the difference in time from 0 value.
                                  }
                              }
                              else if (minuteCount == 65)
                              {
                                  float lastPressureAvg = getLastPressureSamplesAverage();
                                  float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
                                  if (firstRound) //first time initial 3 hour
                                  {
                                      dP_dt = change; //note this is for t = 1 hour
                                  }
                                  else
                                  {
                                      dP_dt = change / 2; //divide by 2 as this is the difference in time from 0 value
                                  }
                              }
                              else if (minuteCount == 95)
                              {
                                  float lastPressureAvg = getLastPressureSamplesAverage();
                                  float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
                                  if (firstRound) // first time initial 3 hour
                                  {
                                      dP_dt = change / 1.5; // note this is for t = 1.5 hour
                                  }
                                  else
                                  {
                                      dP_dt = change / 2.5; // divide by 2.5 as this is the difference in time from 0 value
                                  }
                              }
                              else if (minuteCount == 125)
                              {
                                  float lastPressureAvg = getLastPressureSamplesAverage();
                                  pressureAvg2 = lastPressureAvg; // store for later use.
                                  float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
                                  if (firstRound) // first time initial 3 hour
                                  {
                                      dP_dt = change / 2; // note this is for t = 2 hour
                                  }
                                  else
                                  {
                                      dP_dt = change / 3; // divide by 3 as this is the difference in time from 0 value
                                  }
                              }
                              else if (minuteCount == 155)
                              {
                                  float lastPressureAvg = getLastPressureSamplesAverage();
                                  float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
                                  if (firstRound) // first time initial 3 hour
                                  {
                                      dP_dt = change / 2.5; // note this is for t = 2.5 hour
                                  }
                                  else
                                  {
                                      dP_dt = change / 3.5; // divide by 3.5 as this is the difference in time from 0 value
                                  }
                              }
                              else if (minuteCount == 185)
                              {
                                  float lastPressureAvg = getLastPressureSamplesAverage();
                                  float change = (lastPressureAvg - pressureAvg) * CONVERSION_FACTOR;
                                  if (firstRound) // first time initial 3 hour
                                  {
                                      dP_dt = change / 3; // note this is for t = 3 hour
                                  }
                                  else
                                  {
                                      dP_dt = change / 4; // divide by 4 as this is the difference in time from 0 value
                                  }
                                  pressureAvg = pressureAvg2; // Equating the pressure at 0 to the pressure at 2 hour after 3 hours have past.
                                  firstRound = false; // flag to let you know that this is on the past 3 hour mark. Initialized to 0 outside main loop.
                              }
                          
                              int forecast = UNKNOWN;
                              if (minuteCount < 35 && firstRound) //if time is less than 35 min on the first 3 hour interval.
                              {
                                  forecast = UNKNOWN;
                              }
                              else if (dP_dt < (-0.25))
                              {
                                  forecast = THUNDERSTORM;
                              }
                              else if (dP_dt > 0.25)
                              {
                                  forecast = UNSTABLE;
                              }
                              else if ((dP_dt > (-0.25)) && (dP_dt < (-0.05)))
                              {
                                  forecast = CLOUDY;
                              }
                              else if ((dP_dt > 0.05) && (dP_dt < 0.25))
                              {
                                  forecast = SUNNY;
                              }
                              else if ((dP_dt >(-0.05)) && (dP_dt < 0.05))
                              {
                                  forecast = STABLE;
                              }
                              else
                              {
                                  forecast = UNKNOWN;
                              }
                          
                              // uncomment when debugging
                              Serial.print(F("Forecast at minute "));
                              Serial.print(minuteCount);
                              Serial.print(F(" dP/dt = "));
                              Serial.print(dP_dt);
                              Serial.print(F("kPa/h --> "));
                              Serial.println(weather[forecast]);
                          
                              return forecast;
                          }
                          
                          2017-03-09 10:52:56.474 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 10:52:56.475 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 10:52:56.488 (GATEWAY) Temp (Temp)
                          2017-03-09 10:52:56.497 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:52:56.503 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:53:40.053 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 10:53:40.054 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 10:53:40.067 (GATEWAY) Temp (Temp)
                          2017-03-09 10:53:40.075 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:53:40.081 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:54:14.102 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 10:54:14.104 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 10:54:14.148 (GATEWAY) Temp (Temp)
                          2017-03-09 10:54:14.162 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:54:14.172 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:54:26.662 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 10:54:26.664 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 10:54:26.676 (GATEWAY) Temp (Temp)
                          2017-03-09 10:54:26.685 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:54:26.691 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:54:44.122 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 10:54:44.123 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 10:54:44.136 (GATEWAY) Temp (Temp)
                          2017-03-09 10:54:44.145 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:54:44.150 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:54:50.417 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 10:54:51.225 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 10:54:51.227 (GATEWAY) Temp (Temp)
                          2017-03-09 10:54:51.236 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:54:51.242 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:55:55.513 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:58:05.600 (GATEWAY) Temp (Temp)
                          2017-03-09 10:58:05.608 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 10:59:10.651 (GATEWAY) Temp (Temp)
                          2017-03-09 11:01:20.704 (GATEWAY) Temp (Temp)
                          2017-03-09 11:02:00.701 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 11:02:00.702 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 11:02:00.715 (GATEWAY) Temp (Temp)
                          2017-03-09 11:02:00.723 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:00.728 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:31.650 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 11:02:31.652 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 11:02:31.664 (GATEWAY) Temp (Temp)
                          2017-03-09 11:02:31.673 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:31.678 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:38.872 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 11:02:38.873 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 11:02:38.886 (GATEWAY) Temp (Temp)
                          2017-03-09 11:02:38.894 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:38.900 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:41.863 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 11:02:41.864 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 11:02:41.887 (GATEWAY) Temp (Temp)
                          2017-03-09 11:02:41.895 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:41.901 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:49.208 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 11:02:49.209 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 11:02:49.232 (GATEWAY) Temp (Temp)
                          2017-03-09 11:02:49.240 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:02:49.245 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:03:54.286 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:04:59.319 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:06:04.359 (GATEWAY) Temp (Temp)
                          2017-03-09 11:06:04.368 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:06:36.109 MySensors: Node: 3, Sketch Name: Pressure Sensor
                          2017-03-09 11:06:36.111 MySensors: Node: 3, Sketch Version: 1.1
                          2017-03-09 11:06:36.123 (GATEWAY) Temp (Temp)
                          2017-03-09 11:06:36.132 (GATEWAY) General/Barometer (Baro)
                          2017-03-09 11:06:36.137 (GATEWAY) General/Barometer (Baro)
                          
                          1 Reply Last reply
                          0
                          • mfalkviddM Offline
                            mfalkviddM Offline
                            mfalkvidd
                            Mod
                            wrote on last edited by
                            #20

                            The node sends the data received from the bmp180, so everything seems to be correct. Could you clarify what you expected?

                            1 Reply Last reply
                            0
                            • James FlosseJ Offline
                              James FlosseJ Offline
                              James Flosse
                              wrote on last edited by
                              #21

                              The pressure and temperature is incorrect xD. sorry, i have 20°C in my room and the METAR of the near airport say 1016 hPa.

                              mfalkviddM 1 Reply Last reply
                              0
                              • James FlosseJ James Flosse

                                The pressure and temperature is incorrect xD. sorry, i have 20°C in my room and the METAR of the near airport say 1016 hPa.

                                mfalkviddM Offline
                                mfalkviddM Offline
                                mfalkvidd
                                Mod
                                wrote on last edited by
                                #22

                                @James-Flosse thanks :)
                                Strange problem. Is the bmp getting stable power? Maybe it is defective? You don't happen to have another bmp to compare with?

                                1 Reply Last reply
                                0
                                • James FlosseJ Offline
                                  James FlosseJ Offline
                                  James Flosse
                                  wrote on last edited by
                                  #23

                                  Only bmp180 connected to arduino and i have test with 3 other :s

                                  1 Reply Last reply
                                  0
                                  • ghislainG Offline
                                    ghislainG Offline
                                    ghislain
                                    wrote on last edited by ghislain
                                    #24

                                    Hi, i'm using this sketch and I had to modify it a little bit. But i'm at work and i haven't it.

                                    You defined the altitude to 688 meters in you sketch, are you sure, you said you're at 1014mbars. If you're really at 700m you should be near 930mbars not 1014mbars.

                                    1 Reply Last reply
                                    0
                                    • James FlosseJ Offline
                                      James FlosseJ Offline
                                      James Flosse
                                      wrote on last edited by
                                      #25

                                      Ok i defined the altitude by my own (225 meters) but i have the same pressure and temperature :S

                                      1 Reply Last reply
                                      0
                                      • ghislainG Offline
                                        ghislainG Offline
                                        ghislain
                                        wrote on last edited by
                                        #26

                                        Too bad, can you upload a basic example sketch in the library adafruit to read pressure and temperature, just to be sure there is the same behavior.

                                        1 Reply Last reply
                                        0
                                        • James FlosseJ Offline
                                          James FlosseJ Offline
                                          James Flosse
                                          wrote on last edited by
                                          #27
                                          #include <Wire.h>
                                          #include <Adafruit_Sensor.h>
                                          #include <Adafruit_BMP085_U.h>
                                             
                                          Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
                                           
                                          void setup(void) 
                                          {
                                            Serial.begin(9600);
                                            Serial.println("Pressure Sensor Test"); Serial.println("");
                                            
                                            /* Initialise the sensor */
                                            if(!bmp.begin())
                                            {
                                              /* There was a problem detecting the BMP085 ... check your connections */
                                              Serial.print("Ooops, no BMP085 detected ... Check your wiring or I2C ADDR!");
                                              while(1);
                                            }
                                          }
                                           
                                          void loop(void) 
                                          {
                                            /* Get a new sensor event */ 
                                            sensors_event_t event;
                                            bmp.getEvent(&event);
                                           
                                            /* Display the results (barometric pressure is measure in hPa) */
                                            if (event.pressure)
                                            {
                                              /* Display atmospheric pressure in hPa */
                                              Serial.print("Pressure: "); Serial.print(event.pressure); Serial.println(" hPa");
                                            }
                                            else
                                            {
                                              Serial.println("Sensor error");
                                            }
                                            delay(250);
                                          }
                                          
                                          Pressure: 756.46 hPa
                                          Pressure: 756.47 hPa
                                          Pressure: 756.49 hPa
                                          Pressure: 756.44 hPa
                                          Pressure: 756.44 hPa
                                          Pressure: 756.46 hPa
                                          Pressure: 756.41 hPa
                                          Pressure: 756.44 hPa
                                          Pressure: 756.42 hPa
                                          Pressure: 756.39 hPa
                                          Pressure: 756.42 hPa
                                          Pressure: 756.44 hPa
                                          Pressure: 756.38 hPa
                                          Pressure: 756.40 hPa
                                          Pressure: 756.41 hPa
                                          Pressure: 756.38 hPa
                                          Pressure: 756.41 hPa
                                          Pressure: 756.40 hPa
                                          Pressure: 756.38 hPa
                                          Pressure: 756.40 hPa
                                          Pressure: 756.42 hPa
                                          Pressure: 756.34 hPa
                                          Pressure: 756.22 hPa
                                          Pressure: 756.33 hPa
                                          Pressure: 756.37 hPa
                                          Pressure: 756.38 hPa
                                          
                                          

                                          same pressure

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          19

                                          Online

                                          12.0k

                                          Users

                                          11.2k

                                          Topics

                                          113.4k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular