Der Sensor BME280 misst Temperatur, Luftdruck und Luftfeuchtigkeit.
Anhand des standardmäßigen Luftdrucks auf Meereshöhe von 1013,25 hPa im Verhältnis zum gemessenen Luftdrucks berechnet der Sensor die ungefähre Höhe des Standortes.
Die Ausgabe erfolgt im Seriellen Monitor.

Verschiedene BME280-Sensoren
![]() | ![]() |
| DFRobot BME280 | GY-BME280 |
Beim GY-BME280 entscheidet der Anschluss SDO über die HEX-Adresse:
Wird der Pin mit 5V/3,3V verbunden, ändert sich die HEX-Adresse auf 0x77, die Standard-Adresse ist 0x76.
Die HEX-Adresse kannst du mit diesem ⇒Programm herausfinden.
Benötigte Bauteile
- BME280
- Leitungsdrähte
Der Schaltplan
Baue die Schaltung auf.

Benötigte Bibliothek installieren

Das Programm
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #include “Adafruit_BME280.h” #define MeeresHoehe (1013.25) // Name des BME280 Adafruit_BME280 bme; void setup() { Serial.begin(9600); // auf Serielle Verbindung warten while (!Serial); delay(1000); // BME280 starten, bei Misserfolg Meldung anzeigen if (!bme.begin(0x76)) { Serial.println(“BME280 nicht verbunden”); Serial.println(“Verkabelung und/oder HEX-Adresse prüfen!”); Serial.println(“Start mit möglichen HEX-Adressen:”); Serial.println(“bme.begin(0x76);”); Serial.println(“bme.begin(0x77);”); Serial.println(“Programm wird beendet!”); while(1); } else Serial.println(“BME280 erfolgreich gestartet!”); } void loop() { /* Daten erfassen die Daten liegen als Zahlen im Format float vor für die weitere Verarbeitung werden sie direkt in eine String umgewandelt */ String Temperatur = String(bme.readTemperature()); String Luftfeuchtigkeit = String(bme.readHumidity()); String ungefaehreHoehe = String(bme.readAltitude(MeeresHoehe)); String Luftdruck = String(bme.readPressure() / 100.0); // float verwendet den . als Dezimaltrennzeichen // . mit replace durch , ersetzen Temperatur.replace(“.”, “,”); Luftdruck.replace(“.”, “,”); Luftfeuchtigkeit.replace(“.”, “,”); ungefaehreHoehe.replace(“.”, “,”); // Daten im Serieller Monitor anzeigen Serial.print(“Temperatur: ”); Serial.println(Temperatur + ” °C”); Serial.print(“Luftdruck: ”); Serial.println(Luftdruck + ” hPa”); Serial.print(“Luftfeuchtigkeit: ”); Serial.println(Luftfeuchtigkeit + ” %”); Serial.print(“ungefähre Höhe: ”); Serial.println(ungefaehreHoehe + ” m”); Serial.println(“————————–”); delay(5000); } |
Letzte Aktualisierung:

