Народ, помогите, купил датчик BME/P(280), Код (C++): #include <Wire.h> #include <SPI.h> #include <Adafruit_Sensor.h> #include <Adafruit_BME280.h> #define BME_SCK 13 #define BME_MISO 12 #define BME_MOSI 11 #define BME_CS 10 #define SEALEVELPRESSURE_HPA (1013.25) //Adafruit_BME280 bme; // I2C //Adafruit_BME280 bme(BME_CS); // hardware SPI Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); void setup() { Serial.begin(9600); Serial.println(F("BME280 test")); if (!bme.begin()) { Serial.println("Could not find a valid BME280 sensor, check wiring!"); while (1); } } void loop() { Serial.print("Temperature = "); Serial.print(bme.readTemperature()); Serial.println(" *C"); Serial.print("Pressure = "); Serial.print(bme.readPressure() / 100.0F); Serial.println(" hPa"); Serial.print("Approx. Altitude = "); Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); Serial.println(" m"); Serial.print("Humidity = "); Serial.print(bme.readHumidity()); Serial.println(" %"); Serial.println(); delay(2000); } Нужно снять показания влажности, а он зараза не хочет. Пытался воспользоваться стандартным решением адрес I2C порта(0x77) поменять на 0x76. Не помогло. Датчик BME280 вообще не работает. А если использовать его как BMP280, то всё нормально. А в BMP280 не предусмотрена регистрация показаний влажности. Как быть? Вот схема пайки Использую arduino uno
Решение для китайских датчиков http://davidstein.cz/2017/09/30/arduino-bme280-could-not-find-a-valid-bme280-sensor-solved/ Есть в кратце, то Если не сработал фокус с указанием I2C адреса, то надо открыть библиотеку BMP280.cpp и закомментировать строчку return false; (строка номер 93) после if (read8(BMP280_REGISTER_CHIPID) != chipid)