Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
MCP23017 je relativně snadný integrovaný obvod, protože má port A a B na obou stranách čipu a kolíky jsou v sekvenčním pořadí.
Podobně je sběrnice adres I2C také pohromadě.
Na tomto IC jsou 2 piny, které jsou nepoužité, protože jsou srovnatelné s MCP23S17, který používá rozhraní SPI, kde jsou tyto piny použity.
Datový list pro tento IC je k dispozici od společnosti Microchip.
Krok 1: Schéma zapojení
Schéma zapojení ukazuje, jak připojit IC k ESP8266
POZNÁMKA: Integrovaný obvod běží mezi 2,7 a 5,5 volty.
Pin Connections na mé desce
- Pin 9 (VDD) na 3v3
- Kolík 18 (RESET) na 3v3
- Kolík 17 (A2) na GND
- Pin 16 (A1) na GND
- Kolík 15 (A0) na GND
- Pin 14 (NC) na GND (není nutné)
- Pin 13 (SDA) na ESP GPIO0
- Pin 12 (SCL) na ESP GPIO2
- Pin 11 (NC) na GND (není nutné)
- Pin 10 (VSS) na GND
Krok 2: Výroba základní desky
Deska je připravena, jak je vysvětleno výše, vše má jednoduché rozložení.
Výroba mé hlavní desky zabrala málo času a je zobrazena výše.
Tento obvod můžete samozřejmě postavit na prkénku.
Krok 3: Další desky
Vytvořil jsem několik dalších 8 bitových desek, které lze snadno zapojit do různých projektových desek.
První deska je připojena k 7segmentovému LED displeji a je připojena pinem 1 k segmentu a, pinem 2 až b atd. K ochraně LED je malý odpor (asi 55 ohmů).
Druhým je 8 přepínačů, které jsou zapojeny dohromady a lze je připojit k 3,3 V nebo k zemi. Nezahrnul jsem žádné tažné odpory, protože MCP23017 je má vestavěné.
Třetí je ze sady Ebay, skládá se z 8 LED diod a pole odporů s připojením na Gnd. Mám také stejnou desku, ale nainstaloval jsem diody LED opačně, takže se místo Gnd připojí k 3,3 V nebo 5 V. Na Ebay jsou známí jako 8kanálová sada LED DIY Kit pro tekoucí vodu, 99p z Číny.
Krok 4: Programování
Napsal jsem programy pro práci s ESP01, protože tento má pouze 2 I/O piny. Lze jej samozřejmě použít s jakoukoli deskou ESP8266. Piny SDA a SCL lze přiřadit jakémukoli kolíku mezi 1 a 12.
Pokud používáte starší verzi LUA (např. NodeMCU 0.9.6 build 20150704 od Lua 5.1.4), I2C je již nainstalován. V opačném případě musíte zajistit, aby byl modul I2C součástí vaší sestavy.
Zahrnul jsem 3 jednoduché programy Lua, abych ukázal, jak lze IC použít.
7Segment.lua pohání LED displej a sekvence mezi čísly 1 až 0.
KittCar.lua pohání desku 8 LED, která simuluje slavné auto z 80. let.
Reader.lua čte z portu B.
Krok 5: Který pin?
Extra program, který jsem vymyslel, když jsem se šťoural.
Používá port B jako vstup a port A jako výstup. Na fotografii jsou DIP přepínače, ale můžete připojit jeden z pinů portu B ke Gnd a LED displej ukáže, který pin je připojen.
POZNÁMKA: Funguje pouze s 1 pinem najednou!
Krok 6: Závěr
K dispozici jsou samozřejmě i další expandéry I/O. Některé jsou 8bitové, 16bitové a dokonce 24bitové! Všechny fungují podobným způsobem jako MCP23017, ale tento integrovaný obvod je pro své schopnosti velmi levný a lze jej získat z Číny přibližně za 10 p.
Nepoužil jsem všechny funkce tohoto IC, protože jsou k dispozici také přerušení, která lze použít. Čtení datového listu říká vše o různých registrech a způsobech, jak lze IC použít.
Je možné mít 8 z těchto zařízení na stejné I2C sběrnici poskytující 128 I/O portů ovládaných 2 linkami. Přemýšlejte o tamních možnostech!