Druck-,Temperatur,Feuchtemessung mit BMP280/BME280 - Z-Uno - SmartHome Z-Wave Modul

Direkt zum Seiteninhalt

Druck-,Temperatur,Feuchtemessung mit BMP280/BME280

-> Druck-,Temp.-Messung
Beschreibung:
Diese Z-Wave-Baugruppe realisiert eine Druck-,Temperatur- und ggf. Feuchtigkeitsmessung über einen BMP280/BME280 Sensor.
Der BME280 kann zusätzlich Feuchtigkeit messen - im nichtkondensierenden Bereich.

Beide Sensoren (nachfolger des bekannten BMP180) können per SPI oder I²C angebunden werden.
In dem Code-Beispiel wird I²C verwendet, der entsprechende Sensor wird automatisch erkannt.

Die Sensoren eignen sich hervorragend für den Batteriebetrieb, da sie einen sehr geringen Stromverbrauch, eine geringe untere Betriebsspannungsgrenze (1,71V) besitzen und die Messungen schnell durchführen.

Die Bibliotheken aus dem Projekt sollten vorerst im Projektordner bleiben (bis sie im Z-Uno integriert wurden), um bei einem Update diese nicht zu verlieren.

Die BME280 Bibliothek erkennt automatisch, ob ein BMP280 oder BME280 verwendet wird.
Dadurch ist diese universell einsetzbar.

Weitere Beispiele findet man unter http://z-uno.z-wave.me/examples/
Aufbau
(Fritzing)

(folgt bald)

VCC: ab 2,7V !
batterietauglich
Schaltplan:
(Fritzing)
(folgt bald)

Arduino Code: (Arduino 1.6.5)

Download Code und Bibliothek
(in das Arbeitsverzeichnis kopieren)
// BETA VERSION der Bibliothek!
/*
Sample code for Bosch sensors BMP280 / BME280

- Temperature/ Pressure for BMP sensor
- Temperature/ Pressure /Humidity for BME sensor

- Automatic detection of sensor type

BMP / BME address is defined for 0x76, so connect
for BME: [SCO] to [GND]
for BMP: [SDO] to [GND]
(or edit BME.h file)

composed by Michael Pruefer, z-uno.smarthome.work
version 0.91     18.12.2016 initial version
*/


#include "ZUNO_BME280.h"

BME280 bme;

void setup()
{
  Serial.begin();

  bme.begin();
  bme.setOversampling(4);

}

void loop()
{
  char result = bme.startMeasurement();

  Serial.print("Sensor Type");
  if(bme.chip_id == 96) Serial.println("BME 280");
  else Serial.println("BMP 280");
  Serial.print("Temperature ");Serial.print(bme.getTemperature100()/100.00); Serial.println(" C");
  Serial.print("Pressure    ");Serial.print(bme.getPressure100()/100); Serial.println(" hPa");
  if(bme.chip_id == 96) {Serial.print("Humidity    ");Serial.print(bme.getHum()); Serial.println(" %");}
  Serial.println("----------");
  delay(5000);
}
Copyright 2018 Michael Prüfer
Zurück zum Seiteninhalt