Neu im Shop: BME280 Sensor - AZ-Delivery

Heute möchten wir Ihnen das BME280 Sensor-Modul vorstellen.

 

Das Modul ist mit einem Umgebungssensor von Bosch bestückt. Dieser vereint die 3 verschiedenen Sensortypen: Drucksensor, Luftfeuchtigkeitssensor und Temperatursensor. Dies alles in einem kleinen 8-Pin-Gehäuse.

Dieser befindet sich auf einer kleinen Platine mit 4 Pins: VIN, GND, SCL und SDA.

Das macht es sehr einfach den Sensor über I²C mit einem Mikrocontroller zu verbinden.

Wir verwenden in diesem Beispiel einen AZ-Delivery Mikrokontroller, kompatibel mit Arduino Uno-R3

Dabei verbinden wir folgende Pins:

AZ-Delivery Mikrokontroller, kompatibel mit Arduino Uno R3

BME280 Modul

3,3v

VIN

GND

GND

SCL

SCL

SDA

SDA

 

Wir nutzen für unser Projekt 2 Libraries von Adafruit: „Adafruit Unified Sensors“ und „Adafruit BME280 Library“

 

Falls diese noch nicht installiert sind kann man diese am einfachsten über den Bibliotheksverwalter der Arduino IDE einbinden.

 

Dann über „Datei“ → „Beispiele“ → „Adafruit BME280 Library“ → „bme280test“ den Testsketch öffnen.

Nachdem der Sketch kompiliert und hochgeladen ist, öffnen wir den seriellen Monitor durch klicken auf das Symbol rechts oben (Oder mit der Tastenkombination Strg+Shift+M):

 

Falls nun wie hier die Meldung „Could not find a valid BME280 sensor, check wiring!“ erscheint, muss im Sketch eine Zeile angepasst werden.

 

status = bme.begin();

auf

status = bme.begin(0x76);

 

 

Nun wird der Sensor korrekt ausgelesen:

 

 

Wir hoffen, dass Ihnen unser heutiger Blogbeitrag mit dem neuen BME280 Sensor gefallen hat, und wir freuen uns auf Ihre Kommentare. Bis zum nächsten Beitrag von AZ-Delivery, Ihrem Experten für Mikroelektronik!

ProduktvorstellungenSensoren

4 Kommentare

Lollo7579

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

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

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

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

Kommentar hinterlassen

Alle Kommentare werden von einem Moderator vor der Veröffentlichung überprüft

Empfohlene Blogbeiträge

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery