Probleme bei der Kommunikation zwischen Arduino Leonardo und ESP8266

Guten Morgen!
um meinen Arduino Leonardo mit dem W-LAN zu verbinden, habe ich ein ESP8266 (ESP-01 / V090) Modul gekauft, und dieses Wie folgt angeschlossen:
Das ESP8266 hängt an einer externen 5.2V Stromquelle, die mit einem Spannungsteiler auf 3.3V (3.23V um genau zu sein) heruntergeregelt ist. Sie ist verbunden mit dem VCC und dem CH_PD Pin, wie es in einigen Tutorials beschrieben war.
Den UTXD (TX) Pin des ESP8266 leite ich direkt auf den RX1 des Arduino, dieser sollte ja auch mit 3.3V Signalen zurecht kommen.
Der TX1 des Arduino ist wiederum mit einem Spannungsteiler (1K/2K Wiederstände, um von 5V auf 3.3V zu kommen) am URXD (RX) Pin des ESP8266 angeschlossen.

Mit dem folgenden Sketch habe ich versucht, mit dem ESP8266 zu kommunizieren:

void setup() {
  Serial.begin(9600);
  while (!Serial); // wait for serial port to connect. Needed for Leonardo only
  Serial.println("Serial ready");
  Serial1.begin(9600);
  Serial.println("Serial 1 ready");
}

void loop() {
  if (Serial.available()) {
    String str = Serial.readStringUntil('\n');
    Serial.println("");
    Serial.println("You sent: " + str);
    Serial1.println(str);
  }
  if (Serial1.available()) {
    char chr = Serial1.read();
    if(chr != 0) Serial.print(chr);
  }
}

Wenn alles verbunden ist, blinkt die blaue LED des ESP8266 sehr schnell, aber am seriellen Monitor erhalte ich lediglich einen haufen unlesbare Zeichen. Ich habe es auch bereits mit verschiedenen Baud-Raten auf der Serial1 Verbindung versucht.

Wo könnte hier das Problem liegen? ist in meinem Aufbau etwas verkehrt, oder im Programm? Habe ich einen Denkfehler?

Vielen Dank im Voraus!!!

Hast Du die Massen verbunden (Netzteil - Arduino)?
Grüße Uwe

also der GND vom ESP8266 ist mit dem - Pol seiner externen Stromquelle verbunden. Der Arduino würd über USB mit Strom versorgt. GND vom ESP8266 ist aber nicht mit dem Arduino verbunden.

Natürlich müssen die GND aller Beteiligten verbunden werden.
Die Signalleitungen brauchen ein Bezugspotential, und das ist eben GND.

Auch sind die Signalleitungen, laut Datenblatt, nicht 5V Tolerant.
Also Vorsicht!

Das ESP8266 hängt an einer externen 5.2V Stromquelle, die mit einem Spannungsteiler auf 3.3V (3.23V um genau zu sein) heruntergeregelt ist.

Ein Spannungsteiler?
Bei den extremen Lastschwankungen reicht kein Spannungsteiler!

combie:
Natürlich müssen die GND aller Beteiligten verbunden werden.

Sollte ich also den Arduino ebenfalls an die externe Stromquelle anschließen? kann ich dann gleichzeitig USB anschließen? oder reicht überhaupt eine leitung vom arduino GND zum - Pol der externen Stromquelle?

combie:
Auch sind die Signalleitungen, laut Datenblatt, nicht 5V Tolerant.

Deshalb ja der Spannungsteiler zwischen Arduiono TX1 und ESP8266 URXD (RX).

combie:
Ein Spannungsteiler?
Bei den extremen Lastschwankungen reicht kein Spannungsteiler!

Was bedeutet das, was sollte ich sonst machen?

Das ESP8266 hängt an einer externen 5.2V Stromquelle, die mit einem Spannungsteiler auf 3.3V (3.23V um genau zu sein) heruntergeregelt ist.

Das geht nicht!

Was bedeutet das, was sollte ich sonst machen?

z.B. einen 3,3V Regler einsetzen.

combie:
Das geht nicht!

Kannst du das genauer erklären, warum das nicht geht? Laut Multimeter habe ich 3.23V, was ist falsch daran?

mach mal ein Foto von dem "Spannungsteiler"

ElEspanol:
mach mal ein Foto von dem "Spannungsteiler"

Das ist der Spannungsteiler an der externen Stromquelle.


(Link für volle Bildgröße: https://dl.dropboxusercontent.com/s/6ktafzedn6dkr4g/IMG_20150530_121138.jpg?dl=0)

Dann belaste mal deine 3.24V mit einem 100 Ohm widerstand (oder kleiner, wenn du hast) und miss nochmal.

Und lies nochmal:

Was bedeutet das, was sollte ich sonst machen?

z.B. einen 3,3V Regler einsetzen.

Anderl89:
Kannst du das genauer erklären, warum das nicht geht? Laut Multimeter habe ich 3.23V, was ist falsch daran?

Der wird unter Last gnadenlos einbrechen!
Teste und messe es!

combie:
Der wird unter Last ......
Teste und messe es!

Nicht vorgreifen. Bestimmte Erfahrungen muß man selbst machen!!
Grüße Uwe

Danke, ja ich habe es gemerkt :wink: tut mir leid, ich bin sehr unerfahren was Elektrotechnik betrifft :confused: Aber deshalb möcht ichs ja lernen :wink:

Ich habe nun eine andere Stromquelle mit 3.3V gefunden, die auch unter Last nicht zusammen bricht.

Wie mache ich nun das mit der gemeinsamen Bezugsquelle für Arduino und ESP8266?

Anderl89:
Wie mache ich nun das mit der gemeinsamen Bezugsquelle für Arduino und ESP8266?

Hmm ...
Vielleicht ein Stückchen Kupfer Draht .....

combie:
Hmm ...
Vielleicht ein Stückchen Kupfer Draht .....

Danke, sehr hilfreich... aber wo soll ich den anschließen?

Anderl89:
Sollte ich also den Arduino ebenfalls an die externe Stromquelle anschließen? kann ich dann gleichzeitig USB anschließen? oder reicht überhaupt eine leitung vom arduino GND zum - Pol der externen Stromquelle?

Wie bereits in den Antworten #1 und #3 gesagt wurde: GND von Arudino und ESP8266 verbinden.

Anderl89:
Danke, sehr hilfreich... aber wo soll ich den anschließen?

Hmm....
So ein Draht/Kabel hat meist 2 Enden.

Und, wenn du 2 GND verbinden musst, wo sollten dann die beiden Enden dran?

Tipp: Es gibt bei 2 Enden und 2 GND nicht viele Möglichkeiten.

vielleicht hab ich mich nicht klar ausgedrückt. Ich weis sehr wohl wie man die zwei GND verbindet. Ich weis nicht, ob ich es darf, wenn sie von 2 unterschiedlichen Stromquellen versorgt werden? (Arduino über USB, ESP8266 über 3.3V Netzteil)

Du hast keine Wahl!
Wenn du Signale übertragen willst, dann muss das sein!

Eigentlich alle Netzteile haben, aus Sicherheitsgründen, eine Galvanische Trennung.
Diese Trennung steht dir im Weg rum.
Du brauchst eine Verbindung.

Aber da ich dein 3,3V Netzteil nicht kenne....

Okay, jetzt habe ich sie verbunden. Nun blinkt die blaue LED auf dem ESP8266 nicht mehr, und ich erhalte gar keine Daten mehr. Das kann also auch noch nicht die ganze Lösung sein?