подскажите пожалуйста , как переключаются режимы точности измерения в этой библиотеке, и какой режим стоит по умолчанию? в описаниях всех говорится о высокоточном и экономном режимах, но как их включить нигде не сказано.. заранее спасибо.
Код (Text): Adafruit_BMP085 sensor; //sensor.begin(BMP085_ULTRALOWPOWER); sensor.begin(BMP085_STANDARD); //sensor.begin(BMP085_HIGHRES); //sensor.begin(BMP085_ULTRAHIGHRES);
добавил в void setup() Adafruit_BMP085 sensor; sensor.begin(BMP085_ULTRAHIGHRES); как будто не изменилось ничего прыгает давление так же как раньше.. при том что 100 значений усредняются может разницу видно только между супер экономным режимом и супер точным..
в библиотеке такого нет.. все файлы проверил Код (Text): /*************************************************** This is a library for the Adafruit BMP085/BMP180 Barometric Pressure + Temp sensor Designed specifically to work with the Adafruit BMP085 or BMP180 Breakout ----> http://www.adafruit.com/products/391 ----> http://www.adafruit.com/products/1603 These displays use I2C to communicate, 2 pins are required to interface Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! Written by Limor Fried/Ladyada for Adafruit Industries. BSD license, all text above must be included in any redistribution ****************************************************/ #ifndef ADAFRUIT_BMP085_H #define ADAFRUIT_BMP085_H #if (ARDUINO >= 100) #include "Arduino.h" #else #include "WProgram.h" #endif #include "Wire.h" #define BMP085_DEBUG 0 #define BMP085_I2CADDR 0x77 #define BMP085_ULTRALOWPOWER 0 #define BMP085_STANDARD 1 #define BMP085_HIGHRES 2 #define BMP085_ULTRAHIGHRES 3 #define BMP085_CAL_AC1 0xAA // R Calibration data (16 bits) #define BMP085_CAL_AC2 0xAC // R Calibration data (16 bits) #define BMP085_CAL_AC3 0xAE // R Calibration data (16 bits) #define BMP085_CAL_AC4 0xB0 // R Calibration data (16 bits) #define BMP085_CAL_AC5 0xB2 // R Calibration data (16 bits) #define BMP085_CAL_AC6 0xB4 // R Calibration data (16 bits) #define BMP085_CAL_B1 0xB6 // R Calibration data (16 bits) #define BMP085_CAL_B2 0xB8 // R Calibration data (16 bits) #define BMP085_CAL_MB 0xBA // R Calibration data (16 bits) #define BMP085_CAL_MC 0xBC // R Calibration data (16 bits) #define BMP085_CAL_MD 0xBE // R Calibration data (16 bits) #define BMP085_CONTROL 0xF4 #define BMP085_TEMPDATA 0xF6 #define BMP085_PRESSUREDATA 0xF6 #define BMP085_READTEMPCMD 0x2E #define BMP085_READPRESSURECMD 0x34 class Adafruit_BMP085 { public: Adafruit_BMP085(); boolean begin(uint8_t mode = BMP085_ULTRAHIGHRES); // by default go highres float readTemperature(void); int32_t readPressure(void); int32_t readSealevelPressure(float altitude_meters = 0); float readAltitude(float sealevelPressure = 101325); // std atmosphere uint16_t readRawTemperature(void); uint32_t readRawPressure(void); private: int32_t computeB5(int32_t UT); uint8_t read8(uint8_t addr); uint16_t read16(uint8_t addr); void write8(uint8_t addr, uint8_t data); uint8_t oversampling; int16_t ac1, ac2, ac3, b1, b2, mb, mc, md; uint16_t ac4, ac5, ac6; }; #endif // ADAFRUIT_BMP085_H
Возможно ВЫ сможете мне помочь. Добрый день. Суть проблемы: подключил два датчика BMP180 к ардуине через мультиплексор, работают, но выдают верные показания только, если инициализация датчиков происходит при каждом обращении к конкретному датчику. Вопрос: судя по даташиту в датчиках стоит EEPROM (а как известно её ресурс ограничен), не могу найти внятного ответа на вопрос ПРОИСХОДИТ ЛИ ЗАПИСЬ в EEPROM при инициализации BMPшки.
Приветствую всех. Подскажите, как для этой библиотеки вводить корректировку на высоту над уровнем моря? К примеру я живу на высоте 123 м., а датчик показывает -57м. И даввление показывает всегда выше чем механический барометр. Заранее благодарен.