Anzeige Serieller Monitor
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 62 | #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); } |
Anzeige LCD
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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | #include “Adafruit_BME280.h” #include “LCDIC2.h” // 4‑zeiliges LCD LCDIC2 lcd(0x27, 20, 4); #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!”); // LCD starten lcd.begin(); // Cursor “verstecken” lcd.setCursor(false); } 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(“————————–”); // Anzeige LCD \337C = ° lcd.setCursor(0, 0); lcd.print(Temperatur + ” \337C”); lcd.setCursor(0, 1); lcd.print(Luftdruck + ” hPa”); lcd.setCursor(0, 2); lcd.print(Luftfeuchtigkeit + ” %”); lcd.setCursor(0, 3); lcd.print(ungefaehreHoehe + ” m”); delay(5000); } |
Letzte Aktualisierung: