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?
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.
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.
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
Okay. Das Programm scheint aber zu laufen. Er scheint nur nicht in den Teil zu kommen wo die Antwort des ESP gelesen werden soll.
Wenn du schon den ESP mit arduino verwendest, warum programmierst du ihn nicht direkt? Den mega2560 kannst weglassen.
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.