0. Introducción al tutorial módulo Arduino ESP12E NodeMcu ESP8266 y WeMos D1 mini

En está clase encontrarás información sobre los básicos usos del módulo ESP8266 con el convertidor CP2102 (NodeMcu) o CH340 (WeMos) - el módulo inálambrico basado en lenguaje Lua, que tanto funcciona con Arduino IDE (y todas las instrucciones de esta clase tendremos en Arduino IDE). Cada ejercicio te presentarémos para dos placas - versión de módulo de NodeMcu (siempre a la izquierda) y WeMos D1 Mini (siempre a la derecha) - la única diferencia es en cableado, la programación Arduino no se cambia.

Las básicas tareas que vamos a solucionar en las clase incluyen:

- Instalación del driver ESP12E NodeMcu (plugin ESP8266 en el IDE Arduino - funciona con WeMos D1 mini)
- Funcción de parpadeo de un LED rojo 3mm con el módulo ESP12E

- Lectura analógico usando un potenciómetro lineal 10 kΩ

- Mando del servo motor 9g SG90 por el módulo

- Creación de un servidor web con el módulo ESP12E y un LED rojo 3mm

Componentes necesarios:

I. Cómo instalar el driver NodeMcu (plugin ESP8266 en el IDE Arduino - funciona con WeMos D1 mini)

Necesitamos descargar el pluggin ESP8266 para poder programar nuestro módulo ESP12E de desarrollo Inalámbrico NodeMcu Lua CP2102 WiFi a través de la interfaz Arduino.
Primero en el IDE Arduino haga clic en Archivo/Preferencias de la manera siguiente :

Imagen%2B1.jpg


En la ventana preferencias llene el campo Gestor de URLs Adicionales de Tarjetas poniéndolo la dirección web siguiente : 

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Valide con el botón OK para salir de la pantalla conservando los cambios.


Imagen%2B2.jpg
Luego en el IDE Arduino haga clic en Herramientas/Placa/Gestor de tarjetas :


Imagen%2B3.jpg
La ventana siguiente se abre y con esta vamos a poder descargar el Package asociado al módulo inalámbrico ESP12E :

Imagen%2B4.jpg
En la barra de búsqueda escriba ESP8266 y haga clic en la respuesta y por fin elija instalar para lanzar la instalación del Package :



Imagen%2B5.jpg

Después de haber instalado el Package, seleccione en el IDE Arduino en Herramientas/Placa la tarjeta NodeMCU 1.0 (ESP-12E Module) que va a programar así que el puerto serie asociado.
Imagen%2B6.jpg
  

II. Cómo conectar el módulo Arduino ESP12E NodeMcu ESP8266  y módulo WeMos D1 mini al ordenador

Sólo tiene que conectar su cable USB a micro USB en la tarjeta de desarrollo de un lado y en el ordenador del otro para poder empezar a utilizarlo y programarlo.
La distribución de pines GPIO en el NodeMCU de la placa de desarrollo ESP12E es la siguiente :


Distribuci%25C3%25B3n%2Bde%2Bpines%2BESP12E.png

III. Cómo conectar una LED con el módulo Arduino ESP12E NodeMcu ESP8266  y módulo WeMos D1 mini

Utilizando la placa prototipo MB-102 sin soldar, realice el cableado siguiente :
Cableado%2Bm%25C3%25B3dulo%2BESP12E%2Bcon%2BLED.jpg9_siguiente_WEMOS.jpg
Vamos a implementar un primer programa que consiste en hacer parpadear una LED a través del módulo WiFi ESP12E.
En un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.
Imagen%2B7.jpg
Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.
Imagen%2B8.jpg
Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.


Si el código se compila con éxito, aparece el mensaje siguiente :




Imagen%2B9.jpg


Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.


Imagen%2B10.jpg
La LED se pone a parpadear quedándose 1s encendida y 1s apagada de acuerda a lo que hemos programado.

De clic para descargar el programa Arduino.


IV. Cómo programar el módulo Arduino ESP12E NodeMcu ESP8266  y módulo WeMos D1 mini para leer valores del potenciometro análogico

El procesador ESP8266 integrado en el módulo ESP12E dispone de una sola entrada analógica trabajando de manera idéntica a la del módulo UNO con una resolución de 10 bits pero su voltaje de referencia interno es de 1V.
En la estructura interna del procesador la entrada A0 tiene un divisor de voltaje para adaptar el rango hasta 3.3V.
Utilizando la placa prototipo MB-102 sin soldar, realice el cableado siguiente :
Cableado%2Bm%25C3%25B3dulo%2BESP12E%2Bcon%2BADC.jpg14_siguiente_WEMOS.jpg

En un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.

Imagen%2B11.jpg



Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.


Imagen%2B12.jpg
Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.


Si el código se compila con éxito, aparece el mensaje siguiente :


Imagen%2B13.jpg


Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.


Imagen%2B14.jpg
Averigüe el funcionamiento del convertidor analógico/digital abriendo el monitor serie de la interfaz Arduino y girando el potenciómetro para ver si se observa la tensión variando.

Imagen%2B15.jpg

Para poder obtener un resultado optimo y poder observar la totalidad de los valores convertidos es importante definir de manera precisa el valor de la variable float voltage de nuestro programa.

Es un convertidor 10 bits entonces existen 1024 valores digitales, dando la ecuación de la variable float voltage = sensorValue * (3.3 / 1023.0).

          

V. Cómo conectar y controlar el motor con el módulo Arduino ESP12E NodeMcu ESP8266 y módulo WeMos D1 mini

Todos los pines GPIO del procesador ESP8266 integrado en el módulo ESP12E tienen salidas de PWM, su resolución es de 10 bits aunque la del Arduino es de 8 bits.
También se puede modificar la frecuencia del PWM, por defecto es de 1kHz.
Utilizando la placa prototipo MB-102 sin soldar, realice el cableado siguiente :

Cableado%2Bm%25C3%25B3dulo%2BESP12E%2Bcon%2Bservo%2B9g.jpg20_siguiente_WEMOS.jpg

En un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.


Imagen%2B16.jpg
Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.
Imagen%2B17.jpg


Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :

Imagen%2B18.jpg
Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.
Imagen%2B19.jpg
Le proponemos otro código permitiendo de efectuar rotaciones de 180º aumentando y disminuyendo una variable ángulo :


Imagen%2B20.jpg

De clic para descargar el programa Arduino.


VI. Crear un servidor web con el módulo ESP12E
El objetivo de esta parte es aprender a conectar el módulo ESP12E a su propia red WiFi de su módem y que le permite tener una conexión a Internet.
Para que las pruebas funcionen es indispensable disponer del nombre SSID de su red así que la contraseña WiFi asociada, por eso fíjense a la etiqueta pegada en su módem indicando esos datos.
Nuestro servidor web va a conectar el módulo ESP12E a una cierta dirección IP que nos va a indicar y va a crear una página web con dos botones LED ON y LED OFF permitiendo encender y apagar una LED cableada a nuestro módulo de la manera siguiente :
Cableado%2Bm%25C3%25B3dulo%2BESP12E%2Bcon%2BLED.jpg
En un archivo nuevo, escribamos el programa siguiente en la interfaz de programa Arduino.


Imagen%2B21.jpg


Imagen%2B22.jpg
Una vez que ha copiado el código en la interfaz, haga clic en Programa/Verificar/Compilar.

Imagen%2B23.jpg
Debajo de su pantalla en la interfaz Arduino, hay una zona de mensaje del compilador en la cual se puede ver si el código ha sido redactado bien o si presenta errores.

Si el código se compila con éxito, aparece el mensaje siguiente :

Imagen%2B24.jpg
Una vez compilado cargue el programa en el micro controlador ATMEGA328P-PU del módulo Uno R3, haciendo clic en Programa/Subir.

Imagen%2B25.jpg
Abra inmediatamente el monitor serie para tener tiempo de ver aparecer la dirección IP asignada por su módem al módulo ESP12E.


En el caso de que no ve aparecer ningún parámetro de conexión enviado por nuestro programa aumente el valor condicionando la variable i en el while(i<10).


Debe ver aparecer en el monitor serie lo siguiente :


Imagen%2B26.jpg


Abra una página web y en la barra http de su navegador entre la dirección IP indicada por el programa en su monitor serie. Es muy probable que sea distinta a la nuestra, en nuestro caso es 192.168.0.101.

En la página web debe aparecer lo siguiente :

Imagen%2B27.jpg

Ahora pulsando el botón LED ON la LED debe encenderse y pulsando el botón LED OFF debe la LED debe apagarse.


Las acciones solicitadas con los botones ON y OFF de la página web están repercutidas en el monitor serie :




Imagen%2B28.jpg

De clic para descargar el programa Arduino.