MCP23017 Digitális 16 bites I/O port bővítő és expander modul (I2C, 3.3V/5V)
- Vezérlő IC: Microchip MCP23017
- Bővített I/O-k száma: 16 db (2 × 8 bites port: GPIOA és GPIOB)
- Interfész: I2C (100 kHz – 1,7 MHz, implementációtól függően)
- Tápfeszültség: 2,7–5,5 V
MCP23017 16 bites I/O bővítő modul – I2C interfész, Arduino és ESP32 mellé
Az MCP23017 I/O bővítő modul egy soros-párhuzamos bővítőkártya, amellyel 16 további digitális I/O lábat adhatsz bármely mikrokontrollerhez, mindössze I2C buszon keresztül. Kiválóan alkalmas, ha elfogytak a szabad GPIO-k az Arduino/ESP32-n, de sok LED-et, gombot, relét vagy szenzort kell kezelni.
💡 Miért érdemes ezt az I/O bővítőt választani?
- 🔢 16 bővített I/O láb Egyetlen modul 2 × 8 bites porton (GPIOA, GPIOB) 16 új digitális lábat ad.
- 🔌 Egyszerű I2C csatlakozás Mindössze 2 vezeték (SDA, SCL) szükséges a bekötéshez.
- 🔀 Egyenként konfigurálható lábak Minden pin szabadon beállítható bemenetnek vagy kimenetnek.
- 🧩 Több modul egy buszon Az A0-A2 címbeállító lábakkal akár 8 modul is köthető egyetlen I2C buszra.
📊 Műszaki adatok
| Vezérlő IC | Microchip MCP23017 |
|---|---|
| Bővített I/O-k száma | 16 db (2 × 8 bites port: GPIOA és GPIOB) |
| Interfész | I2C (100 kHz – 1,7 MHz, implementációtól függően) |
| Tápfeszültség | 2,7–5,5 V |
| I/O üzemmód | Egyenként konfigurálható bemenet/kimenet, beépített pull-up bemeneteken |
| Megszakítás (interrupt) | Külön INTA/INTB vonal, portonként |
| Címzés egy buszon | A0-A2 lábakkal max. 8 modul egy I2C buszon (128 I/O) |
| Csomag tartalma | 1× MCP23017 I/O bővítő modul, 2× tűsor |
🔌 Bekötés és kezelőszervek
| VCC / GND | Tápfeszültség betáplálása a modul számára (2,7–5,5 V) |
|---|---|
| SDA / SCL | I2C adat- és órajel vonal a mikrokontrollerhez |
| A0 / A1 / A2 | I2C címbeállító lábak, GND-re vagy VCC-re kötve a modul busz-címét adják meg |
| GPA0–GPA7 | A GPIOA port 8 db egyedileg konfigurálható be-/kimeneti lába |
| GPB0–GPB7 | A GPIOB port 8 db egyedileg konfigurálható be-/kimeneti lába |
| INTA / INTB | Megszakítás-kimenet, állapotváltozás jelzésére a GPIOA / GPIOB porton |
| RESET | A modul hardveres visszaállítása (jellemzően VCC-re kötve tartandó normál üzemben) |
🔍 A legfontosabb paraméterek
- 16 dbBővített I/O
- I2CInterfész
- 2,7–5,5VTápfeszültség
- 8 modulMax. egy buszon
💡 Mire használható?
-
LED-ek és relék vezérlése Akár 16 LED, relé vagy más kimenet kezelése egyetlen I2C modulon keresztül.
-
Gombmátrixok, kapcsolók Több gomb vagy kapcsoló bemenetének kezelése beépített pull-up ellenállással.
-
Kompakt vezérlőpanelek Sok I/O-t igénylő panel, kezelőfelület kialakítása kevés vezetékkel.
-
Okosotthon, ipari vezérlés Szenzorok, aktuátorok tömeges csatlakoztatása Arduino vagy ESP32 mellé.
🛡️ Előnyök és funkciók
-
Kevés vezetékes bővítés: Mindössze 2 vezetékkel (SDA, SCL) 16 új digitális I/O lábat kapsz, így jelentősen csökken a huzalozás bonyolultsága.
-
Rugalmas I/O konfiguráció: Mind a 16 láb egyenként állítható be bemenetnek vagy kimenetnek, az adott projekt igényei szerint.
-
Hatékony megszakításkezelés: Az INTA/INTB vonalak lehetővé teszik, hogy a mikrokontroller csak tényleges eseménynél (pl. gombnyomás) foglalkozzon a modullal, nem kell folyamatosan pollingolni.
-
Nagy bővíthetőség: Az A0-A2 címbeállító lábaknak köszönhetően akár 8 modul is köthető egy I2C buszra, így összesen 128 I/O érhető el.
⚠️ Mire kell figyelni a használat során?
-
Egyedi I2C cím beállítása: Több modul egy buszon való használatakor az A0-A2 lábakkal minden modulnak egyedi címet kell adni, különben címütközés lép fel.
-
Logikai szint illesztése: A modul logikai szintje megegyezik a tápfeszültséggel, ezért 3,3V-os és 5V-os rendszerek keverésekor ügyelj a szintillesztésre.
-
Portirány beállítása kimenet előtt: A lábak IODIRA/IODIRB regiszterben történő beállítása nélkül a modul nem a várt módon (be- vagy kimenetként) viselkedik.
-
Terhelhetőség figyelembevétele: A kimeneti lábak korlátozott áramot bírnak, nagyobb fogyasztású terhelést (relé, motor) mindig tranzisztoron/MOSFET-en keresztül vezérelj.
-
RESET láb állapota: A RESET lábat normál működéshez VCC-re kell kötni, lebegő állapotban a modul instabilan működhet.
🧩 Használati tippek
-
Kész könyvtár használata: Arduino/ESP32 környezetben az Adafruit MCP23017 (vagy hasonló) könyvtárral gyorsan elindítható a modul, egyszerű pinMode/digitalWrite hívásokkal.
-
Interrupt kihasználása: Gombmátrixnál érdemes az INTA/INTB kimenetet a mikrokontroller egy külső megszakítás-bemenetére kötni az energiahatékonyabb működéshez.
-
Pull-up bekapcsolása bemeneten: Gombok, kapcsolók bekötésénél a modul beépített pull-up ellenállása külön alkatrész nélkül is stabil bemeneti jelet biztosít.
❓ Gyakori kérdések (GYIK)
-
🔢 Hány I/O lábat ad hozzá a modul?A modul 16 db, egyenként konfigurálható digitális I/O lábat ad, két 8 bites porton (GPIOA és GPIOB) keresztül.
-
🔌 Milyen interfészen kommunikál a mikrokontrollerrel?A modul I2C buszon keresztül kommunikál, mindössze az SDA és SCL vezetékek szükségesek a bekötéshez.
-
⚡ Használható 3,3V-os ESP32-vel is?Igen, a modul 2,7–5,5V tápfeszültség-tartományban működik, így 3,3V-os ESP32/ESP8266 és 5V-os Arduino rendszerekkel is kompatibilis.
-
🔀 Lehet mind a 16 láb bemenet és kimenet is?Igen, minden láb egyenként, szoftveresen konfigurálható bemenetként vagy kimenetként.
-
🧩 Köthető több modul egy buszra?Igen, az A0-A2 címbeállító lábak segítségével akár 8 modul is köthető egyetlen I2C buszra, összesen 128 I/O-t biztosítva.
-
📦 Mit tartalmaz a csomag?A csomag 1 db MCP23017 I/O bővítő modult és 2 db tűsort tartalmaz.
Beszélgetés
Legyen az első, aki véleményt ír ehhez a tételhez!
