BME280 not found – Adafruit Bibliothek

Ich habe die purple/lila-farbenen BME280 bei Amazon bestellt. Diese sind günstige Nachbauten ohne Levelshifter wie man sie bei z.b. Adafruit bekommt.Da ich den Sensor am esp8266 betreiben möchte ist ein Levelshifter nicht notwendig. Also wie immer Arduino gestartet, die Bibliothek „Adafruit BME280 Library“ mittels „Bibliotheken verwalten…“ hinzugefügt, das Beispiel kompiliert und hochgeladen und – es passierte nichts.

Wenn man mit dem esp8266-01 arbeitet sind zwei Dinge zu beachten:

1. Es werden die falschen Pins für den I²C/TWI-Bus ausgewählt.
Wenn Ihr mit den esp8266-01 arbeitet müsst ihr die Pins für den I²C/TWI-Bus wie folgt einbinden:

Wire.pins(0, 2); // for esp8266-01 -> set i2c Pins(GPIO0 -> SDA, GPIO2-> SCL)
Wire.begin();

2. Die günstigen Nachbauten horchen evtl. auf der Adresse 0x76 – Adafruit erwartet 0x77.
Die Adresse kann man in der Datei „Adafruit_BME280.h“ in Zeile 32 ändern:

/*=========================================================================
    I2C ADDRESS/BITS
    -----------------------------------------------------------------------*/
    #define BME280_ADDRESS                (0x77) // change to 0x76
/*=========================================================================*/

Habt ihr das alles beachtet und der Sensor wird noch immer nicht gefunden bzw. die Meldung „Could not find a valid BME280 sensor, check wiring!“ erscheint, lest die Chip-ID des Sensors mit folgenden Sketch aus:

#include <Wire.h>

void setup() {
  uint8_t cid=0;
  uint8_t i2c=0x76;
  uint8_t REG_cid=0xD0;
  Serial.begin(9600);
  Serial.println(F("BME280 get ChipID"));

  Wire.begin();
  Wire.beginTransmission(i2c);
  Wire.write(REG_cid);
  Wire.endTransmission();
  Wire.requestFrom(i2c,(byte)1);
  cid=Wire.read();
  
  Serial.print(F("Chip-ID: 0x"));
  Serial.println(cid,HEX);

}

void loop() {
  // put your main code here, to run repeatedly:
  
}

Erscheint hier etwas anderes als 0x60 dann ist es kein BME280. Mir wurden z.b. BMP280 geliefert welche die Chip-ID 0x58 haben.