I2C ESP & Nano

Hallo zusammen,

leider verzweifelt ich gerade an der Übertragung mit der wire Lib.
Ich habe es sowohl über ein Level Shifter als auch ohne probiert.
Die Situation, es sollen zwei Arduino Nano über I2C an einen ESP8266 12F Daten gesendet werden.

Leider tut sich da gar nichts. Ich hoffe ihr könnt mir helfen. Erstmal die Frage natürlich mit oder ohne Level Shifter?
Momentan habe ich am Nano D4 und D5 und am ESP D1 und D2 verbunden. SDA auf SDA und das andere auch.

Den Code habe ich wie folgt auf dem Nano
Wire.beginTransmission(4);
Wire.write(prozent);
Wire.endTransmission();
delay(50);

Und auf dem ESP

void Funktion(int howMany)
{
while (1 < Wire.available())
{
char c = Wire.read(); // receive byte as a character
Serial.print(c); // print the character
}
int valueklein= Wire.read(); // receive byte as an integer
}

Ich bin kein Programmierer, daher bitte etwas schonend mit mir bitte :slight_smile:

Gruß Julien

Deinen Code verstehe ich nicht, da dies nur Fragmente sind.

Immer komplette, kompilierbare Sketche posten.
Und diese in Code-Tags posten.
So sind die nicht gut lesbar.

Und du kannst nicht einfach von 2 I2C-Slaves senden.
Du musst diese einzeln vom Master abfragen. Danach können diese Ihre Daten senden.

Hi

A4 A5 sind die I²C-Pins auf Nano/Uno, nicht D4 D5.
Vll. ist hier schon der Hund begraben.

MfG

postmaster-ino:
Hi

A4 A5 sind die I²C-Pins auf Nano/Uno, nicht D4 D5.
Vll. ist hier schon der Hund begraben.

MfG

Könnte ein zusätzliches Problem sein, aber auch mit richtiger Pinangabe funktioniert es nicht.

Nanos können die Master Rolle spielen
Nanos können die Slave Rolle spielen.

Die Nanos können Multimaster Betrieb. (in Grenzen)

Der ESP8266 darf allerdings nur Master sein.
Lässt allerdings den Bus in Ruhe, wenn gerade ein anderer Master mit seinem Slave quatscht.

Oh super, das geht ja hier schnell.
Vielen Dank erstmal für die vielen Antworten.

Dann bin ich ja wohl ziemlich falsch mit meinem Code. Nach was muss ich mich informieren wenn der ESP Daten von zwei Arduinos empfangen soll?
Bin da leider etwas neu was die Serielle Verbindung angeht.
Umgelötet habe ich es auch schon. Funktioniert leider nicht so, wie ihr es schon vermutet habt.

Der Code passt schon, du musst ihn nur auf die richtigen Prozessoren bringen.

Der ESP kann locker Daten von zwei Nanos abholen.

Zeichne mal genauer auf Was du machen möchtest und schreibe, was du an nutzdaten hin und herschicken willst.

Am einfachsten ist es, wenn du ein Master/Slave-System aufbaust, bei dem der ESP der Master ist.

Hier findest du Beispiele dazu.

Da macht man es richtig und es funktioniert :slight_smile:
Vielen Dank noch mal für die schnelle Hilfe.

aproxxo:
Da macht man es richtig und es funktioniert :slight_smile:
Vielen Dank noch mal für die schnelle Hilfe.

Gerne....
Zeigst du denn auch dein Ergebnis.
Das kann denen, die ein ähnliches Problem haben, sicher helfen.

Den Sketch bitte in Code-Tags posten.