Tabla de contenido:

NODEMCU LUA ESP8266 con IC de expansión de puerto de 16 bits MCP23017: 6 pasos (con imágenes)
NODEMCU LUA ESP8266 con IC de expansión de puerto de 16 bits MCP23017: 6 pasos (con imágenes)

Video: NODEMCU LUA ESP8266 con IC de expansión de puerto de 16 bits MCP23017: 6 pasos (con imágenes)

Video: NODEMCU LUA ESP8266 con IC de expansión de puerto de 16 bits MCP23017: 6 pasos (con imágenes)
Video: ESP8266 NodeMCU Interface - MCP23017 i/o expender with LED Example! 2024, Noviembre
Anonim
NODEMCU LUA ESP8266 con IC de expansión de puerto de 16 bits MCP23017
NODEMCU LUA ESP8266 con IC de expansión de puerto de 16 bits MCP23017

El MCP23017 es un IC relativamente fácil para hacer una placa, ya que tiene los puertos A y B a cada lado del chip y los pines están en orden secuencial.

De manera similar, el bus de direcciones I2C también está todo junto.

Hay 2 pines en este IC que no se usan, ya que es comparable al MCP23S17 que usa una interfaz SPI donde se usan estos pines.

Microchip dispone de una hoja de datos para este circuito integrado.

Paso 1: diagrama de circuito

Diagrama de circuito
Diagrama de circuito

El diagrama del circuito muestra cómo conectar el IC a un ESP8266

NOTA: El circuito integrado funciona entre 2,7 y 5,5 voltios.

Conexiones de pines en mi tablero

  • Pin 9 (VDD) a 3v3
  • Pin 18 (RESET) a 3v3
  • Pin 17 (A2) a GND
  • Pin 16 (A1) a GND
  • Pin 15 (A0) a GND
  • Pin 14 (NC) a GND (no es necesario)
  • Pin 13 (SDA) a ESP GPIO0
  • Pin 12 (SCL) a ESP GPIO2
  • Pin 11 (NC) a GND (no es necesario)
  • Pin 10 (VSS) a GND

Paso 2: hacer la placa principal

Haciendo la placa principal
Haciendo la placa principal

El tablero es sencillo de hacer como se explicó anteriormente, todo tiene un diseño simple.

Mi placa principal tomó poco tiempo para hacer y se muestra arriba.

Por supuesto, puede construir este circuito en una placa de pruebas.

Paso 3: Tableros adicionales

Tableros adicionales
Tableros adicionales

He creado algunas placas adicionales de 8 bits que se pueden conectar fácilmente a diferentes placas de proyectos.

La primera placa está conectada a una pantalla LED de 7 segmentos y está conectada el pin 1 al segmento a, el pin 2 al b, etc. Hay una pequeña resistencia (aproximadamente 55 ohmios) para proteger los LED.

El segundo es un banco de 8 interruptores, todos conectados entre sí y se pueden conectar a 3.3V o tierra. No he incluido ninguna resistencia de extracción ya que el MCP23017 las tiene incorporadas.

El tercero es de un kit de Ebay, consta de 8 LED y una matriz de resistencias con una conexión a Gnd. También tengo la misma placa pero instalé los LED al revés para que se conecte a 3.3V o 5V en lugar de Gnd. En Ebay se conocen como un kit de bricolaje LED de luz de agua que fluye de 8 canales, 99p de China.

Paso 4: programación

Programación
Programación

He escrito los programas para que funcionen con un ESP01, ya que solo tiene 2 pines de E / S. Por supuesto, se puede utilizar con cualquiera de las placas ESP8266. Los pines SDA y SCL se pueden asignar a cualquier pin entre 1 y 12.

Si usa una versión anterior de LUA (por ejemplo, NodeMCU 0.9.6 build 20150704 con tecnología de Lua 5.1.4), el I2C ya está instalado. De lo contrario, debe asegurarse de que el módulo I2C esté incluido en su compilación.

He incluido 3 programas Lua simples para mostrar cómo se puede usar el IC.

7Segment.lua maneja una pantalla LED y secuencias entre los números del 1 al 0.

KittCar.lua maneja la placa de 8 LED para simular el famoso automóvil de los años 80.

Reader.lua lee desde el puerto B.

Paso 5: ¿Qué Pin?

¿Qué pin?
¿Qué pin?

Se me ocurrió un programa adicional mientras jugaba.

Utiliza el puerto B como entrada y el puerto A como salida. La foto muestra interruptores DIP, pero puede conectar uno de los pines del puerto B a Gnd y la pantalla LED mostrará qué pin está conectado.

NOTA: ¡Solo funciona con 1 pin a la vez!

Paso 6: Conclusión

Conclusión
Conclusión

Por supuesto, hay otros expansores de E / S disponibles. Algunos son de 8 bits, 16 bits e incluso 24 bits. Todos funcionan de manera similar al MCP23017, pero este IC es muy barato para sus capacidades y puede obtenerse por alrededor de 10 peniques cada uno en China.

No he utilizado todas las funciones de este IC, ya que hay interrupciones disponibles que se pueden utilizar. La lectura de la hoja de datos le dice todo sobre los diferentes registros y formas en que se puede usar el IC.

Es posible tener 8 de estos dispositivos en el mismo bus I2C dando 128 puertos de E / S, todos controlados por 2 líneas. ¡Piense en las posibilidades que existen!

Recomendado: