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 13.0k 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          7

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          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