zwei oder mehr SDP610 Drucksensor Schnittstelle mit Arduino uno mit I2C

Ich habe einen SDP610-Drucksensor mit I2C mit Arduino Uno R3 verbunden. Jetzt möchte ich mehr als einen Sensor mit demselben Controller (Uno-Board) verbinden. Ich finde in meinem Sensordatenblatt keine höhere oder niedrigere Adresse. In meinem Code steht die Adresse des Sensors

typedef enum { eSDP6xAddress = 0x40, //(64) } PRES_SENSOR_P;

Die I2C-Adresse besteht aus einem 7-stelligen Binärwert. Standardmäßig ist die I2C-Adresse auf 64 (binär: 1000 000) eingestellt. Der Adresse folgt immer ein Schreibbit (0) oder Lesebit (1). Der standardmäßige hexadezimale I2C-Header für den Lesezugriff auf den Sensor ist daher h81.

aus Abschnitt 3.2 im SDP610-Datenblatt

Gibt es Möglichkeiten, die Adresse des SDP610-Sensors zu ändern und eine Verbindung mit demselben I2C-Bus herzustellen?

Antworten (2)

Sie können die I 2 C-Slave-Adresse in diesem Sensor nicht ändern. Es ist innen fest verdrahtet.

Wenn Sie mehrere dieser Sensoren haben möchten, haben Sie folgende Möglichkeiten:

  1. Erstellen Sie separate I 2 C-Busse. Einer von ihnen kann bit-banged werden.
    [Trotzdem weiß ich nicht, wie gut die Arduino-Bibliotheken dies unterstützen können.]
  2. Multiplexen des I 2 C-Busses. Wenn Sie jeweils nur einen SDP610 anschließen, kommt es zu keiner Adresskollision.
  3. Verwenden Sie einen I 2 C-Adressenübersetzer .

Verwandte Themen
i2C-Multiplexer zur Verwendung mehrerer Sensoren des gleichen Typs
Wie verbinde ich mehrere gleiche Geräte mit einem Arduino über I2C?

Dank Nick und whisk.i werde ich mit dem I2C-Multiplexer weitermachen.

Laut dieser Frage auf dem Raspberry Pi Stack Exchange kann die I²C-Adresse des SDP610 neu programmiert werden, aber der Hersteller veröffentlicht diese Details nicht öffentlich, da die Möglichkeit besteht, dass das Gerät zerstört wird, wenn dies falsch gemacht wird:

Mehrere Differenzluftdrucksensoren mit I²C-Bus?

Wenn Sie diesem Prozess nicht folgen wollen (oder können), dann gibt es hier mehrere vorherige Fragen, die die Verwendung von I²C-Multiplexern, Schaltern und Adressübersetzern erklären - die es Ihnen alle ermöglichen können, mehrere Sensoren mit demselben I²C zu verwenden Adresse, mit unterschiedlichem Aufwand und Kosten zB:

Wie löse ich I2C-Adresskonflikte?

Wie verbinde ich mehrere gleiche Geräte mit I2C mit einem Arduino?