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?
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.
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!
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?
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)
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?