
Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-23 15:03

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

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

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

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

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?

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

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:
Raspberry Pi - PCA9536 Tutorial em Python do expansor de entrada / saída: 4 etapas

Raspberry Pi - Expansor de entrada / saída PCA9536 Python Tutorial: O PCA9536 é um dispositivo CMOS de 8 pinos que fornece 4 bits de expansão de entrada / saída paralela de uso geral (GPIO) para aplicações de barramento I2C / SMBus. Consiste em um registro de configuração de 4 bits para servir ao propósito de seleção de entrada ou saída, 4 bits
Raspberry Pi - Tutorial de Java do expansor de entrada / saída PCA9536: 4 etapas

Raspberry Pi - Expansor de entrada / saída PCA9536 Tutorial Java: O PCA9536 é um dispositivo CMOS de 8 pinos que fornece 4 bits de expansão de entrada / saída paralela de uso geral (GPIO) para aplicativos de barramento I2C / SMBus. Consiste em um registro de configuração de 4 bits para servir ao propósito de seleção de entrada ou saída, 4 bits
PCF8591 (Expansor de E / S analógica i2c) Uso rápido e fácil: 9 etapas

PCF8591 (Expansor de E / S analógica i2c) Rápido Fácil Uso: Biblioteca para usar i2c pcf8591 IC com arduino e esp8266. Este IC pode controlar (até 4) a entrada analógica e / ou 1 saída analógica como medir a tensão, ler o valor do termistor ou atenuar um led. Pode ler o valor analógico e escrever o valor analógico com apenas 2 fios (perfec
NODEMCU LUA ESP8266 com IC expansor de porta de 8 bits MCP23008: 6 etapas

NODEMCU LUA ESP8266 com MCP23008 IC expansor de porta de 8 bits: O MCP23008 é um expansor de E / S de 8 bits com interface serial e opera entre 1,8 e 5,5 volts, portanto, é ideal para ESP8266, Arduino, Raspberry Pi, PIC Chips e muito mais. Se você viu meu outro Instructable no MCP23017, deve estar se perguntando
Expansor de alcance WiFi no repetidor sem fio Linksys WRE54G: 6 etapas

Expansor de alcance WiFi no repetidor sem fio Linksys WRE54G: Definição do problema Às vezes, o alcance de operação existente não é suficiente ou, se houver obstáculos na rota entre o dispositivo e o roteador, a distância de operação pode ser reduzida drasticamente. Neste caso, você precisa aumentar a sensibilidade