Nodemcu + bmp280

в чем проблема вставить код как положено?
Нажимаете кнопку </> и вставляете код. И никаких проблем с кавычками

я так и делаю :frowning: Вы видимо не внимательно прочитали тему

делали бы - проблем бы не было

/***************************************************************************
  This is a library for the BMP280 humidity, temperature & pressure sensor

  Designed specifically to work with the Adafruit BMP280 Breakout
  ----> http://www.adafruit.com/products/2651

  These sensors use I2C or SPI to communicate, 2 or 4 pins are required
  to interface.

  Adafruit invests time and resources providing this open source code,
  please support Adafruit andopen-source hardware by purchasing products
  from Adafruit!

  Written by Limor Fried & Kevin Townsend for Adafruit Industries.
  MIT license, see LICENSE.txt for more information
 ***************************************************************************/

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_BMP280.h>

#define BMP_SCK  (13)
#define BMP_MISO (12)
#define BMP_MOSI (11)
#define BMP_CS   (10)

Adafruit_BMP280 bmp; // I2C
//Adafruit_BMP280 bmp(BMP_CS); // hardware SPI
//Adafruit_BMP280 bmp(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);

void setup() {
  Serial.begin(9600);
  while ( !Serial ) delay(100);   // wait for native usb
  Serial.println(F("BMP280 test"));
  unsigned status;
  //status = bmp.begin(BMP280_ADDRESS_ALT, BMP280_CHIPID);
  status = bmp.begin();
  if (!status) {
    Serial.println(F("Could not find a valid BMP280 sensor, check wiring or "
                      "try a different address!"));
    Serial.print("SensorID was: 0x"); Serial.println(bmp.sensorID(),16);
    Serial.print("        ID of 0xFF probably means a bad address, a BMP 180 or BMP 085\n");
    Serial.print("   ID of 0x56-0x58 represents a BMP 280,\n");
    Serial.print("        ID of 0x60 represents a BME 280.\n");
    Serial.print("        ID of 0x61 represents a BME 680.\n");
    while (1) delay(10);
  }

  /* Default settings from datasheet. */
  bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,     /* Operating Mode. */
                  Adafruit_BMP280::SAMPLING_X2,     /* Temp. oversampling */
                  Adafruit_BMP280::SAMPLING_X16,    /* Pressure oversampling */
                  Adafruit_BMP280::FILTER_X16,      /* Filtering. */
                  Adafruit_BMP280::STANDBY_MS_500); /* Standby time. */
}

void loop() {
    Serial.print(F("Temperature = "));
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");

    Serial.print(F("Pressure = "));
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");

    Serial.print(F("Approx altitude = "));
    Serial.print(bmp.readAltitude(1013.25)); /* Adjusted to local forecast! */
    Serial.println(" m");

    Serial.println();
    delay(2000);
}

да я Вас явно чем то задел.

Scanning…
I2C device found at address 0x76 !
done

/*
Тестировалось на Arduino IDE 1.8.5
Дата тестирования 26.10.2017г.
*/ 

#include <Wire.h>
 
void setup(){
    Wire.begin();    
 
    Serial.begin(115200);
    while (!Serial);
    Serial.println("\nI2C Scanner");
} 

void loop(){
    byte error, address;
    int nDevices;
 
    Serial.println("Scanning...");
 
    nDevices = 0;
    for(address = 8; address < 127; address++ ){
        Wire.beginTransmission(address);
        error = Wire.endTransmission();
 
        if (error == 0){
            Serial.print("I2C device found at address 0x");
            if (address<16)
                Serial.print("0");
            Serial.print(address,HEX);
            Serial.println(" !");
 
            nDevices++;
        }
        else if (error==4) {
            Serial.print("Unknow error at address 0x");
            if (address<16)
                Serial.print("0");
            Serial.println(address,HEX);
        } 
    }
    if (nDevices == 0)
        Serial.println("No I2C devices found\n");
    else
        Serial.println("done\n");
 
    delay(5000);
}


#include <Wire.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bmp; // I2C

void setup() {
Serial.begin(115200);
while (!Serial) delay(100);

Serial.println(F("BMP280 test"));
// Ограничение скорости I2C до 100 кГц
Wire.setClock(100000);

if (!bmp.begin(0x76)) {
Serial.println(F("Датчик не найден!"));
while (1) delay(10);
}

// Настройки датчика
bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
Adafruit_BMP280::SAMPLING_X2,
Adafruit_BMP280::SAMPLING_X16,
Adafruit_BMP280::FILTER_X16,
Adafruit_BMP280::STANDBY_MS_500);

Serial.println(F("Готово!\n"));
}

void loop() {
float temp = bmp.readTemperature();
float pressure_mmhg = bmp.readPressure() * 0.00750062;
float altitude = bmp.readAltitude(1012);

Serial.print(F("Temp: "));
Serial.print(temp);
Serial.println(F(" *C"));

Serial.print(F("Pressure: "));
Serial.print(pressure_mmhg);
Serial.println(F(" mmHg"));

Serial.print(F("Altitude: "));
Serial.print(altitude);
Serial.println(F(" m\n"));

delay(2000);
}

что то поменялось ?)))

Temp: 23.44 *C
Pressure: 616.83 mmHg
Altitude: 1716.22 m

это хорошо или плохо ?)))
вы в горах или нет ?
кхе кхе, скорее всего нет))) попробуйте добавить резистор для i2c

балбес, связь с модулем есть.

Какой стабильный датчик. Немецкое качество.

от 3.3 вольт! а что плохого в балбесе ?))) ну ленюсь я немного… у всех должны быть свои слабости!
ой я может быть опять с другим путаю датчиком…))) он кажется и работает только от 3.3 вольт…

tolyan77
а вы его проверяли на ардуино уно ?
а можете подсказать какое у вас сейчас
Какое давление в вашем регионе по данным погоды?


Может пора в ЧЧ?

751

но высота точно не почти 2000 метров:(

в чем сарказм?

Неужто не замечаете сов падение?

только две ноды:(

@tolyan77 есть возможность, поменяйте модуль bmp280, хоть понятно будет где копать.

Какое давление в вашем регионе по данным погоды?
высота высчитывается исходя из давления вроде, или нет ?
может где то в библиотеке надо указывать
… но искать и чистать мне лень)))

да блин уже второй модуль нужно менять, тут явно что то не то, есть bme280

я написал 751