Primeros pasos con el ESP8266 y Arduino: Interfaz ESP8266 Arduino

En caso de que estés en IoT (Web of Issues), puede que necesites oír hablar del Módulo WiFi ESP8266. Si no, no te preocupes. Este tutorial trata sobre cómo empezar a utilizar el Módulo WiFi Esp8266 y la forma en que se puede utilizar el par Arduino ESP8266 en tus iniciativas de IoT.

Así que antes de entrar en la pequeña impresión de aprender a interactuar con el par Arduino ESP8266, vamos a empezar con el módulo WiFi ESP8266 primero

Ver estos PROYECTOS DE INTERNET DE LAS COSAS (IOT).

¿Qué es el ESP8266?

El ESP8266 (técnicamente ESP8266EX) es un módulo WiFi basado principalmente en la MCU de 32 bits Cadence Tensilica L106 fabricada por Espressif Techniques. El SoC ESP8266 incorpora una pila WiFi completamente útil y una pila TCP/IP que permite a cualquier microcontrolador conectarse a la comunidad WiFi.

Con los kits de mejora de software (SDK), podrás programar el microcontrolador ESP8266 directamente en el chip, sin necesidad de un microcontrolador externo.

Basándose principalmente en el SoC ESP8266, varios fabricantes de terceros han empezado a fabricar placas personalizadas y uno de ellos es Ai-Thinker. La principal placa fabricada por Ai-Thinker es la ESP-01 (que es una placa similar a la utilizada en esta misión) y se ha extendido bastante.

Basándose principalmente en el éxito del módulo ESP-01, Ai-Thinker ha lanzado varios módulos diferentes, como el ESP-02, el ESP-07, el ESP-12, etc. Todas estas placas se basan principalmente en el SoC ESP8266, pero la principal diferencia es la variedad de pines GPIO.

Hay diferentes módulos como ESP-WROOM de Espressif Techniques, NodeMCU, WeMOS, SparkFun ESP8266, etc.

ESP8266 ESP-01

En esta misión, probablemente utilizaremos el Módulo ESP-01 de Ai-Thinker. Consta de 8 pines y la siguiente imagen muestra los elementos completamente diferentes de la placa.

ESP8266 Arduino Imagen 1

En cuanto a la configuración de los pines, como hemos dicho antes, el módulo ESP-01 consta de 8 pines, que son VCC, GND, TX, RX, RST, CH_PD, GPIO0 y GPIO2. La siguiente imagen muestra el diagrama de pines del módulo ESP-01.

ESP8266 Arduino Imagen 2

Descripción de los pines del módulo ESP8266 ESP-01

  • VCC: Es el pin de alimentación a través del cual se suministran 3,3V.
  • GND: Es la clavija de tierra.
  • TX: Este pin se utiliza para transmitir información en serie a diferentes unidades.
  • RXel pin RX se utiliza para obtener información en serie de diferentes unidades.
  • RST: Es la clavija de reinicio y es una clavija de energía BAJA. (El ESP8266 se reiniciará si la clavija RST recibe una señal BAJA).
  • CH_PD: Es el chip que habilita la clavija y es una clavija energética ALTA. A menudo se conecta a 3,3V.
  • GPIO0la clavija GPIO0 (E/S de objetivo común) tiene dos funciones: una para el funcionamiento normal del GPIO y otra para activar el modo de programación del ESP8266.
  • GPIO2: Este es el pin GPIO.

NOTA IMPORTANTEel ESP8266 simplemente no es adecuado con 5V y el Módulo ESP-01 no tiene reguladores de voltaje a bordo. Hace posible que la capacidad suministrada al ESP8266 sea de 3,3V, idealmente desde una fuente de alimentación dedicada, razonablemente en lugar de tomarla del pin de 3,3V del Arduino.

Interfaz Arduino ESP8266

Antes de ver la Interfaz Arduino del ESP8266, debes saber un par de cuestiones relacionadas con el módulo ESP8266. El módulo WiFi ESP8266 viene con el firmware por defecto que ayuda a las instrucciones AT.

Después de interconectar el Módulo WiFi ESP8266 con el Arduino e importar nuestro programa personal, es probable que se borre el firmware único. Vamos a ver en una misión separada en el aprendizaje de cómo interconectar el módulo ESP8266 con las instrucciones AT y así mismo aprender a flashear el firmware único que utiliza el Arduino.

Ahora vamos a ver cómo programar el ESP8266 con el Arduino y a introducir sus pines GPIO. En primer lugar, veamos el diagrama del circuito de la interfaz.

Diagrama del circuito de la interfaz Arduino del ESP8266

ESP8266 Arduino Imagen 3_1

Si el Módulo ESP8266 dentro del diagrama del circuito no está claro, la siguiente imagen posiblemente te ayudará. Es sólo una ilustración privada para el diagrama del circuito. Ya has visto el diagrama de pines preciso en la parte anterior.

ESP8266 Arduino Imagen 4

Piezas necesarias

  • Arduino UNO [Buy Here]
  • ESP8266 ESP-01
  • resistencia de 1 KΩ
  • 2.resistencia de 2 KΩ
  • condensador de 100 pF (Código del condensador – 104)
  • Mini pan de molde
  • Conexiones de cables

Preparación del módulo ESP8266 ESP-01 para el montaje del pan

Para aquellos que comprueben los pines del módulo ESP8266 ESP-01, podrán observar que no es una bonita protoboard. Así que hice una pequeña placa perf con bonitos pines en la parte inferior y cabezales hembra para montar en ella el módulo ESP8266 ESP-01.

ESP8266 Arduino Imagen 5

En esta placa perfeccionada, conecté adicionalmente las resistencias de conversión de extensión para el pin RX del ESP8266 y también un condensador de derivación de 100 pF entre VCC (3,3V) y GND. La siguiente imagen muestra el montaje del módulo ESP8266 ESP-01 en una miniplaca.

ESP8266 Arduino Imagen 6

Preparación del IDE de Arduino para la programación del ESP8266

El módulo WiFi ESP8266 se puede programar con el IDE de Arduino y para poder experimentarlo hay que hacer algunas modificaciones en el IDE de Arduino. Primero, ve a Archivo -> Preferencias dentro del IDE de Arduino y dentro de la parte de URLs del Supervisor de Placas Extra, introduce la siguiente URL.

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

ESP8266 Arduino Imagen 7

NOTA: Podrás añadir muchas de estas URLs, pero deben estar separadas por comas.

Ahora, ve a Instrumentos -> Placas -> Supervisor de Placas y busca ESP8266 dentro del tema de búsqueda. Elige el grupo ESP8266 por ESP8266 y haz clic en Configurar.

ESP8266 Arduino Imagen 8

NOTAesta función de incluir placas de terceros a través del supervisor de la placa es accesible para el modelo 1.6.4 y superior del IDE de Arduino. Así que recuerda tener el último modelo de Arduino IDE.

Preparar el Arduino UNO para la programación del ESP8266

Para poder programar el Módulo ESP8266, necesitamos conectarlo a un PC. Como la comunicación serie es lo que existe en el módulo ESP8266 ESP-01, queremos un adaptador USB a serie como un FTDI, CH340 o FT232RL.

Para los que no tengáis un adaptador USB a serie dedicado, no os preocupéis. El Arduino UNO tiene un adaptador de USB a serie (que se utiliza para programar el Arduino). Lo utilizaremos para programar el ESP8266.

Probablemente utilizaremos los pines TX y RX del Arduino para conectar el módulo ESP8266 y para asegurarnos de que el Arduino no está utilizando estos pines, podemos añadir un esquema mínimo al Arduino.

NOTAel croquis mínimo consiste simplemente en la configuración y las características del bucle sin ninguna información.

En mi caso, tengo una placa Arduino UNO adicional con un CI ATmega328p que no funciona. Así que eliminé el CI del microcontrolador del Arduino UNO y empecé a utilizarlo como convertidor de USB a serie.

Diseño del circuito para la programación del ESP8266 con Arduino

Ya has visto los elementos necesarios y el esquema de la misión. Ahora, permítenos intentar averiguar el diseño del circuito.

Inicialmente, el Módulo ESP8266 funciona con 3,3V Energy Provide y cualquier cosa más alta que eso, como 5V por ejemplo, matará al SoC. Así que el pin VCC y el pin CH_PD del módulo ESP8266 ESP-01 están conectados a una fuente de alimentación de 3,3V.

El siguiente factor vital que hay que recordar es que el módulo WiFi ESP8266 tiene dos modos de funcionamiento: el modo de programación y el modo normal.

En el modo de programación, podrás añadir este sistema o firmware al módulo ESP8266 y en el modo normal, el programa o firmware cargado funcionará normalmente.

Para activar el modo de programación, el pin GPIO0 debe estar conectado a GND. En el esquema del circuito, he conectado un interruptor SPDT al pin GPIO0. Al conmutar el conmutador SPDT, el ESP8266 cambiará entre el modo de programación (el GPIO0 está conectado a GND) y el modo normal (el GPIO0 funciona como un pin GPIO).

Además, el RST (Reinicio) desempeñará una posición vital en la activación del Modo de Programación. La patilla RST es una patilla energéticamente baja y, por tanto, se conecta a GND mediante un pulsador. Por lo tanto, en cualquier momento en que se pulse el botón, el Módulo ESP8266 se reiniciará.

Los pines RX y TX del módulo ESP8266 se conectan a los pines RX y TX de la placa Arduino. Como el SoC ESP8266 no tolera 5V, el pin RX del Arduino se conecta a través de un convertidor de grado formado por una resistencia de 1KΩ y otra de 2,2KΩ.

Por último, el pin GPIO2 se conecta a un LED para verificar el funcionamiento de este sistema. A continuación se explican todas las conexiones necesarias para activar el modo de programación en el ESP8266.

  1. VCC – – > 3,3V
  2. GND – – – > GND
  3. CH_PD – – – > 3,3V
  4. RST – – – > Normalmente abierto; GND para reiniciar
  5. GPIO0 – – – > GND
  6. TX – – – > TX de Arduino
  7. RX – – – > RX de Arduino (mediante convertidor de grado)

Funcionamiento de la interfaz Arduino del ESP8266

Hace posible que todas las conexiones anteriores se realicen correctamente. Después de conectar y configurar el ESP8266 en modo de programación (el GPIO0 está conectado a GND), une el Arduino al sistema.

Una vez conectado el módulo ESP8266, pulsa el botón RST y abre el IDE de Arduino. Dentro de la Junta de elección (Instrumentos -> Junta), elige la Junta «Genérico ESP8266». Elige la cantidad de puertos adecuada dentro del IDE.

ESP8266 Arduino Imagen 9

Ahora, abre el Blink Sketch y cambia el pin del LED a 2. Aquí, el 2 representa el pin GPIO2 del módulo ESP8266. Antes de pulsar añadir, asegúrate de que GPIO0 está conectado a GND primero, y luego pulsa el botón RST.

Pulsa el botón de añadir y el código tardará algún tiempo en compilarse y añadirse. Podrás ver el progreso en la parte posterior del IDE. Una vez que este sistema esté cargado eficazmente, puedes tomar el GPIO0 de GND. El LED conectado al GPIO2 parpadeará.

En esta misión, ya hemos visto cómo funciona la interfaz Arduino del ESP8266, hemos aprendido a añadir un programa al módulo WiFi del ESP8266 y a introducir los pines de entrada/salida del módulo ESP8266.

Lee:  ¿Por qué brilla el aspecto de la calefacción pero no el cable de la misma?
Javired
Javired

Deja una respuesta

Tu dirección de correo electrónico no será publicada.