I2C zwischen Wemos D1 mini und Arduino Pro mini klappt nur einseitig ???

Moin,

wollte eigentlich eine I2C-Verbindung zwischen einem Wemos D1 mini und einem Arduino Pro Mini herstellen um den Mini als Portexpander zu verwenden und den D1 als Wlan-Funke. Soweit so gut, die beiden Kandidaten verkabelt, PullUps auf die I2C-Leitung, jedem eine Adresse verpasst und einen Scanner auf dem Wemos laufen lassen. Alles schön, der Mini wird ordnungsgemäß gefunden. Identischer Test auf dem Mini gestartet und der findet dem Wemos nicht :o Hab es auch mit einem Multispeed-I2C-Scanner probiert, ebenfalls ein Fehlschlag vom Mini zum D1.

Hat vielleicht jemand eine Idee, woran das liegen könnte? Hab leider auch nichts im Netz dazu finden können.

Thx & schöne Grüße,
das ProgrammierTier

Hast Du Pegelwandler in den I2C-Leitungen? Ist der Wemos Master?

Gruß Tommy

Hat vielleicht jemand eine Idee, woran das liegen könnte?

Ja, der ESP8266 kann nur den Master Modus.

Ja, der ESP8266 kann nur den Master Modus.

Ach menno, das ist blöd. Der Wemos lässt sich entspannter programmieren (sollte mir Pushover-Meldungen schicken). Muss ich halt doch einen ESP8266_01 nehmen, alles über AT-Befehle lösen und schlimmstenfalls auch noch die Serial vom Mini zur Kommunikation verwenden falls SoftwareSerial sich mal wieder mit manchen Librarys nicht versteht. Aber wer braucht schon Debug-Meldungen ...

Der Wemos sollte eigentlich Slave sein. Pegelwandler waren auch installiert.
Aber gut zu wissen, beim nächsten Projekt kann man das Verhalten direkt einplanen :slight_smile:

Vielen Dank Euch!!!
das ProgrammierTier

Da der WEMOS sowieso der leistungsfähigere MC ist, was spricht dagegen, ihn als Master zu nehmen und den Pro mini als Slave?

Der ESP sagt dem Pro was er will (Messwerte holen, Ausgänge schalten, usw.) und der macht das. Evtl. eine Rückmeldung bei reinen Aktionen einplanen.

Gruß Tommy

Mal schauen, vielleicht kann ich den Mini auch einfach weglassen. Der D1 hat ja auch einige brauchbare Pins. Und wenn ich DS18B20 als Temperatursensoren verwende kann ich diese als Bus anschließen. Könnte klappen. Und falls nicht liegt nehme ich vielleicht einen ESP32. Ist zwar ein bissel größer aber das passt vielleicht noch.

Thx & sG!
das ProgrammierTier

Der I2C Bus hat normalerweise einen Master und mehrere Slaves. Darum muß der Wemos D1 mini Master und der Arduino Pro Mini Slave sein. Damit der Mini daten an den Wemos schicken kann muß der Wemos Daten beim Slave (Mini) anfordern, so wie bei jedem anderen I2C Slave.

Grüße Uwe