Forum: Mikrocontroller und Digitale Elektronik GY-BME280 mit Arduino benutzenIch möchte den Wettersensor GY-BME280 mit Arduino benutzen


von Dietrich J. (sprotte24)


Angehängte Dateien:

Lesenswert?

Ich möchte GY-BME280 an einem Arduino Uno (Funduino) anschließen und 
benutzen.
In erster Linie geht es erst einmal um die Kompatibilität der Spannungen 
5V/3.3V.
Der GY soll doch eigentlich einen Spannungsadapter on Board haben? Ich 
sehe aber keinen.

Ist es kein "echter" GY-BME280?

Der Arduino stellt mit ja wahlweise +5V und +3.3V zur Verfügung.
Wann und wie muss ich auf dem Arduino den Pin VIN benutzen?
Brauche ich Pullup-Widerstände, oder gibt es beim Arduino interne, die 
ich nur freischalten muss?
Verträgt der echte GY... 5V, so dass ich ihn mit 5V am Aduino betreiben 
kann?
Ist es zulässig, den BME280 am Arduino an 33.V zu betrieben? Ich 
fürchte, die Signale sind dann nicht 5V-kompatibel?
Bislang wird der Sensor nicht gefunden.

Gruß
Dietrich

von Helmut -. (dc3yc)


Lesenswert?

In so einem Fall hilft erst mal, das Datenblatt des Sensors zu lesen! 
https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf
Da findet man, dass der nur für max. 3.6V gedacht ist. Pullups sind auf 
dem Board schon drauf, allerdings für 3.3V zu gross. Wenn es 10k sind, 
dann schalte noch 4k7 dazu parallel. Denke auch dran, dass der BME280 
nicht die Umgebungstemperatur liefert, sondern die Chiptemperatur, die 
je nach Einbauort, doch bis zu 5°C zu hoch sein kann. Steht alles im 
Datasheet...

von Rainer W. (rawi)


Lesenswert?

Dietrich J. schrieb:
> Verträgt der echte GY... 5V, so dass ich ihn mit 5V am Aduino betreiben
> kann?

Das kommt drauf an, wie beim echten GY-BME280 die Schaltung aussieht 
(Schaltplan). Der BME280 verträgt als Versorgung jedenfalls maximal 
3.6V, sowohl für VDD als auch für VDDIO.

> Brauche ich Pullup-Widerstände, oder gibt es beim Arduino interne, die
> ich nur freischalten muss?

Das kommt drauf an, ob du das SPI- oder das I2C-Interface des BME280 
benutzen möchtest.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Dietrich J. schrieb:
> Ich möchte

Fängt es nicht mit einer Anleitung an?
z.B. hier: 
https://funduino.de/nr-23-bme280-luftdruck-luftfeuchtigkeits-und-temperatursensor

Zudem rate ich zu einem I2C Levelshifter

: Bearbeitet durch User
von Rolf (rolf22)


Lesenswert?

Dietrich J. schrieb:
> Ist es kein "echter" GY-BME280?

"Echt" impliziert, dass ein Hersteller ein Modul mit exakt dieser 
Bezeichnung (auf dem Foto sieht man eine andere) angeboten hat. Dann 
gibt es auch ein Hersteller-Datenblatt dazu.

Datenangaben bei eBay, Ali, Amazon, ... sind z. T. reine Phantasie.

von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Dietrich J. schrieb:
> Der GY soll doch eigentlich einen Spannungsadapter on Board haben? Ich
> sehe aber keinen.

Ich auch nicht. Der "Spannungsadapter", was auch immer du damit genau 
meinst, ist bei einseitig bestückten Platinen eher auf der (geheimen) 
Bestückungsseite der Platine zu erwarten, nicht auf der Rückseite ;-)

> GY-BME280-2.jpg
> GY-BME280-1.jpg

Die GY-BME280 auf deinen Bildern - ich sehe keinen Unterschied zwischen 
den beiden - sind wohl beides 3.3V Versionen.

Die GY-BME280 für 5V sehen gewöhnlich wie die auf dem angehängten Photo 
(Vor- und Rückseite) aus.

: Bearbeitet durch User
von Dietrich J. (sprotte24)


Angehängte Dateien:

Lesenswert?

Helmut -. schrieb:
> In so einem Fall hilft erst mal, das Datenblatt des Sensors zu lesen!
> 
https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf
> Da findet man, dass der nur für max. 3.6V gedacht ist. Pullups sind auf
> dem Board schon drauf, allerdings für 3.3V zu gross. Wenn es 10k sind,
> dann schalte noch 4k7 dazu parallel.

Danke.
Ich vermute, auf Grund des Datenblattes hab ich erkannt, dass auf meinem 
Board ein rechteckiger Sensor sitzt und kein quadratischer.
Das bedeutet, dass es kein BME, sondern ein BMP ist?

Ich habe mal das BME-Projekt von www.arduino.de geladen.
Es läuft, aber alle 3 Daten für Druck, Temperatur und Feuchte sind 0.

Gruß
Dietrich

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Dietrich J. schrieb:
> Ich habe mal das BME-Projekt von www.arduino.de geladen.
> Es läuft, aber alle 3 Daten für Druck, Temperatur und Feuchte sind 0.

Lebt dein Sensor denn noch oder hast du ihn mit den 5V gekillt. Beide 
vertragen laut Absolute Maximum Ratings für beide Versorgungen maximal 
4,25V.

> Das bedeutet, dass es kein BME, sondern ein BMP ist?

So wird es sein. Der BME280 sollte Abmessungen von 2,5 x 2,5 mm 
besitzen, der BMP280 2,0 x 2,5 mm.

> Ich habe mal das BME-Projekt von www.arduino.de geladen.

Für einen BMP280 erscheint das wenig sinnvoll. Bist du sicher, dass der 
BMP mit der BME Software laufen müsste?

: Bearbeitet durch User
von Dietrich J. (sprotte24)


Lesenswert?

Rainer W. schrieb:
> Dietrich J. schrieb:
>> Ich habe mal das BME-Projekt von www.arduino.de geladen.
>> Es läuft, aber alle 3 Daten für Druck, Temperatur und Feuchte sind 0.
>
> Lebt dein Sensor denn noch oder hast du ihn mit den 5V gekillt. Beide
> vertragen laut Absolute Maximum Ratings für beide Versorgungen maximal
> 4,25V.
>
>> Das bedeutet, dass es kein BME, sondern ein BMP ist?
>
> So wird es sein. Der BME280 sollte Abmessungen von 2,5 x 2,5 mm
> besitzen, der BMP280 2,0 x 2,5 mm.
>
>> Ich habe mal das BME-Projekt von www.arduino.de geladen.
>
> Für einen BMP280 erscheint das wenig sinnvoll. Bist du sicher, dass der
> BMP mit der BME Software laufen müsste?

Anhand des .ino-Codes vom Funduino-Projekt 23 habe ich die Anschlüsse 
mit 4 Leitungen, Gnd, +3.3V, SCL und SDA gemacht. Keine 
Pullup-Widerstände.

Nein, der Code ist nicht ganz der selbe:
BMP benutzt eine andere Library wie der BME.

Das ganze stellt lediglich ein Übungsprojekt dar. Nur für den 
Wettersensor würde ich ansonsten eher einen kleineren Arduino oder einen 
ESP 32 verwenden.

Noch immer bleibt mir ein wenig unklar, ob der geschilderte Anschluss 
zwischen Arduino und dem Sensor per I2C nun regelkonform ist oder ich 
nur Glück habe, dass es funktioniert für den Aduino mit +5V und den BMP 
mit +3.3V. Immerhin ja ein Vorschlag von Funduino.

Viele Grüße
Dietrich

von Rainer W. (rawi)


Lesenswert?

Dietrich J. schrieb:
> Anhand des .ino-Codes vom Funduino-Projekt 23 habe ich die Anschlüsse
> mit 4 Leitungen, Gnd, +3.3V, SCL und SDA gemacht. Keine
> Pullup-Widerstände.

I2C funktioniert ohne Pull-Up Widerstände nicht. Die Widerstände sorgt 
für den (rezessiven) High-Pegel. Ob die Widerstände auf dem GY-BMP für 
deine Busverkabelung und deine Busgeschwindigkeit evtl. ausreichend 
sind, siehst du an der Signalform.

> Noch immer bleibt mir ein wenig unklar, ob der geschilderte Anschluss
> zwischen Arduino und dem Sensor per I2C nun regelkonform ist ...

Was regelkonform ist, steht in der I2C Spezifikation:
https://www.nxp.com/docs/en/user-guide/UM10204.pdf

: Bearbeitet durch User
von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Dietrich J. schrieb:
> Noch immer bleibt mir ein wenig unklar,

Dann ist dir nicht zu helfen!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.