BME280 1-Wire Sensor
BME280 1-Wire Sensor mit Hilfe des DS28E17 als Bus-Bridge
Die Auswahl an guten Feuchtigkeitssensoren auf dem Markt scheint relativ klein. So konnte der DHT22 zum Beispiel nicht wirklich überzeugen. Auf der Suche nach etwas Neuem fiel der BME280 ins Auge. Leider verfügt dieser nur über eine I2C Schnittstelle, die bekanntermaßen nicht für lange Leitungslängen ausgelegt ist. Um den Sensor auf 1-Wire umzubauen, musste also ein Bus-Konverter herhalten. Fündig wird man bei Dallas, dem Erfinder der 1-Wire Lösungen. Mit dem DS28E17 lassen sich ICs mit I2C Schnittstelle einfach per 1-Wire ansprechen. Damit lässt sich jeder I2C Sensor in bestehende 1-Wire Bussysteme integrieren. Wer also schon ein Netzwerk aus DS18B20 Temperatursensoren hat, kann dieses einfach mit zusätzlichen Sensoren bestücken. Leider ist das Löten aufgrund der kleinen Abmessungen und Gehäuseart nicht für Anfänger geeignet.
Update 2021:
Ich habe inzwischen das Layout angepasst, so dass die BME280 und BME680 Versionen die gleiche Größe haben und zum DHT22 Gehäuse passen.
In der Library habe ich Beispiele zum einfacheren Verständnis zum Suchen und Auslesen von mehreren Sensoren hinzugefügt. Wer nur diesen Sensortyp benutzt muss die Sensoren nicht zwingend per ID ansprechen, in diesem Fall können wir den DS28E17 am Family Code 0x19 von anderen Sensoren am Bus unterscheiden. Klar sollte sein, dass der Bus bei der Benutzung eines DS28E17 Übersetzers nicht weiß was für ein Sensor dahinter hängt. Sobald wir also verschiedene Sensoren mit DS28E17 bauen, müssen wir sie immer direkt per ID ansprechen um jeden Sensor individuell auslesen zu können. In einem größeren OneWire Netzwerk würde ich allgemein empfehlen alle Sensoren per ID anzusprechen, um überhaupt den Überblick zu behalten.
Details:
Platinengröße: 19x14mm
Platinenkosten: ca. 15EUR (China)
DS28E17 ~2-3EUR
BME280 ~6,50-7,50EUR
Downloads:
Eagle PCB Dateien: bme280_eagle.zip
Gerber Dateien: bme280_gerber.zip
Arduino Library: BME280_OneWire.zip