Forum: Mikrocontroller und Digitale Elektronik 2 BMP085 Sensoren mit I2C Bus ansteuern


von donluis (Gast)


Lesenswert?

Hallo, ich möchte für eine Windmessung die beiden Luftdrucksensoren 
BMP085 mit dem µC Atmega328p ansteuern. Da der BMP085 mit dem I2C Bus 
mit dem µC kommuniziert und ich nur ein SCL und ein SDA PIN habe, muss 
ich beide Sensoren über die gleichen pins ansteuern.
Ich hatte erst gedacht die einzelnen Sensoren über andere digitalen Pins 
ein- und auszuschalten, sodass die Auslesefunktion immer nur die Daten 
vom eingeschalteten Sensor bekommt. Würde aber lieber die elegantere 
Variante nehmen und die Sensoren im Bussystem ansteuern.
Meine Frage ist jetzt, wie kann ich die Sensoren im Bussystem korrekt 
ansteuern?

von Jürgen E. (sid)


Lesenswert?

Hi donluis,

dein Post interessiert mich eigentlich gleich doppelt. Ich bin Flieger 
und verwende die BMP085 als Sensor für mein Vario und ich muss zur Zeit 
auch einen (wettertauglichen) Windmesser (inkl Windrichtung) bauen.

Zum Problem:
Du könntest den XCLR Port von einem Sensor low ziehen (Reset) während du 
den anderen auswertest. Ist nicht gerade die schönste Art, aber sollte 
gehen. Ich könnte mir aber vorstellen, dass du die Sensoren gleichzeitig 
arbeiten lassen willst (Sie brauchen ja immerhin ca 30ms). Da gibt es 2 
weitere alternativen:
1) (ebenfalls etwas gefummelt) Ein Analog-Switch/Multiplexer a la 4053D
2) Ein I2C Multiplexer a la PCA9540B. Den gibt es mit 2-8 Kanälen und 
auch mit INTs, also für das EOC  Signal.

Letzteres sollte genau das sein was du suchst. Aber zurück zum 
eigentlichen Projekt, wie willst du den Wind messen? Mittels 
Staudruckröhrchen?!

Gruß
Jürgen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.