ESP8266 und Arduino, Verbindung, Pinbelegung
Hallo Geektimes . Das ESP8266-Thema wird wie das Internet der Dinge (IoT) immer beliebter, und Arduino ergreift bereits die Initiative, indem es diese Wi-Fi-Module zur Liste der unterstützten Boards hinzufügt.Aber wie kann man es mit Arduino verbinden? Und ist es überhaupt möglich, auf Arduino zu verzichten? Genau das wird heute in diesem Artikel behandelt.Mit Blick auf die Zukunft werde ich sagen, dass es einen zweiten, bereits praktischeren Artikel zum Thema Flashen und Programmieren des ESP8266-Moduls in der Arduino IDE- Entwicklungsumgebung geben wird . Aber das Wichtigste zuerst.
Dieses Video dupliziert das im Artikel vorgestellte Material vollständig.Im Moment gibt es viele Varianten dieses Moduls, hier einige davon:
Aber die Pinbelegung ESP01, ESP03, ESP12:
* Dieses Bild kann in guter Qualität ein- und ausgeschaltet werden. pighixxx.com Website .Persönlich mag ich Version ESP07 am meisten. Zumindest für die Tatsache, dass es einen Metallschirm gibt (der die Mikroschaltung vor externen Störungen schützt und dadurch einen stabileren Betrieb gewährleistet), eine eigene Keramikantenne, einen Anschluss für eine externe Antenne. Wenn Sie eine externe Antenne wie einen Biquadrat daran anschließen, können Sie eine gute Reichweite erzielen. Darüber hinaus gibt es analog zu Arduino-Pins viele Eingangs- / Ausgangsanschlüsse, die sogenannten GPIO (General Purpose Input Output - Allzweck-Eingangs- / Ausgangsanschlüsse).Kommen wir zurück zu unseren RAM- WLAN-Modulen und Arduino. In diesem Artikel werde ich erwägen, den ESP8266 (Modell ESP01) an den Arduino Nano V3 anzuschließen.Diese Informationen sind jedoch für die meisten ESP8266-Module und verschiedene Arduino-Karten relevant, beispielsweise für die beliebteste Arduino UNO.Einige Worte an den Beinen ESP01:
Vcc und GND (oben im Bild 8 und 1) - mit Strom versorgt zu Fuß Vcc zugeführt werden kann, entsprechend die Dokumentation , 3 bis 3,6 V und GND- Land (abzüglich Angebot). Ich habe gesehen, wie eine Person dieses Modul an zwei AA-Batterien angeschlossen hat (die Versorgungsspannung betrug in diesem Fall ungefähr 2,7 V) und das Modul funktionierte. Trotzdem gaben die Entwickler den Spannungsbereich an, in dem das Modul garantiert funktionieren soll, wenn Sie ein anderes verwenden, Ihre Probleme.Achtung! Dieses Modul basiert auf 3,3-V-Logik, und Arduino besteht hauptsächlich aus 5-V-Logik. 5 Sie können den ESP8266 problemlos deaktivieren, sodass Sie ihn separat vom Arduino mit Strom versorgen müssen ."Auf meinem Arduino befindet sich ein Bein, auf dem 3,3 V steht. Warum nicht?"Sie denken wahrscheinlich. Tatsache ist, dass der ESP8266 ein ziemlich gefräßiges Modul ist und in Spitzenströmen Ströme bis zu 200 mA verbrauchen kann und fast kein Arduino standardmäßig einen solchen Strom erzeugen kann, es sei denn, die Ausnahme ist Arduino Due , bei dem der Strom durch die 3,3-V-Leitung 800 erreichen kann mA mit einer Marge , die genug, in anderen Fällen sind, empfiehlt ein zusätzliches Stabilisator 3,3 V, zum Beispiel zu verwenden AMS1117 3.3 . Ein solcher Schacht sowohl in China als auch hier.
Leg RST 6 - soll als "Eisen" für den Neustart des Moduls dienen und ihm kurz einen niedrigen Logikpegel zuführen. Das Modul wird neu gestartet. Obwohl ich dies im Video vernachlässigt habe, rate ich Ihnen dennoch, dieses Bein mit einem 10-kOhm-Widerstand gegen das Power Plus zu „drücken“, um eine bessere Stabilität im Modul zu erreichen, sonst habe ich von der geringsten Störung neu gestartet.Bein CP_PD 4 (oder mit anderen Worten EN ) - dient wiederum zur "Eisen" -Übertragung des Moduls in den Energiesparmodus, in dem es einen sehr kleinen Strom verbraucht. Nun, es wird nicht überflüssig sein, dieses Bein mit einem 10-kOhm-Widerstand zum Plus von Pitalov zu „quetschen“ . Im Video habe ich dieses Bein dumm mit Vcc kurzgeschlossen, weil es keinen solchen Widerstand gab.Füße RXD0 7 TXD0 2 - Hardware-UART, der zum Flashen verwendet wird, aber niemand verbietet die Verwendung dieser Ports als GPIO (GPIO3 bzw. GPIO1). Aus irgendeinem Grund ist GPIO3 im Bild nicht beschriftet, sondern im Datenblatt:
Übrigens, die LED „Connect“ ist mit dem TXD0 2- Zweig verbunden und leuchtet bei GPIO1 auf einem niedrigen Logikpegel auf, oder wenn das Modul etwas über UART sendet.GPIO0 5 - kann nicht nur ein Eingabe- / Ausgabeport sein, sondern auch das Modul in den Programmiermodus versetzen. Dazu wird dieser Port an einen niedrigen Logikpegel angeschlossen (auf GND "gedrückt") und das Modul mit Strom versorgt. Im Video mache ich das mit der üblichen Taste. Vergessen Sie nach dem Blinken nicht, den Jumper zu entfernen / die Taste zu drücken (es ist nicht erforderlich, die Taste während des Blinkens zu halten, das Modul wechselt beim Einschalten in den Programmiermodus und bleibt bis zum Neustart darin).GPIO2 3 - E / A-Port.Ein weiterer wichtiger Punkt: Jedes GPIO-WLAN-Modul kann sicher Strom bis zu 6 mA liefernUm es nicht zu verbrennen, stellen Sie sicher, dass die Widerstände in Reihe mit den Eingangs- / Ausgangsanschlüssen geschaltet sind ... Denken Sie an das Ohmsche Gesetz R = U / I = 3,3 V / 0,006 A = 550 Ohm, dh 560 Ohm . Oder vernachlässigen Sie es und fragen Sie sich, warum es nicht funktioniert.In ESP01 unterstützen alle GPIOs PWM, sodass Sie einen Motortreiber an unsere vier GPIOs anschließen können, dh GPIO0-3, ala L293 / L298, und mit zwei Motoren, z. B. Booten, steuern oder RGB-WLAN-Streuner machen können. Ja, ja, dieses Modul hat viel an Bord und für einfache Projekte den GeigerArduino wird nicht benötigt, nur zum Blinken. Und wenn Sie ESP07 verwenden, gibt es im Allgemeinen Ports, die fast wie Uno sind, was es ermöglicht, sicher auf Arduino zu verzichten. Es stimmt, es gibt einen unangenehmen Moment, ESP01 hat überhaupt keine analogen Ports, aber ESP07 hat nur einen, ADC wird aufgerufen. Dies verschärft natürlich die Arbeit mit analogen Sensoren. In diesem Fall hilft ein Arduino- Analog-Multiplexer.Alles scheint durch Pinbelegung erklärt zu werden, und hier ist das Anschlussdiagramm des ESP8266 zum Arduino Nano:
Sehen Sie den Jumper auf den Arduino Nano-Beinen RST und GND? Dies ist notwendig, damit die Arduinka die Firmware des Moduls nicht beeinträchtigt. Wenn Sie den ESP8266 mit Arduino verbinden, ist dies eine Voraussetzung.Wenn Sie eine Verbindung zu Arduino herstellen, sollte das RX-Modul zum RX-Arduino, TX-TX, wechseln. Dies liegt daran, dass die Wandler-Mikroschaltung bereits in einer Kreuzreihenfolge mit den Arduino-Beinen verbunden ist.Ein Widerstandsteiler, der aus 1 kOhm- und 2 kOhm-Widerständen besteht (kann durch Anschließen aus zwei 1 kOhm-Widerständen in Reihe hergestellt werden), entlang der Empfangsleitung des Moduls ist ebenfalls wichtig. Weil Arduino 5 V Logik und Modul 3.3 ist. Es stellt sich heraus, ein primitiver Pegelwandler. Dies muss der Fall sein, da die Beine des RXD TXD-Moduls 5 V nicht tolerieren.
Sie können auf Arduino überhaupt verzichten, indem Sie den ESP8266 über einen normalen USB-UART-Konverter anschließen. Bei der Verbindung mit Arduino verwenden wir tatsächlich einen Standard-USB- und Uart-Schnittstellenkonverter, der das Gehirn umgeht. Warum also noch einmal Geld ausgeben, wenn Sie überhaupt auf Arduino verzichten können? Nur in diesem Fall verbinden wir das RXD-Modul mit dem TXD-Konverter TXD-RXD.Wenn Sie sich nicht mit der Verbindung beschäftigen, an Widerständen und Stabilisatoren basteln möchten, gibt es fertige NodeMcu-Lösungen: Hier ist
alles viel einfacher. Ich habe das Kabel in den Computer gesteckt, die Treiber installiert und programmiert. Denken Sie daran, den Jumper / die Taste auf GPIO0 zu verwenden, um das Modul in den Firmware-Modus zu versetzen.Nun, das ist wahrscheinlich alles mit der Theorie, der Artikel hat sich als ziemlich groß herausgestellt, und den praktischen Teil, ala Firmware und Modulprogrammierung, werde ich etwas später veröffentlichen.Ich habe auf meinem YouTube-Kanal eine ganze Wiedergabeliste geöffnet, die meinen Videos auf diesem Wi-Fi-Modul gewidmet ist. Die Pläne haben eine Schreibmaschine oder ein Boot auf Wi-Fi-Steuerung gebaut, wo anstelle der Fernbedienung ein normaler Smart sein wird. Aber bisher bin ich noch nicht dazu gekommen, also sind dies nur Pläne für die Zukunft.Fortsetzung dieses Artikels.Datenblätter zu:ASM1117 3.3 B ;ESP8266EX (Mikrocontroller im Modul) ;Weitere Links:Russischsprachige Community auf ESP8266 ;Gezeichnete Schemata im Programm Fritzing ;Warum viele Arduino nicht mögen ;Alle meine Veröffentlichungen zu Geektimes .Von Sergey Sharekin, auch bekannt als Mr Podelkin. Source: https://habr.com/ru/post/de390593/
All Articles