Índice:

NODEMCU LUA ESP8266 com IC expansor de porta de 16 bits MCP23017: 6 etapas (com imagens)
NODEMCU LUA ESP8266 com IC expansor de porta de 16 bits MCP23017: 6 etapas (com imagens)

Vídeo: NODEMCU LUA ESP8266 com IC expansor de porta de 16 bits MCP23017: 6 etapas (com imagens)

Vídeo: NODEMCU LUA ESP8266 com IC expansor de porta de 16 bits MCP23017: 6 etapas (com imagens)
Vídeo: ESP8266 NodeMCU Interface - MCP23017 i/o expender with LED Example! 2024, Julho
Anonim
NODEMCU LUA ESP8266 com IC expansor de porta de 16 bits MCP23017
NODEMCU LUA ESP8266 com IC expansor de porta de 16 bits MCP23017

O MCP23017 é um IC relativamente fácil de fazer uma placa, pois tem as portas A e B em ambos os lados do chip e os pinos estão em ordem sequencial.

Da mesma forma, o barramento de endereço I2C está todo junto também.

Existem 2 pinos neste IC que não são usados, pois é comparável ao MCP23S17, que usa uma interface SPI onde esses pinos são usados.

Uma folha de dados para este IC está disponível na Microchip.

Etapa 1: Diagrama de Circuito

Diagrama de circuito
Diagrama de circuito

O diagrama do circuito mostra como conectar o IC a um ESP8266

NOTA: O IC funciona entre 2,7 e 5,5 Volts.

Conexões de pinos na minha placa

  • Pino 9 (VDD) a 3v3
  • Pino 18 (RESET) para 3v3
  • Pino 17 (A2) para GND
  • Pino 16 (A1) para GND
  • Pino 15 (A0) para GND
  • Pino 14 (NC) para GND (não necessário)
  • Pino 13 (SDA) para ESP GPIO0
  • Pino 12 (SCL) para ESP GPIO2
  • Pino 11 (NC) para GND (não necessário)
  • Pino 10 (VSS) para GND

Etapa 2: Fazendo a placa principal

Fazendo a placa principal
Fazendo a placa principal

A prancha é simples de fazer conforme explicado acima, tudo tem um layout simples.

Minha placa principal demorou pouco para ser feita e é mostrada acima.

É claro que você pode construir este circuito em uma placa de ensaio.

Etapa 3: placas adicionais

Placas Adicionais
Placas Adicionais

Eu criei algumas placas extras de 8 bits que podem ser facilmente conectadas em placas de projeto diferentes.

A primeira placa é conectada a um display LED de 7 segmentos e é conectada ao pino 1 ao segmento a, pino 2 a b etc. Há um pequeno resistor (cerca de 55 ohms) para proteger os LEDs.

O segundo é um banco de 8 switches, todos conectados entre si e podem ser conectados a 3,3 V ou aterramento. Não incluí resistores pull, pois o MCP23017 os tem embutidos.

O terceiro é de um kit Ebay, é composto por 8 LEDs e uma matriz de resistores com conexão para Gnd. Eu também tenho a mesma placa, mas instalei os LEDs ao contrário para que se conecte a 3,3 V ou 5 V em vez de Gnd. No Ebay, eles são conhecidos como um Kit DIY LED de luz de água corrente de 8 canais, 99p da China.

Etapa 4: Programação

Programação
Programação

Eu escrevi os programas para trabalhar com um ESP01, pois ele tem apenas 2 pinos de E / S. Claro que pode ser usado com qualquer uma das placas ESP8266. Os pinos SDA e SCL podem ser alocados a qualquer pino entre 1 e 12.

Se estiver usando uma versão mais antiga do LUA (por exemplo, NodeMCU 0.9.6 build 20150704 equipado com Lua 5.1.4), o I2C já está instalado. Caso contrário, você precisa garantir que o módulo I2C esteja incluído em sua construção.

Incluí 3 programas Lua simples para mostrar como o IC pode ser usado.

7Segment.lua aciona um display de LED e sequências entre os números de 1 a 0.

KittCar.lua dirige a placa de 8 LEDs para simular o famoso carro dos anos 80.

Reader.lua lê da Porta B.

Etapa 5: qual pino?

Qual pino?
Qual pino?

Um programa extra que criei enquanto tentava.

Ele usa a porta B como entrada e a porta A como saída. A foto mostra interruptores DIP, mas você pode conectar um dos pinos da porta B ao Gnd e o display LED mostrará qual pino está conectado.

NOTA: Funciona apenas com 1 pino de cada vez!

Etapa 6: Conclusão

Conclusão
Conclusão

Existem, é claro, outros expansores de E / S disponíveis. Alguns são de 8 bits, 16 bits e até 24 bits! Todos funcionam de maneira semelhante ao MCP23017, mas este IC é muito barato por suas capacidades e pode ser adquirido por cerca de 10p cada na China.

Não usei todos os recursos deste IC, pois também há interrupções disponíveis que podem ser utilizadas. Ler a folha de dados informa tudo sobre os diferentes registros e maneiras como o CI pode ser usado.

É possível ter 8 desses dispositivos no mesmo barramento I2C, fornecendo 128 portas de E / S, todas controladas por 2 linhas. Pense nas possibilidades aí!

Recomendado: