# HM-WDS40-TH-I-BME280

Temperatur-/Luftfeuchtesensor auf Basis des Bosch BME280.

BME280 auf HB-UNI-Bat PCB

Der BME280 unterstüzt eigentlich auch die Erfassung des Luftdrucks, allerdings müsste dafür ein DeviceAddon auf der CCU installiert werden weshalb dies nicht Teil dieses Projekts ist. Der HB-UNI-Sensor1 (opens new window) von Tom ist eine gutes Beispiel für einen universell einsetzbaren Sensor.

TIP

Möchte man den Temperatursensor an einen HM-CC-RT-DN Heizkörperthermostat anlernen, benötigt man genauere Timings und muss auf einen externen Taktgeber zurückgreifen.

Das HMSensor WDS40-RTC Projekt kann mit einem 32kHz Oszillator bestückt werden.

# Hardware

  • Arduino Pro Mini 8Mhz 3.3V
  • CC1101 Funkmodul
  • Taster 6x6
  • Led 5mm
  • 100Ω Widerstand
  • BME280 I2C Breakout Board (kein SPI)
  • Batteriehalter

Es gibt BME280 Boards für 3.3V ohne LDO was etwas Arbeit spart.

# Platine

Je nach Zweck gibt es hier verschiedene Optionen:

In diesem Beispiel wird die HB-UNI-Bat von Ronny verwendet.

# Babbling Idiot

Damit es bei abfallender Battriespannung zu keinem Dauersenden kommt, wird die BOD über die Fuse-Bits des Arduino deaktiviert, siehe Babbling Idiot. Am besten setzt man die Fuses direkt nach Einlöten der Stiftleiste, da man diese zum Anschluss des ISP über Jumperwires nutzen kann.

# Stromverbrauch optimieren

Der Ruhestrom kann drastisch gesenkt werden:

BME280 LDO removed
Im Bild zu sehen: Der LDO ist entfernt und eine Lötbrücke wurde am Level-Shifter gesetzt.

Statt die Lötbrücke am Level-Shifter zu setzen, kann man aber auch den ausgelöteten LDO überbrücken (opens new window), d.h. das 5V- mit dem 3.3V-Pad verbinden.

# Aufbau

Der Aufbau gestaltet sich simpel: Wie gewöhnlich wird der CC1101, die Status-LED und der Taster nach der allgemein gültigen Verdrahtung angeschlossen bzw. anhand der gewählten Platine bestückt.

Die vier Anschlüsse des BME280-Boards:

  • VIN: 3V Betriebsspannung, kann vom VCC PIN des Arduino genommen werden.
  • GND
  • SCL: I2C Taktleitung, wird an PIN A5 des Arduino angeschlossen.
  • SDA: I2C Datenleitung, wird an PIN AA des Arduino angeschlossen.

Einige Platinen bieten entsprechende Lötpunkt an, wodurch der BME280 direkt per Stiftleiste aufgelötet werden kann.

Verdrahtung

# Gehäuse

Case Jan

# Sketch

Als Sketch kommt HM-WDS40-TH-I-BME280 (opens new window) von Jérôme zum Einsatz. Wie immer dran denken die Serial und ID zu ändern.

Zusätzlich zu den üblichen Bibliotheken (AskSinPP, EnableInterrupt, Low-Power) benötigt man noch die Lib für den BME280 (opens new window). Allerdings hatte ich hier noch einen Fehler beim kompilieren (opens new window) weshalb ich die BME280Spi*.o Dateien gelöscht habe.

# Betrieb

Im Sketch ist ein ConfigButton definiert weshalb der neue Aktor per kurzem Tastendruck in den Anlernmodus gebracht werden kann.

CCU Darstellung

# Weiteres

  • Der BME280 ist etwas träge, gib ihm ein paar (mehr) Minuten damit sich die Temperatur einpegelt.
  • Das Projekt ist auch recht schön auf technikkram.net (opens new window) beschrieben. Leider fehlt hier die Babbling Idiot Protection.
  • Solltest du Anmerkungen oder Probleme mit dem Nachbau haben, lass es mich bitte wissen damit dieses Projekt verbessert werden kann.