Hallo Gemeinde,
Ich habe einen ESP9266 an meinen Arduino Mega2560 angeschlossen.
Folgender Code läuft ab:
#include <SoftwareSerial.h>
const byte rxPin = 2; //Empfangs-Pin (RX)
const byte txPin = 3; //Sende-Pin (TX)
SoftwareSerial myESP8266(rxPin, txPin);
void setup()
{
Serial.begin(9600);
while (!Serial) {;}
Serial.println("Kommunikation erfolgreich gestartet");
myESP8266.begin(115200);
delay(100);
myESP8266.write("AT\r\n");
}
void loop()
{
while (myESP8266.available())
{
Serial.write(myESP8266.read());
Serial.println("ESP available");
}
while (Serial.available())
{
myESP8266.write(Serial.read());
Serial.println("Serial available");
}
}
Wenn ich den ESp starte erschein im seriellen Monitor:
Kommunikation erfolgreich gestartet.
Wenn ich ein AT Kommando eingebe erscheint im seriellen Monitor 4x
hintereinander
Serial available
Allerdings erfolgt keine Reaktion auf das eingegeben Kommando.Die
meldung
ESP available erscheint
erscheint gar nicht.
Wo kann der Fehler liegen?
Gast
#5559789
Erstens: Der Mega hat 4 serielle Schnittstellen, aber du verwendest Softwareserial... Den Grund dafür hätte ich gerne mal erfahren. Zweitens: GND nicht verbunden. Drittens: Woher weißt du, dass der ESP mit 115200 Baud quatscht? Kann softserial das überhaupt?
Danke für die Antwort Erstens: Es ist einfach nur ein Beispiel aus einem Buch welches ich ausprobieren will Zweitens: GND ist verbunden. Rote LED am ESP8266 leuchtet Drittens: mit 9600 stellt sich das gleiche Ergebnis ein.
Gast
#5559798
Welcher ESP? Schaltplan. Teste den ESP einzeln.
Gast
#5559810
ESP 8266-01 Wie teste ich ihn einzeln?
Gast
#5559828
nach dem Starten müsste das Programm sofort das OK Echo vom AT Befehl anzeigen. Das Programm könnte man testen indem man den ESP weglässt und Rx und Tx verbindet, dann müsste das AT Echo kommen. Den ESP mit USB-UART und Terminalprogramm testen.
Gast
#5559836
Schaltplan gibts also nicht..... Dann so: Der originale Arduino Mega2560 kann 50mA an seinem 3,3V Pin liefern. Das reicht nicht für den ESP.
Heinrich P. schrieb: > Es ist einfach nur ein Beispiel aus einem Buch welches ich ausprobieren > will > Drittens: > mit 9600 stellt sich das gleiche Ergebnis ein. woher weisst du das der ESP mit 9600Bd arbeitet? Ich musste den dafür umflashen! Die serienmäßigen 115k vom ESP kann der Arduino (ohne Änderungen) nicht
Gast
#5559843
Okay. Das Programm scheint aber zu laufen. Er scheint nur nicht in den Teil zu kommen wo die Antwort des ESP gelesen werden soll.
Gast
#5559854
Wenn du schon den ESP mit arduino verwendest, warum programmierst du ihn nicht direkt? Den mega2560 kannst weglassen.
Gast
#5559863
Heinrich P. schrieb: > Wo kann der Fehler liegen? - An der Verkabelung - An der Schaltung - An der Programmierung des ESP - An der Programmierung des AVR Also mal Butter bei die Fische: 1) Wie sieht der Schaltplan aus? Nicht beschreiben, zeichnen und zeigen. Mit Stromversorgung. Mit der Angabe, welcher Controller mit dem PC verbunden ist. 2) Auf welchem der beiden Controller läuft der Code, den du oben gezeigt hast? Auch den ESP kann man mit der Arduino-Umgebung programmieren. 3) Was läuft auf dem anderen Controller? Dann hat es sich zur Fehlersuche bewährt, bei jedem Controller einzeln erst Senden zu testen, z.B. zum PC, und dann entweder ebenfalls vom PC Daten zu empfangen oder wie Johannes vorschlägt einen Kurzschluss zwischen RX und TX herzustellen (bei offener Verbindung zum anderen Controller!) so dass jeder Controller nur sich selbst hört. MfG, Arno
Gast
#5560300
Der Spannungsregler auf dem Arduino ist für das ESP Modul zu schwach. Du brauchst eine separate 3,3V Versorgung. Die Baudrate 115200 ist für SoftwareSerial viel zu hoch. Die Angaben in der Arduino Doku sind diesbezüglich zu optimistisch. Schließe das ESP Modul mittels 3,3V(!) USB-UART Kabel an einen PC an und konfiguriere es auf 9600 Baud um. Dann sollte es klappen. Oder: benutze eine "echte" serielle Schnittstelle. Doch auch diese schaffen die 115200 Baud nicht zuverlässig. Siehe dazu die Table 22-12 im Datenblatt http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf Alle Baudraten mit einem Error >2% werden nur mit Glück funktionieren.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.