Modulo ESP8266 (ESP-12)
Notas: Aunque en algunos modulos vienen con la etiqueta de certificacion FCC, solo algunos realmente la poseen, en este caso el modulo ESP-12, si parece complir con esta normativa, ver https://fccid.io/2ADUIESP-12#axzz3Wd49oIRf y http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family
Para este caso vamos a trabajar con el modulo ESP12, que tiene todos los puertos GPIO disponibles, como contrapartida, este modulo viene en formato SMD, con lo cual hay que fabricar un adaptador para poder usarlo en la protoboard.
- Esquema Adaptador ESP-12
Los modulos ESP8266 tienen dos modos de funcionamiento, "normal mode" y "flash mode" este depende de una configuracion de los pines GPIO0 y GPIO2 como se puede ver en este esquema:
(MTDO es GPIO15).
MTDO | GPIO0 | GPIO2 | Mode | Description |
---|---|---|---|---|
L | L | H | UART | Download code from UART |
L | H | H | Flash | Boot from SPI Flash |
H | x | x | SDIO | Boot from SD-card |
Para nuestro caso necesitamos GPIO15-> GND y GPIO0->GND, GPIO2 tiene un pull up interno y no necesita conectarse
La conexión mas correcta para nuestro modulo seria:
GPIO0->Resistor 10K a GND ( Flash Mode )
GPIO2->Resistor 10K a VCC ( 3v3 )
GPIO15->Resistor 10K a GND
- Instalar las herraminta de compilacion desde el board manager
Para instalar el soporte de la placa ESP8266 y similares en Arduino hay que entrar en "Archivo->Preferencias" y configurar una URL extra para el manejo de boards:
La dirección en cuestión es "http://arduino.esp8266.com/stable/package_esp8266com_index.json"
A continuación entramos en "Herramientas->Placa*->Gestor de tarjetas" e instalamos el soporte para "esp8266"
La descarga de las herramientas son mas de 100MB...
Por ultimo para comprobar que tenemos todo preparado nos vamos a "Herramientas->Placa:*->Generic ESP8266 Module" o el modulo que nos interese.
El único valor de los que viene por defecto que nos interesa cambiar, es el "Upload Speed" que cambiaremos de "9600" a "115200" para no desesperarnos entre los Uploads de los sketchs.
Ahora abriremos un Sketch de ejemplo en "Archivo->Ejemplos->ESP8266->Blink", para nuestra versión de board, modificaremos el ejemplo y cambiaremos el valor BUILTIN_LED por el puerto que nos interese, el modulo ESP-12 tiene conectado el GPIO2 al led azul de manera interna.
Aqui se aprecia el mapeo de pins GPIO entre el modulo ESP-12 y Arduino:
Notas: los GPIO son tolerantes a 5v input, pero se recomienda usar siempre 3v3
Success!!!
Enlaces de interés: