Oggi vorremmo che fosse così. BME280 Sensor - Modulo immagini.
Il modulo è dotato di un sensore di ambiente di boschina. Questa unisce i tre diversi tipi di sensori: sensore di pressione, sensore di umidità e sensore di temperatura. Tutto questo in un piccolo enclosure a 8 pin.
Questo si trova su una piccola platina con 4 pin: VIN, GND, SCL e SDA.
Questo rende il sensore molto semplice da collegare con un microcontrollore tramite I2C.
In questo esempio, utilizziamo un AZ - Delivery MikrConcontroller compatibile con Arduino Uno - R3.
A questo proposito, collegando i seguenti pin:
AZ - Delivery MikrConcontroller compatibile con Arduino Uno R3 R3 |
Modulo BME280 |
3,3v |
VIN |
GND |
GND |
SCL |
SCL |
SDA |
SDA |
Stiamo usando per il nostro progetto 2 Librerie di Adafruit: "Adafruit Unified Sensors" e "Adafruit BME280 Library".
Se questi non sono ancora installati, è possibile collegarli al più facilmente possibile tramite l'amministratore della libreria di Arduino IDE.
A questo punto, selezionare "File" → "Esempi" → "Adafruit BME280 Library" → "bme280test" per aprire il chetch di test.
Quando lo Sketch è stato compilato e caricato, apriamo il controllo seriale facendo clic sull'icona in alto a destra (o Ctrl + Shift + M):
Se il messaggio "Could not find a valid BME280 sensor, check wiring!" viene visualizzato, è necessario modificare una riga nello Sketch.
status = bme.begin ();
a
status = bme.begin (0x76);
Ora il sensore viene letto correttamente:
Ci auguriamo che il nostro contributo al blog di oggi con il nuovo BME280 Sensor - e siamo felici di ricevere i vostri commenti. Fino al prossimo contributo di AZ - Delivery, il suo esperto di microelettronica!
4 commenti
Lollo7579
Hatte das selbe Problem wie foto2004 an einem ESP32 Wroom bis mir die Idee kam SCA & SCL mal zu tauschen und siehe da Sensor läuft. ;-)
Simon Kellner
Habe den Sensor zuerst auch mit I2C-Adresse 0×76 nicht zum Laufen bekommen.
Habe dann die Adafruit-Library erweitert, um vorab die Chip-ID auszulesen.
Diese war nicht 0×58 (Default in Adafruit) sondern 0×60. Danach wurden auch die Werte ausgelesen.
→ status = bme.begin(0×76, 0×60);
foto2004
Also ich bekomme das Teil absolut nicht zum laufen.
Ich habe es an einem ESP-32 NodeMCU Developmentboard :
VIN = 3V3
GND = GND
SCL = G5
SDA = G4
Hat da jemand eine Idee, es kommt bei mir in dem Testsketch immer dass er das Board nicht finden kann. Habe auch schon versucht die Adresse zu ändern ohne Erfolg .
Dino Schmitz
Hallo,
eine Frage zum Raspberry (3b mit aktuellem Rasbian Stretch). Mit den i2ctools (i2cdetect -y 1) wird der Sensor bei mir erkannt mit adresse x76. Bei Ansprache unter Python wird unabhängig von der verwendeten Bibliothek ein Fehler geworfen. Z.B.:
File “bme280.py”, line 56, in readBME280ID
(chip_id, chip_version) = bus.read_i2c_block_data(addr, REG_ID, 2)
IOError: [Errno 121] Remote I/O error
Ist eine funktionierende Bibliothek bekannt oder gibt es eine andere Lösung?
Vielen Dank