Mehrere Sensoren gleichen Typs am i2c-Bus

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Leute,

    ich habe mich in den letzten Tagen als absoluter Neuling ein wenig durch Python und das Auslesen von Sensoren am i2c-Bus gekämpft. Ursprünglich wollte ich an jeden Sensor einen Arduino Nano hängen und diesen dann mit dem Raspi kommunizieren lassen. Das stellte sich aber als schwieriger heraus als ich dachte. Die Lösung, den Sensor direkt am Raspi anzuschließen war dann doch leichter umzusetzen. Habe jetzt einen CSS811 CO und VOC-Sensor am Bus, den ich auch auslesen und via UDP die Werte durch das Netzwerk schicken kann. So weit alles gut. Was mache ich aber mit dem zweiten (dritten, vierten, etc.) gleichartigen Sensor. Dieser hat ja die gleiche Adresse am Bus. Kann mir da jemand weiterhelfen oder kann man schlichtweg nur einen gleichen Sensor am Bus betreiben?

    LG

    Pierre

  • Bei I2C kannst Du verschiedene Adressen vergeben. In der Regel sind 5 Bit von der 8-Bit-Adresse feste vergeben. Die 3 Weiteren kann man über Jumper/Lötbrücken vergeben.

    Sollten die 8 Möglichen verschiedenen Adressen nicht reichen gibts ggf. Chips mit gleicher Funktion aber anderer Adresse, oder es gibt I2C-Splitter. Damit baust Du mehrere I2C-Netzwerke am gleichen Port auf.

  • Moin nimmermehr,

    erstmal: Herzlich Willkommen im Forum!

    Abgesehen davon, wieso hängt man mehrere gleiche Sensoren an einem Rechner? Aber egal..

    Der, von der erwähnte CSS811 kann 2 I2C-Adressen 0x5A und 0x5B.

    Das bedeutet 2 von den Dingern kannst du an einem Bus ohne Aufwand betreiben.

    Falls du andere Sensoren betreiben möchtest, dann sieh die Adressiermöglichkeiten an.

    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • 1. nur je ein pullup optimal am Ende der Kette

    2. aber Achtung am PI keine Sensorpullups an 5V

    Der PI hat schon interne pullups von 1,8k die mitgerechnet werden müssen und der Portstrom darf 3mA nicht übersteigen!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Wow. Vielen Dank für die vielen Antworten, die ein wenig Nacharbeit meinerseits erfordern (verstehe nur die Hälfte :-)).

    Mehrere Sensoren gleichen Typs benötige ich, wenn ich verschiedene Quellen überwachen möchte, also beispielsweise Zuluft und Abluft. Zwei würden also erstmal reichen. Wo finde ich Informationen, wie man die Adressierung bei dem CSS811 ändert?

    LG

  • Zwei würden also erstmal reichen. Wo finde ich Informationen, wie man die Adressierung bei dem CSS811 ändert?

    echt jetzt?

    Wie immer ist das Datenblatt die erste Anlaufstelle

    https://ams.com/eng/content/do…000459_4-00.pdf

    Pin Assignment

    Seite 4

    Pin 1

    Single address select bit to allow alternate address to be selected

    • When ADDR is low the 7 bit I²C address is decimal 90 / hex 0x5A

    • When ADDR is high the 7 bit I²C address is decimal 91 / hex 0x5B.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • man legt dann immer den Adress Pin auf 1 oder 0 also (mit Vorwiderstand 1-4,7k) an +VCC für 1 oder an GND für 0

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Moin,

    Zitat

    Wo finde ich Informationen, wie man die Adressierung bei dem CSS811 ändert?

    Nur mal als Beispiel bei einem CSS811Modul von Sparkfun

    Einmal editiert, zuletzt von ait (26. Dezember 2017 um 11:09) aus folgendem Grund: Tippfehler

  • aber ich glaube dafür reichen meine Lötkenntnisse nicht mehr aus

    wie hattest du sonst vor den anzuschliessen?

    Wie AIT schon schrieb es gibt ja Fertigmodule und dort wird die Wahl auch dem Ungeübten ermöglicht, aber auch dort werden gewisse Kenntnisse und Fähigkeiten vorausgesetzt.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Der unterste Anschluss ADD sollte der Adresspin sein.

    und der pullup scheint schon verbaut zu sein, messe doch einfach ADD

    wenn da VCC anliegt ist die Adresse auf 1 dann genügt für die NULL Wahl den auf GND zu legen

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Hallo Nimmermehr,

    herzlich Willkommen in unserem Forum!

    Dann brauchst Du doch bloß die Steckerleiste anzulöten und den ADD-Pin mal mit GND und mal mit VCC zu verbinden Das geht ganz leicht mit einem Kabel (Buchse-Buchse), die man für die diese Stecker preiswert kaufen oder auch selber herstellen kann. Denke aber an den empfohlenen Widerstand - sonst macht es piff.

    Suche mal nach Dupont-Kabel - dann weißt Du, was ich meine. Und eine Bastelanleitung gibt's hier.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    2 Mal editiert, zuletzt von Andreas (26. Dezember 2017 um 18:50)

  • Am ADD-Eingang liegt nichts an, sodass ich davon ausgehe, dass man ihn zur Adressierung nehmen kann. Müssen da dann einfach die 3,3V drauf?

    wie wäre es mal mit LESEN statt SCHREIBEN

    ich komme mir irgendwie doof vor wenn ich Antworten gebe und trotzdem weiter gefragt wird, was soll ich da vom Fragesteller halten?

    (ich könnte glatt denken das auch jede weitere Antwort nicht gelesen wird)

    und der pullup scheint schon verbaut zu sein, messe doch einfach ADD


    wenn da VCC anliegt ist die Adresse auf 1 dann genügt für die NULL Wahl den auf GND zu legen

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!