Ich nutze den Adafruit Tca9548a mit dem Arduino Uno. Die Schaltung ist recht simple, GND to GND, VCC zu VCC, SCL/SDA an SCL/SDA des Multiplexers. Ich nutze den Temperatursensor BME680 von Joy-it an SD1 und SC1 (natürlich auch spannungsversorgt)
Habe das ganze mit mehreren I2C Scannern probiert, er findet keine Geräte. Auch mit dem SHT35 versucht. Erfolglos.
Direkt am SDA/SCL des Arduino funktionieren beide Geräte. Ich nutze (wie im Tutorial vorgegeben) keine Pullups. Irgendwelche Ideen?
Einzige Idee wäre, dass er defekt ist (heute erst angekommen). Wie überprüft man das am besten?
DerPeter:
Ich nutze (wie im Tutorial vorgegeben) keine Pullups.
Und wo steht das? Ich lese da eher das Gegenteil:
SDx and SCx: There are 8 sets of SDx and SCx pins, from SD0/SC0 to SD7/SC7. These are the multiplexed pins. Each one is a completely seperate I2C bus set. So you have have 8 I2C devices with identical addresses, as long as they are on one I2C bus each. These pins do not have any pullups installed, so if you are using a chip or breakout without i2c pullups be sure to add them! Nicely, you can have Vin be 3.3V and have these pins pulled up to 5V (that is, they are 5V compliant)
Zu Tommy56:
Einen eigenen Sketch habe ich bisher noch nicht. Wenn keine Geräte gefunden werden, wäre es ja unlogisch an einem Programm rumzupoolen, welche genau diese vorraussetzt. Zumindest mein Gedankengang
Zu MicroBahner:
Ich habe mich auf das Bild bezogen. Ebenso konnte ich nirgendwo herausfinden ob der BME680 von Joyit schon Pullups hat. Immerhin funktioniert dieser am Arduino auch direkt.
Muss ich die Pullups nur am Datapfand anbringen oder auch an der Clock (fände ich etwas komisch)?
Welche sollte ich hier anschließen? Habe mal mit 5k probiert und es wurde auch kein Gerät gefunden
DerPeter:
Einen eigenen Sketch habe ich bisher noch nicht.
DerPeter:
Habe das ganze mit mehreren I2C Scannern probiert,
Und welche Scanner sind das? Wenn Du den Tca9548a nicht vorher richtig einstellst, stellt der keine Verbindung zu den einzelnen I2C Strängen her. Defaultmäßig sind die alle abgeschaltet.
DerPeter:
Zu Tommy56:
Einen eigenen Sketch habe ich bisher noch nicht. Wenn keine Geräte gefunden werden, wäre es ja unlogisch an einem Programm rumzupoolen, welche genau diese vorraussetzt. Zumindest mein Gedankengang
Und wer sagt dann dem Multiplexer auf welchen Ausgang er durchschalten soll?
Tommy56:
Das hattest Du uns aber nicht mitketeilt, dass Du diesen Scanner benutzt.
Entschuldigung, ich hatte gedacht mit Verlinken des Tutorials wäre es offensichtlich, dass ich ihn (auch) benutzt habe. Mein Fehler
Tommy56:
0x070 ist die reale Adresse des Multiplexers?
Laut der Website:
A0 A1 A2 - these are the address selection pins for the multiplexer. By default the multiplexer is at address 0x70 and these three pins are pulled low. Connect them to Vin to set the address to 0x71 - 0x77.
Da es der Orginal von Adafruit ist, heute erst gekommen und unverändert ist (und an AX unbeschaltet), gehe ich stark davon aus
Tommy56:
Hat der BME680 PullUps an SDA und SCL?
Ich weiß nicht ganz ob ich deine Frage richtig verstanden habe. Meintest du damit ob der BME680 (Joy it) von Haus aus PullUps eingebaut hat? Das habe ich ja (wie oben schon gesagt) nicht herausgefunden. Auch beim SHT35 (Seed Studios) nicht
Habe auch gerade schon probiert jeweils 5k Pullups anzulegen, leider wurde auch da nichts gefunden
Entschuldigung für die längere Antwortszeit. Hatte kein Messgerät zur Hand und habe mir mit dem Arduino schnell einen Spannungsteiler gebaut. Der Widerstand beim BME680 beträgt 5,2k Ohm, beim SHT35 188Ohm. Also wie schon vermutet (zumindest beim BME) kein Pullup nötig
DerPeter:
Entschuldigung für die längere Antwortszeit. Hatte kein Messgerät zur Hand und habe mir mit dem Arduino schnell einen Spannungsteiler gebaut. Der Widerstand beim BME680 beträgt 5,2k Ohm, beim SHT35 188Ohm. Also wie schon vermutet (zumindest beim BME) kein Pullup nötig
Gruß zurück
Bist du mit deinen 188 Ohm beim SHT35 sicher ?
Das wäre deutlich zu klein als Pullup bei I2C.
Da an den I²C-Slaves an BEIDEN PullUPS vorhanden sind - Diese funktionieren auch direkt am Arduino - aber am Multiplexer funktioniert GAR NICHTS mehr - es wird auch Nichts gefunden - möchte ich fast wetten, daß der Multiplexer keine PullUPs besitzt.
Zumindest den Muliplexer MUSST Du mit dem I²C-Scanner finden - wenn nicht, ist was faul im Staate Dänemark!
Irgendwie schadet Es nicht, wenn man sich zumindest ETWAS mit dem Kram beschäftigt, en man verbauen will - so z.B., wie I²C überhaupt funktioniert - dann hätte man sich ggf. selber schon Gedanken machen können, welche Werte man beim Messen so sehen will.
Nur, weil das Zeug vorhin noch in der Blister-Verpackung drin war, heißt Das ja nicht, daß Du nicht trotzdem das Ding so anschließen musst, wie's wohl auch im DaBla entnehmbar ist.
HotSystems:
Hast du mal die I2C-Module auch einzeln getestet ?
Das würde ich immer mal testen.
Wurde leider schon
DerPeter:
Direkt am SDA/SCL des Arduino funktionieren beide Geräte.
postmaster-ino:
Hi
Da an den I²C-Slaves an BEIDEN PullUPS vorhanden sind - Diese funktionieren auch direkt am Arduino - aber am Multiplexer funktioniert GAR NICHTS mehr - es wird auch Nichts gefunden - möchte ich fast wetten, daß der Multiplexer keine PullUPs besitzt.
Zumindest den Muliplexer MUSST Du mit dem I²C-Scanner finden - wenn nicht, ist was faul im Staate Dänemark!
Irgendwie schadet Es nicht, wenn man sich zumindest ETWAS mit dem Kram beschäftigt, en man verbauen will - so z.B., wie I²C überhaupt funktioniert - dann hätte man sich ggf. selber schon Gedanken machen können, welche Werte man beim Messen so sehen will.
Nur, weil das Zeug vorhin noch in der Blister-Verpackung drin war, heißt Das ja nicht, daß Du nicht trotzdem das Ding so anschließen musst, wie's wohl auch im DaBla entnehmbar ist.
MfG
Wahnsinns Post, viel geschrieben aber wenig dahinter. Und auch noch der böse Hinweis, dass man sich damit beschäftigen muss. Mir fällt nichts mehr dazu ein.
a) wie schon erwähnt besitzt der Multiplexer an den Ausgängen keine Pullups. Vielleicht hätte ETWAS lesen der davorigen Posts geholfen
b) der Scanner scannt nur angeschlossene Module. Auch hier hätte es ETWAS geholfen, sich das Ding durchzulesen bevor man was postet
c) Ich weiß wie I2C funktioniert und dass ich keine Werte habe war der Grund für das Posting hier
d) Hättest du dir ETWAS den Link angeschaut, hättest du gemerkt, dass es die Hersteller Website ist und das Tutorial 1zu1 die Verkablung aus dem Datenblatt ist
Trotzdem danke für deine Mühe, leider hilft das nicht weiter. Wie schon gesagt, denke ich es ist einfach ein defektes Produkt
Dann entschuldige ich mich natürlich, kam bei dem Rest nicht so durch.
Denk Link schaue ich mir natürlich zuerst an, bevor ich ihn zurück schicke
Grüße zurück
Als kleiner Nachtrag: Der Scanner funktioniert bei mir nicht - selbst wenn ich den Arduino ohne Verkablung betreibe. Er zeigt den Header an aber beim Ausführen hört er nach der Überschirftszeile (den Frequenzen) auf. Funktioniert das Ausführen bei euch?
Hab jetzt den genommen: Arduino Playground - I2cScanner
Er findet tatsächlich den Multiplexer nicht. Die Sensoren alleinig schon