# Modulo expander I/O MCP23017 a 16 bit I2C CJMCU-2317

- Pagina: https://sigmanortec.ro/it/modulo-expander-i-o-mcp23017-a-16-bit-i2c-cjmcu-2317
- Prezzo: 23.07 RON
- Disponibilità: Disponibile
- Riferimento: 88289 · EAN: 5943519644806
- Categoria: Meccatronica e IoT > Sensori e moduli > Modulo di Espansione
- Specifiche: Tensione di alimentazione: 3.3-5.5 V DC; Dimensioni: 21 x 26.5 mm; Temperatura di esercizio: -40 ~ 85 °C; Interfaccia: I2C; Corrente massima: 25 mA; Frequenza di lavoro: pana la 1.7 MHz; Circuito integrato: MCP23017; Consumo in standby: 1 µA (maxim); Indirizzo I2C: 0x20-0x27; Numero di pin I/O digitali: 16 (2 porturi x 8, GPA0 - GPA7 si GPB0 - GPB7)
- Aggiornato: 2026-10-28
- Negozio: [Sigmanortec.ro](https://sigmanortec.ro/it/llms.txt)
- Prezzi: RON, IVA inclusa; prezzi e disponibilità al 2026-11-11 06:47 (Europe/Bucharest)

## Descrizione

Il modulo expander MCP23017 CJMCU-2317 aggiunge 16 pin digitali di ingresso/uscita a una scheda di sviluppo tramite interfaccia I2C, combinando il circuito MCP23017 con due file di pin per un montaggio rapido su breadboard. È adatto quando il numero di pin GPIO del microcontrollore non è sufficiente, ad esempio per il controllo di più relè, LED, display a LED, tastiere o interruttori, oppure per la lettura di un gran numero di ingressi digitali.
Il chip MCP23017 è un expander I2C a 16 bit organizzato in due porte da 8 pin ciascuna, GPA0 - GPA7 e GPB0 - GPB7, con ogni pin configurabile singolarmente come ingresso o uscita e dotato di una resistenza pull-up interna da 100 kOhm attivabile via software. La comunicazione utilizza l'interfaccia I2C con velocità di 100 kHz, 400 kHz o 1.7 MHz, mentre l'indirizzo sul bus viene impostato dai pin A0, A1 e A2, ottenendo 8 indirizzi possibili tra 0x20 e 0x27 e consentendo il collegamento di fino a 8 moduli identici sulla stessa coppia SDA SCL. Il modulo dispone di due uscite di interrupt programmabili INTA e INTB, generate automaticamente quando cambia lo stato di un ingresso, di un registro di polarità per l'inversione logica degli ingressi e di un circuito interno di reset all'accensione.
Tra le caratteristiche principali vi sono il circuito MCP23017 in package SOIC, la rete integrata di resistenze pull-up per le linee I2C, due file di pin per alimentazione, controllo e i 16 canali I/O, oltre ai fori di fissaggio sul PCB, mentre l'alimentazione avviene direttamente tramite i pin VCC e GND del modulo.
Tramite interfaccia I2C, il modulo è compatibile con Arduino, ESP32, STM32, Raspberry Pi e qualsiasi altra scheda di sviluppo o microcontrollore dotato di pin SDA e SCL.
Specifiche:
Tensione di alimentazione: 3.3 - 5.5 VDC
Corrente a riposo: 1 uA (massimo)
Chip: MCP23017
Interfaccia: I2C (IIC)
Numero pin I/O: 16 (2 porte x 8, GPA0 - GPA7 e GPB0 - GPB7)
Frequenza I2C: fino a 1.7 MHz (100 kHz / 400 kHz / 1.7 MHz)
Corrente massima per pin I/O: 25 mA
Corrente totale del package: 125 mA
Resistenze pull-up interne: 100 kOhm, configurabili singolarmente su ciascun pin
Uscite di interrupt: INTA, INTB, configurabili active-high, active-low o open-drain
Indirizzo I2C: 0x20 - 0x27
Pin per configurazione indirizzo: A0, A1, A2 (fino a 8 moduli sullo stesso bus)
Temperatura di esercizio: -40 - 85 gradi Celsius
Dimensioni: 21 x 26.5 mm
Layout:
1. Circuito expander MCP23017: Il circuito integrato originale, in package SOIC, che converte i comandi I2C in 16 linee digitali di ingresso o uscita.
2. Rete di resistenze pull-up: Rete integrata di resistenze utilizzata come pull-up per le linee SDA e SCL, sufficiente per connessioni brevi sullo stesso bus.
3. Header con pin di alimentazione e controllo: Raggruppa i pin VCC, GND, SCL, SDA, RESET, A0, A1, A2, INTA e INTB.
4. Header con pin di ingresso/uscita: Raggruppa i 16 canali digitali GPA0 - GPA7 e GPB0 - GPB7.
5. Fori di fissaggio: Fori per il montaggio della scheda su un supporto o in un contenitore.
Pinout:
Connettore
Pin
Funzione
Header alimentazione e controllo
VCC
Alimentazione 3.3 - 5.5 VDC
Header alimentazione e controllo
GND
Massa comune
Header alimentazione e controllo
SCL
Linea clock I2C
Header alimentazione e controllo
SDA
Linea dati I2C
Header alimentazione e controllo
RESET
Reset attivo a livello LOW, va collegato a VCC per il funzionamento normale
Header alimentazione e controllo
A0, A1, A2
Configurazione indirizzo I2C, ciascun pin a GND o VCC
Header alimentazione e controllo
INTA
Uscita interrupt porta A
Header alimentazione e controllo
INTB
Uscita interrupt porta B
Header I/O
GPA0 - GPA7
8 pin digitali di ingresso o uscita, porta A
Header I/O
GPB0 - GPB7
8 pin digitali di ingresso o uscita, porta B
A2
A1
A0
Indirizzo I2C
GND
0x20
GND
VCC
0x21
GND
VCC
GND
0x22
GND
VCC
0x23
VCC
GND
0x24
VCC
GND
VCC
0x25
VCC
GND
0x26
VCC
0x27
Schema e indirizzo I2C:
Lo schema di collegamento mostra il collegamento minimo tra il modulo e la scheda di sviluppo, tramite i pin VCC, GND, SCL e SDA, mentre la tabella degli indirizzi mostra esattamente le combinazioni dei pin A0, A1 e A2 che forniscono i 8 indirizzi possibili, tra 0x20 e 0x27, per l'uso di più moduli sullo stesso bus.
Utilizzo:
Collegate i pin VCC e GND del modulo a una sorgente da 3.3 V o 5 V, a seconda del livello logico della scheda di sviluppo, e collegate SCL e SDA alle corrispondenti linee I2C.
Collegate il pin RESET direttamente a VCC o tramite una resistenza da 10 kOhm, in modo che il modulo non rimanga bloccato in reset e venga rilevato correttamente sul bus.
Impostate l'indirizzo I2C desiderato collegando i pin A0, A1 e A2 a GND o VCC, ad esempio tutti e tre a GND per l'indirizzo 0x20, secondo la tabella degli indirizzi.
Configurate ciascuno dei 16 pin GPA0 - GPA7 e GPB0 - GPB7 come ingresso o uscita dal programma, prima di leggerne o scriverne lo stato, poiché dopo l'alimentazione tutti i pin sono per impostazione predefinita ingressi.
Per gli ingressi collegati a pulsanti o interruttori, abilitate il pull-up interno via software ed evitate resistenze esterne aggiuntive, se non è necessaria un'altra configurazione.
Per carichi come relè o LED, rispettate la corrente massima di 25 mA per ciascun pin I/O e la corrente totale di 125 mA del package; per carichi maggiori utilizzate transistor o moduli relè separati.
Per applicazioni con più moduli sullo stesso bus, assegnate a ciascuno un indirizzo univoco tramite la combinazione A0, A1, A2, fino a un massimo di 8 moduli contemporaneamente.
Per ridurre il polling continuo del bus I2C, utilizzate le uscite INTA e INTB, che vanno a livello LOW quando cambia un ingresso della porta corrispondente, e leggete i registri di interrupt per sapere quale pin e quale stato hanno generato l'interrupt.
Per connessioni più lunghe di qualche centimetro o per più moduli sullo stesso bus, aggiungete resistenze pull-up esterne da 4.7 kOhm su SDA e SCL, in aggiunta alla rete interna presente sul modulo.
Diagramma delle dimensioni:
