ESP Module an Arduino Uno oder Nano

OP #8117184

Die kleinen ESP-01 Module und ähnliche eignen sich prima als WLAN Schnittstelle für bestehende Mikrocontroller Projekte. Die Kommunikation zum Mikrocontroller findet in der Regel seriell statt, unter Verwendung der vorinstallierten AT Firmware.

Die Einsteiger Boards Arduino Nano V3 und Arduino Uno R3 sind mit einem ATmega328 bestückt, der leider nur eine serielle Schnittstelle hat, die bereits mit dem USB Anschluss belegt ist. Viele Webseiten empfehlen daher die Nutzung von SoftwareSerial für die Kommunikation zum ESP Modul. Dazu muss man das ESP Modul vor dem Einbau auf eine niedrige Baudrate konfigurieren, empfohlen wird 9600 Baud. Das gefällt mir nicht.

Deswegen habe ich meine Projekte etwas anders aufgebaut. Meine Implementierung kann problemlos mit den normalen 115200 Baud senden, aber nicht empfangen. Für den Empfang teile ich mir den echten UART des Mikrocontrollers für beide Schnittstellen. Der AVR kann Texte abwechselnd vom USB-UART und vom ESP-Modul empfangen.

Dazu habe ich eine logische UND Verknüpfung bestehend aus R3 und D1 aufgebaut. Im Ruhezustand liegen die Tx Ausgänge vom USB-UART und ESP-Modul beide auf HIGH Pegel. Wenn eine der beiden Quellen die Leitung auf LOW zieht, sieht der AVR Mikrocontroller an seinem Rx Eingang einen LOW Pegel. D2 beschützt den ESP vor Überspannung (vom USB-UART kommen 5V).

Für die andere Richtung dienen R1 und R2 als Spannungsteiler, um die 5V vom AVR Mikrocontroller auf 3,3 Volt herunter zu bringen.

Das ESP Modul braucht eine separate Spannungsversorgung weil der Spannungsregler auf dem Arduino Board zu schwach ist. Der Kondensator C3 soll möglichst nahe beim ESP sitzen, am Besten direkt auf das Modul löten.

Der angehängte Code kann mit und ohne Arduino Framework benutzt werden. PD2 muss als Ausgang mit HIGH Pegel konfiguriert werden. Eigentlich ist das ein total trivialer Ansatz, aber da er sonst nirgendwo empfohlen wird, habe ich mich dazu entschlossen, ihn doch zu veröffentlichen.

Angehängte Dateien:
: Bearbeitet durch User
#8117193

Ich habe diese Kombination aus ESP und Arduino nie verstanden. Mach alles im ESP, fertig.

Ich meine, versteht ihr Arduino-Bastler überhaupt den Leistungsunterschied? Ein 32-Bit ESP8266 mit einer Taktrate von 80 MHz oder mehr, damit ein 8-Bit AVR mit 16 MHz ein bisschen im Netz rummachen kann, warum? Von ESP32 gar nicht zu reden.

#8117200

Hannes J. schrieb:

Mach alles im ESP, fertig.

Dessen ADC Fallstricke hat wie den Einfluss des WLAN auf selbigen, der an den Grenzen nichtlinear ist und das teils strapping Pins sind oder die maximale Spannung von 1V beim 8266, einige GPIO mit dem flash geteilt sind und der in der Regel einfach wenig sicher nutzbare GPIO hat.

5, in Worten FÜNF der GPIO am ESP8266 sind ohne Klimmzüge sicher nutzbar. GPIO 4 (D2), GPIO 5 (D1), GPIO 12 (D6), GPIO 13 (D7) und GPIO 14 (D5).

Das reicht für viel, aber wahrlich nicht alles!

Es gibt Gründe dafür, das so zu machen. Da können wir Arduino bastler nix für das du die nicht erkennen kannst.

#8117228

Nemopuk schrieb:

Bitte bleibt beim Thema. Es geht um ESP Module an Arduino Uno oder Nano, nicht um Alternativen.

Ich verstehe den Sinn dahinter zugegeben auch nicht

Ja, es mag ein paar Sonderfälle geben, genauere ADC usw - aber hierfür gibt es dann auch spezielle IC, über I2C usw angebunden - nochmal um ein vielfaches genauer

Nicht ESP an Arduino, andersrum wird, wenn es denn unbedingt sein muss - ein Schuh draus --> Arduino an ESP

Wer nutzt denn in Bastlerkreisen noch den ESP-01? Der ist bzw war für Großprojekte wo die paar IOs gereicht haben und man jeden Cent sparen wollte

Zeig gerne ein Projekt das der ESP nicht alleine hinbekommt, er die Unterstützung eines Arduino braucht?`

#8117230

Kilo S. schrieb:

Hannes J. schrieb:

Mach alles im ESP, fertig.

Dessen ADC Fallstricke hat wie den Einfluss des WLAN auf selbigen

Wenn es (nur) auf einen ADC ankommt, würde ich ein dediziertes IC verwenden und nicht mit Uno/Nano basteln.

Nemopuk schrieb:

Es geht um ESP Module an Arduino Uno oder Nano

.. und zeigt mal wieder windige Hardware, 3V3-ESP an 5V-Uno ohne korrektem Pegelwandler.

Antwort schreiben

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.