[Risolto] BMP280 - non funziona anche con indirizzo i2c cambiato

Ciao a tutti,
ho comprato un paio di questi sensori di pressione. Sono molto facili da montare.
Ho utilizzato la libreria di adafruitBMP280 e prima ho utilizzato I2CSCANNER per vedere su quale indirizzo era stato settato il sensore.
Infatti era messo sullo 0x76.
Ho modificato la libreria mettendo al posto di 0x77 il 0x76.
I collegamenti sono:

VIN → 3,3 volt
GND->GND
A5->SCL
A4-SDA

Ho testato anche il voltaggio ed è perfetto.

D’altra parte se fossero non corretti il i2Cscanner non avrebbe rivelato l’indirizzo giusto.

Uso una ARDUINO NANO.

Ebbene il programma di esempio BMP280_test di adafruit continua a dare il messaggio di errore:

Could not find a valid BMP280 sensor, check wiring!

Sinceramente non so più dove sbattere la testa.
Ho guardato decine di post e tutti cambiando indirizzo sono riusciti a farlo andare.
Ho provato anche a cambiare la chiamata alla BEGIN mettendo l’indirizzo da li ma niente da fare.

Questo il codice:

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

  Designed specifically to work with the Adafruit BMEP280 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.  
  BSD license, all text above must be included in any redistribution
 ***************************************************************************/

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

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

Adafruit_BMP280 bme; // I2C
//Adafruit_BMP280 bme(BMP_CS); // hardware SPI
//Adafruit_BMP280 bme(BMP_CS, BMP_MOSI, BMP_MISO,  BMP_SCK);
  
void setup() {
  Serial.begin(9600);
  Serial.println(F("BMP280 test"));
  
  if (!bme.begin(0x76)) {  
    Serial.println("Could not find a valid BMP280 sensor, check wiring!");
    while (1);
  }
}
  
void loop() {
    Serial.print("Temperature = ");
    Serial.print(bme.readTemperature());
    Serial.println(" *C");
    
    Serial.print("Pressure = ");
    Serial.print(bme.readPressure());
    Serial.println(" Pa");

    Serial.print("Approx altitude = ");
    Serial.print(bme.readAltitude(1013.25)); // this should be adjusted to your local forcase
    Serial.println(" m");
    
    Serial.println();
    delay(2000);
}

In allegato al foto del progetto.
Qualcuno ha qualche idea ?

Grazie in anticipo
Ciao

Quello di Adafruit funziona anche a 5V https://learn.adafruit.com/adafruit-bmp280-barometric-pressure-plus-temperature-sensor-breakout/arduino-test Quello che hai comprato viene dato solo per i 3,3v ? Dal pin 3,3v di Arduino escono pochi milliampere, magari non bastano.

Ciao. ho provato anche a 5 volt e i2cscanner funziona benissimo mentre il test continua a darmi lo stesso messaggio. Non capisco come sia possibile che legga l'indirizzo e poi non funzioni.

Ho notato che dalla porta 5 volt mi escono 4,7 volt e dal pin VIN mi escono 4,3 volt. Possibile qualche problema con arduino nano ?

Mi spargo il capo di cenere.
Il chip è marchiato BMP280 ma andando a vedere l’ordine che avevo fatto su AliExpress ho visto che avevo comprato i BME280…
Funziona tutto ora chiaramente.
Lasciamo questo post che magari qualcuno ci casca come me nel futuro !

Ciao