WLAN Modul ESP8266 und Arduino

Der nächste Schritt ist nun, das ESP8266 Modul mit einem Arduino zu verbinden um das ganze portabler zu haben. Meine erste Wahl war ein Arduino Nano Nachbau aus China, den ich ebenfalls mitbestellt habe. Dieser hat einen 3,3 V Pin so dass die Sache auf den ersten Blick ganz einfach aussah. Tatsächlich hat das Modul aber ähnlich reagiert, wie schon bei den ersten Versuchen mit der FTDI Platine. Das Modul startete nicht richtig. Nach einigem Suchen fand ich auch den Grund heraus.

Auf dem Nachbau des Nanos befindet sich ein alternativer USB-To-Serial Chip. Dieser wird mit geregelten 5 V versorgt, hat aber auch selbst einen 3,3 V Ausgang, der am entsprechenden Power-Pin der Arduino Patine herausgeführt ist. Das Problem ist allerdings, dass dieser PIN maximal 50 mA liefern kann. Das WLAN-Modul braucht beim Start bis zu 200mA. Laut Datenblatt kann es sogar bis zu 235 mAbenötigen. Der Serial-Chip kann den Strombedarf also nicht decken. Ein originaler FTDI Chip hätte übrigens genauso wenig genützt. Dieser liefert ebenfalls maximal 50mA am 3,3 V-Pin.

Eine Möglichkeit das Problem zu lösen wäre, einen Spannungswandler an den 5V Pin anzuschließen und das Modul darüber zu versorgen. Diese Variante werde ich noch ausprobieren, doch für meinen ersten Versuch habe ich doch einen Arduino Uno genommen. Der 3,3 V Pin des Arduino wird nämlich über einen Spannungswandler erzeugt und kann den nötigen Strom liefern. Für die ersten Versuche also die besser Wahl. Der Aufbau des Versuchs sieht folgendermaßen aus:

ESP8266 auf einem Arduino Uno

ESP8266 auf einem Arduino Uno

 

Zum Aufbau:

An die Modul-Pins GND (grauer Draht) und RXD (weiß)  habe ich jeweils kurze Verbindungsdrähte angelötet. Das Modul selbst ist leicht schräg in ein Steckboard gesteckt, so dass die beiden oben erwähnten Pins keine Verbindung haben. Dafür kommt man über die interne Verdahtung des Steckboards gut an die Pins VCC (gelb/orange) undTXD (braun). Der PD Pin ist direkt mit einer Drahtbrücke mit VCC verbunden. RXD (weiß) ist mit dem Arduino Pin 11 und TXD (braun) mit Pin10 verbunden. VCC wird mit dem 3,3 V-Power-Pin verbunden und GND mit GND.

 

Wie man sieht sind RXD und TXD nicht mit dem Serial Pins des Arduino Unos Verbunden, sondern stattdessen mit den digitalen Pins 11 und 10. Das liegt daran, dass ich eine softwarebasierte Serielle Schnittstelle verwende. Dadurch bleibt die Hardwareschnittstelle fürs Debugging frei und es gibt auch keine Probleme beim Uploaden von Programmen.

Für den ersten Test hat sich das BeispielprogrammSoftwareSerialExample (Beispiele > SoftwareSerial) bewährt. Ich musste lediglich die Baudraten anpassen. Dann war es möglich über das Terminal Befehle zu schicken und zu empfangen. Im Grunde ist dieser Aufbau in Verbindung mit diesem Beispielprogramm auch einegute Alternative  für alle, die kein passendes  FTDI-Board zur Verfügung haben.