Pines en el esp8266EX y sus distintos modulos.

Administrator

  • Administrator
  • Jr. Member
  • *****
    • Mensajes: 72
    • Ver Perfil
on: septiembre 16, 2018, 01:57:16 am

En este lio de los pines hay que tener en cuenta siempre que TODOS los modulos usan el ESP8266EX (espressif) como base, entonces TODOS, mantienen compatibilidad con los números de los GPIO. El problema es que al haber confusiones y simplificar todo para novatos, se popularizo el uso del nodemcu. El propósito de este tópico es normalizar ambas definiciones.

 Como habíamos visto para configurar el esp12, como el nodemcu y normalizar el lio de las definiciones era asi.

Código: [Seleccionar]
#define D0 16
#define D1 5 // I2C Bus SCL (clock)
#define D2 4 // I2C Bus SDA (data)
#define D3 0
#define D4 2 // El mismo que "LED_BUILTIN", pero con logica invertida
#define D5 14 // SPI Bus SCK (clock)
#define D6 12 // SPI Bus MISO
#define D7 13 // SPI Bus MOSI
#define D8 15 // SPI Bus SS (CS)
#define D9 3 // RX0 (Serial console)
#define D10 1 // TX0 (Serial console)

habíamos notado que el gpio02 estaba configurado como pull up (con la lógica invertida, es decir le mandas un 0 y lo prendes y viceversa)

Si bien en el esp01 (y cualquier esp8266) se usan los puertos gpio00 y gpio02. También (aunque ojo a riesgo de que si tenes problemas el esp queda inutilizable) podes usar los Rx y Tx como gpio.

-RXD es el pin por donde se van a recibir los datos del puerto serie. También se puede utilizar como pin digital GPIO: sería el número 3.

-TXD es el pin por donde se van a transmitir los datos del puerto serie. También se puede utilizar como pin digital GPIO: sería el número 1.

Para cambiar a modo gpio

Código: [Seleccionar]
//**** cambiar a gpio *****

//GPIO 1 (TX) Cambia a Gpio (no recomendable ya que te quedas sin debug, salvo debugear por wifi.

pinMode(1, FUNCTION_3);

//GPIO 3 (RX) cambia a gpio, en muchos lugares vi que usan una resistencia de 330 como para en caso de tener problemas no muera el pin. Ver pull-up vs pull-down abajo en las fotos

pinMode(3, FUNCTION_3);

//************************
Esta definición de arriba se pierde cuando pasa a modo programación, quedando los 2 pines como rx y tx por defecto.

Tambien por defecto viene asi.

Para volver a usar los como serial...

Código: [Seleccionar]
//**** cambiar a TX/RX *****

//GPIO 1 (TX) cambia a TX.

pinMode(1, FUNCTION_0);

//GPIO 3 (RX) cambia a RX.

pinMode(3, FUNCTION_0);

Así también podes usar el gpio00, el gpio02 y el gpio03 para usar SPI (pero volvemos a lo mismo tenes que tener en cuenta como están configurados los pines en el momento del arranque para que no cambien a programación). Ver fotos abajo.

Cita
Si notan el rx le pone una resistencia de 330 como usa un botón es para no dejar inutilizable el esp8266 ya que en caso de dañarlo no se puede volver a re programar.

Cita
El gpio15 ya viene conectado a tierra por defecto en el esp01 (en el esp12 no. Así que ojo).

Si se usa el gpio02, hay que tener en cuenta el estado del gpio00. Ido con esto después no reclamen si no les responde. Es porque volvieron a entrar a modo programación.

Cita

Para ahorrarse molestias, se podrían soldar así las resistencias ya que las mismas se usan así tanto en programación como en ejecución del programa.
Cita
Lo que se señala en el topic. Pero sumando que los pines tienen un maximo de salida de 12ma y es recomendado usar 6ma para no sobreexigirlos.

En tanto que el EN (tambien conocido como CHPD) es lo que activa el esp8266

Cita
Este es el modo de uso del esp12 (básicamente si lo notan es mas o menos lo mismo que el esp01).

En el esp12e y esp12f se pueden acceder a los pines de "abajo" que ya tratamos en otro posteriormente. Si bien se pueden usar (ojo solo el 9 y el 10), tienen que tener muy en cuenta que se usan en la comunicación con la memoria y pueden causar conflicto. Para usarlos se necesita previamente al cargar el programa setearlos de una manera especifica. Sino colgarán el esp en ambos modos programación y ejecución (a grandes rasgos) pero se puede volver a reutilizar previo seteo de por medio (o sea es un lio). Sin embargo si alguno necesitará usarlos si o si revivo el tópico dónde tratamos el tema.
Como curiosidad en el esp12S estos pines vuelven a no estar disponibles.

Cita


« Última Modificación: septiembre 16, 2018, 12:40:46 pm by Administrator »