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.
Moin, - ist zwar nur der BME280, aber hier ein kleines Tutorial: https://controllerstech.com/bme280-with-stm32/ Die Duko von Bosch ist nicht so schlecht, kannst Du in ca. 1h durchprogrammieren. Viel Erfolg, Gruesse Th.
> 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.
Falls Du lesen kannst, unter https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/bmp280/#documents findest Du alles. Th.
> ... Adressen ...
Auch hier sei wieder auf das Datenblatt verwiesen, unter '5. Digital
Interfaces'.
Für I2C hab ich ne Library geschrieben mit der man bis zu zwei BME/BMP 280 in einem Bus benutzen kann: https://github.com/Sylaina/bme280 I2C Funktionen sind für AVRs, für andere System muss die I2C-Library nur angepasst werden. Vielleicht hilft das ja.
Thomas W. schrieb: > Falls Du lesen kannst, unter > > https://www.bosch-sensortec.com/products/environmental-sensors/pressure-sensors/bmp280/#documents > > findest Du alles. > > Th. Ich denke ich kann das.😁
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.
M. K. schrieb: > Für I2C hab ich ne Library geschrieben mit der man bis zu zwei BME/BMP > 280 in einem Bus benutzen kann: wo erkennt man "...bis zu zwei..." in deinem Quelltexten/Beispielen?
??? 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 ;)
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 🤨
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?
Huch, wie konnte mir denn das unterlaufen. Upsala . Danke für den Hinweis, da hast du völlig recht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.