BMP280 auslesen

#6996582
Lesenswert?

Hi,

ich bin Newcomer in Digitalelektronik und habe mir den BMP280 gekauft.
Ich habe keine wirklich guten Kenntnise und bisher nur Basics (Led 
blinken, UART in Richtung Mikrocontroller->PC,Timer,EXTIs) gemacht und 
möchte jetzt etwas anspruchsvollere Sachen machen. Meine Frage: Ich habe 
ein STM32F072B-Discovery und möchte damit den Luftdrucksensor 
ansprechen. Allerdings habe ich Tutorials nur von Leuten gefunden die 
Nucleo-Boards benutzen oder den Arduino verwenden. Könnte mir mal jemand 
erklären wozu die restlichen Pins außer VCC,GND,SCL und SDA da sind? Für 
I2C braucht man soweit ich dem Wikipediaartikel entlocken konnte nur 2 
Pins nämlich nur SCL und SDA.
Auf dem Sensor gibt es aber noch diese Pins:CSB und SDO. Dann habe ich 
diese Bibliothek gefunden: https://github.com/ciastkolog/BMP280_STM32 . 
Was die Adressen bedeuten sollen ist mir unklar. Die Benutzung der 
Bibliothek ist auch nur schlecht erklärt. Vorallem: Wie soll man 
verkabeln? Wenn jemand ein gutes Tutorial kennt oder mir das erklären 
kann.
Gast #6996591
Lesenswert?

> wozu die restlichen Pins außer VCC,GND,SCL und SDA ...

Also ich selbst fange bei einem mir unbekannten Teil immer mit dem 
Datenblatt an. Dort lese ich z.B. auf der ersten Seite:
1
Digital interfaces: 
2
- I²C (up to 3.4 MHz)
3
- SPI (3 and 4 wire, up to 10 MHz)
Wird folglich
> CSB und SDO
zu Letzterem gehören.
Gast #6997053
Lesenswert?

S. Landolt schrieb:
> Also ich selbst fange bei einem mir unbekannten Teil immer mit dem
> Datenblatt an. Dort lese ich z.B. auf der ersten Seite:Digital
> interfaces:
> - I²C (up to 3.4 MHz)
> - SPI (3 and 4 wire, up to 10 MHz)
> Wird folglich
>> CSB und SDO
> zu Letzterem gehören.

Falsch, wenn du mal selbst in das von dir genannte Datenblatt gucken 
magst, bevor du hier Unsinn verbreitest.
Bei Nutzung der I²C-Schnittstelle wird durch SDO das unterste Adressbit 
festgelegt.
#6997075
Lesenswert?

??? schrieb:
> wo erkennt man "...bis zu zwei..." in deinem Quelltexten/Beispielen?

Indem man sich die Library anschaut und auch einen Blick ins Datenblatt 
wirft. Schauen wir erstmal ins Datenblatt des BME/BMP280. Dann sehen 
wir, dass die I2C-Adresse des konkreten BME/BMP davon abhängt, auf 
welchem Potential der SDO-Pin liegt (oben auf Page 31 im Datasheet).
Dann gehst du in die Library und schaust dir mal die Funktionsargumente 
genauer an. Du wirst feststellen, dass jede Funktion einen Parameter 
namens "sensor" hat. Schaust du dir den Code dann noch genau an wirst du 
feststellen, dass "sensor" nur im Bereich 0 bis 1 liegen darf und da es 
sich dabei um einen Integer-Wert handelt können es also maximal 2 
Sensoren sein, die damit angesprochen werden können ;)
#6997121
Lesenswert?

Forist schrieb:
> M. K. schrieb:
>> https://github.com/Sylaina/bme280
>
> Das "examble" könnte mal überarbeitet werden. Das soll jetzt keine
> Kritik sein, sieht aber, je nach Blickwinkel, einfach nur albern oder
> peinlich aus 🤨

Was genau ist daran albern oder peinlich? Es legt drei Variablen, für 
Temperatur, Druck und Luftfeuchtigkeit, initialisiert den BME/BMP, liest 
die drei Werte aus und speichert sie in den Variablen. Es zeigt in 
einfachster Weise alles was man braucht um den BME/BMP zu benutzen. Was 
ist daran peinlich?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren