Una de las mejores cosas del ESP8266 es que tiene una buena cantidad de pines GPIO para trabajar. No tendrá que hacer malabarismos ni multiplexar sus pines IO. Hay algunas cosas que debe tener en cuenta, así que lea atentamente el pinout.
Tenga en cuenta que la siguiente referencia de pinout es para la popular placa de desarrollo ESP8266 NodeMCU con 30 pines.
No todos los pines están divididos en todas las placas de desarrollo ESP8266, pero cada pin específico funciona de la misma manera, independientemente de la placa de desarrollo que esté utilizando.
ESP8266 Periféricos y E/S
El ESP8266 NodeMCU tiene un total de 17 pines GPIO divididos en los encabezados de pines en ambos lados de la placa de desarrollo. Estos pines se pueden asignar a todo tipo de tareas periféricas, que incluyen:
1 canal ADC | 1 canal de ADC SAR de precisión de 10 bits. |
2 interfaces UART | UART0 se puede utilizar para la comunicación. Dado que UART1 presenta solo una señal de transmisión de datos (TX), generalmente se usa para imprimir registros. |
4 salidas PWM | 4 canales de pines PWM para atenuar LED o controlar motores. |
2 interfaces SPI y 1 I2C | Hay 2 interfaces SPI y 1 I2C para conectar todo tipo de sensores y periféricos. |
interfaz I2S | 1 interfaz I2S si desea agregar sonido a su proyecto. |
Gracias a la función de multiplexación de pines del ESP8266 (múltiples periféricos multiplexados en un solo pin GPIO). Lo que significa que un solo pin GPIO puede actuar como PWM/UART/SPI.
Puede obtener información detallada sobre ESP8266 en la hoja de datos.
Distribución de pines ESP8266
La placa de desarrollo ESP8266 tiene un total de 30 pines que la conectan con el mundo exterior. Para simplificar, los pines con funcionalidad similar se agrupan. El pinout es el siguiente:
Analicemos los pines ESP8266 y sus funciones uno por uno con más detalle.
Pines GPIO
La placa de desarrollo ESP8266 tiene 17 pines GPIO que se pueden asignar a varias funciones mediante programación. Cada GPIO puede configurarse para pull-up o pull-down interno, o establecerse en alta impedancia.
¿Qué GPIO ESP8266 son seguros de usar?
Debido a que el ESP8266 tiene muchos pines con funciones específicas, es posible que no sean adecuados para sus proyectos. La siguiente tabla muestra qué pines son seguros de usar y qué pines requieren más atención antes de usarlos.
- – Tus pines de primera prioridad. Están perfectamente bien para usar.
- – Preste atención ya que su comportamiento puede ser impredecible, principalmente durante el arranque. No los use a menos que sea absolutamente necesario.
- – No se recomienda utilizar estos pines. Así que evítalos.
Etiqueta | GPIO | Seguro de usar? | Razón |
D0 | GPIO16 | ALTO en el arranque, usado para despertar de un sueño profundo | |
D1 | GPIO5 | ||
D2 | GPIO4 | ||
D3 | GPIO0 | conectado al botón FLASH, el arranque falla si se tira BAJO | |
D4 | GPIO2 | ALTO en el arranque, el arranque falla si se tira BAJO | |
D5 | GPIO14 | ||
D6 | GPIO12 | ||
D7 | GPIO13 | ||
D8 | GPIO15 | Requerido para el arranque, el arranque falla si se tira ALTO | |
RX | GPIO3 | Pin Rx, utilizado para flashear y depurar | |
Texas | GPIO1 | Pin Tx, utilizado para flashear y depurar | |
CLK | GPIO6 | Conectado a la memoria Flash | |
SDO | GPIO7 | Conectado a la memoria Flash | |
CMD | GPIO11 | Conectado a la memoria Flash | |
SD1 | GPIO8 | Conectado a la memoria Flash | |
SD2 | GPIO9 | Conectado a la memoria Flash | |
SD3 | GPIO10 | Conectado a la memoria Flash | |
A0 | ADC0 | Pin de entrada analógica, no se puede configurar como salida |
Para su comodidad, aquí hay una imagen que muestra qué pines GPIO son seguros de usar.
Pines ADC
El ESP8266 está integrado con un ADC SAR de precisión de 10 bits.
El ADC del ESP8266 es un ADC de 10 bits, lo que significa que tiene la capacidad de detectar 1024 (2 10 ) niveles analógicos discretos. En otras palabras, mapeará los voltajes de entrada entre 0 y el voltaje operativo de 3,3 V en valores enteros entre 0 y 1024. Por ejemplo, esto produce una resolución entre lecturas de: 3,3 voltios / 1024 unidades o 0,0032 voltios (3,2 mV) por unidad.
Las siguientes dos medidas se pueden implementar usando ADC. Sin embargo, no se pueden implementar al mismo tiempo.
- Mida el voltaje de la fuente de alimentación de VDD3P3 (Pin3 y Pin4).
- Mida el voltaje de entrada de A0.
Pines SPI
ESP8266 cuenta con dos SPI (SPI y HSPI) en modo esclavo y maestro. Estos SPI también admiten las siguientes funciones de SPI de propósito general:
- 4 modos de temporización de la transferencia de formato SPI
- Hasta 80 MHz y los relojes divididos de 80 MHz
- FIFO de hasta 64 bytes
En realidad, puede usar cualquier pin GPIO como pin SPI mediante 'bitbanging', pero si termina usando 'hardware SPI', querrá usar los pines HSPI (GPIO12-15).
Por lo general, las bibliotecas estándar también usan pines HSPI entre los dos.
Pines I2C
El ESP8266 no tiene pines I2C de hardware, pero se puede hacer 'bitbanging'. Funciona bastante bien y el ESP8266 es lo suficientemente rápido como para igualar la velocidad del 'nivel de Arduino'.
GPIO4 (SDA) y GPIO5 (SCL) se utilizan como pines I2C de forma predeterminada, para que sea más fácil para las personas que utilizan el código Arduino, las bibliotecas y los bocetos existentes.
Sin embargo, puede usar otros dos pines GPIO como pines I2C llamando wire.begin(SDA, SCL)
al IDE de Arduino.
Pines UART
ESP8266 tiene 2 interfaces UART, es decir, UART0 y UART1, que proporcionan comunicación asíncrona (RS232 y RS485) y comunican hasta 4,5 Mbps.
- UART0 (pines TXD0, RXD0, RST0 y CTS0) se utiliza para la comunicación.
- UART1 (pin TXD1), por otro lado, presenta solo una señal de transmisión de datos, por lo que generalmente se usa para imprimir registros.
TXD0 y RXD0 son pines de control y carga de arranque en serie. Estos están conectados a través de un convertidor de USB a serie, por lo que debe tener cuidado al usarlos, ya que también recibirán tráfico USB en ellos.
Pines PWM
En ESP8266, la salida de modulación de ancho de pulso (PWM) se puede implementar mediante programación en todos los pines GPIO: GPIO0 a GPIO15.
La señal PWM en el ESP8266 tiene una resolución de 10 bits. Además, el rango de frecuencia PWM es ajustable de 1000 µs a 10000 µs, es decir, entre 100 Hz y 1 kHz.
Pines SDIO
El ESP8266 tiene una interfaz de entrada/salida digital segura (SDIO) que se utiliza para interactuar directamente con la tarjeta SD. Se admiten SDIO v1.1 de 4 bits y 25 MHz y SDIO v2.0 de 4 bits y 50 MHz.
Pines de alimentación
El pin VIN se puede usar para suministrar energía al ESP8266 cuando no está entregando energía a través de USB.
Los pines 3V3 se emiten desde el regulador de 3,3 V incorporado, pueden suministrar un pico de 500 mA.
El pin GND es el terreno común para toda la potencia y la lógica.
Pines de interrupción
Todos los GPIO se pueden configurar como interrupciones, excepto GPIO16.
Pines de control
RST es el pin de reinicio para el ESP8266, alto por defecto. Cuando se baja momentáneamente, restablecerá el sistema ESP8266. Es lo mismo que presionar el botón RST incorporado.
El pin FLASH es utilizado por el ESP8266 para determinar cuándo iniciar el gestor de arranque. Si el pin se mantiene bajo durante el encendido, ¡comenzará a cargarse! Es lo mismo que presionar el botón FLASH incorporado.
El pin EN (a veces etiquetado como CH_PD o Chip Power Down) se usa para habilitar ESP8266. El chip se habilita cuando se tira ALTO. Cuando se tira BAJO, el chip funciona a la potencia mínima.
El pin WAKE se usa para despertar el ESP8266 del modo de suspensión profunda, deberá conectarlo al pin RST.
Comentarios
Publicar un comentario