Obsah:
- Krok 1: Zapojení MCP23008
- Krok 2: Konstrukce desky
- Krok 3: Použití modulu knihovny
- Krok 4: Program Kitt Car
- Krok 5: 7 Segmentová LED
- Krok 6: Závěr
Video: NODEMCU LUA ESP8266 s integrovaným 8bitovým portem expandéru MCP23008: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:24
MCP23008 je 8bitový I/O expandér se sériovým rozhraním a pracuje mezi 1,8 a 5,5 volty, takže je ideální pro čipy ESP8266, Arduino, Raspberry Pi, PIC a další.
Pokud jste viděli můj další Instructable na MCP23017, možná si říkáte, proč také dělám jeden pro MCP23008, protože je to opravdu menší verze stejné věci.
Důvodem je, že jeho registry se liší jak jménem, tak číslem, a chtěl bych ukázat, jak používat hotový modul knihovny. Ne každý je zběhlý v používání NodeMCU lua, takže bych chtěl ukázat tento aspekt programování a také jak používat MCP23008.
Knihovna a programy jsou k dispozici na github.com.
Datový list pro MCP23008 je k dispozici od společnosti Microchip.
Krok 1: Zapojení MCP23008
MCP23008 IC má jednoduché rozložení a sestavení desky je pro ni skutečně snadné. Obvod můžete také nastavit na desce chleba.
Pin Connections na mé desce
- Kolík 18 (VDD) na 3v3
- Pin 9 (VSS) na GND
- Pin 7 (NC) na GND (není nutné)
- Pin 1 (SCL) na ESP GPIO2
- Pin 2 (SDA) na ESP GPIO0
- Kolík 5 (A0) na GND
- Pin 4 (A1) na GND
- Pin 3 (A2) na GND
- Pin 6 (RESET) na 3v3
Připojte piny ke čtení do Gnd na portu A (piny 10 - 17)
Poznámka: zde jsou všechny adresové piny připojeny k Gnd, aby používaly MCP23008 na adrese 0x20 na adresové sběrnici I2C.
Pokud byste používali adresu 0x21, pak by A0 bylo připojeno k 3,3 V, s A1 a A2 připojeno ke Gnd.
Podobně pokud by se použila adresa 0x22, pak by A1 muselo být připojeno k 3,3 V s A0 a A2 připojeno ke Gnd.
atd…
Krok 2: Konstrukce desky
Na konstrukci desky jsem použil desku Vero s pruhy 25 mm x 64 mm (9 řad x 25 otvorů). Je to trochu těsné, ale protože většina pinů, které potřebujete, je na obou stranách integrovaného obvodu, je adekvátní tomu, co má dělat.
Použil jsem 8 pinů a 8 konektorových konektorů pro port A, abych mohl zapojit své různé moduly a další zapojení pro různé projekty. Přidal jsem další piny Gnd a 3.3V, protože jsem zjistil, že při spojování modulů je vždy nedostatek.
Krok 3: Použití modulu knihovny
Moduly knihovny obvykle obsahují výběr dílčích rutin, funkcí a proměnných, ke kterým má přístup jiný program. Samotný program neběží, ale k jeho funkcím má přístup volající program. To znamená, že můžete mít své dílčí rutiny v knihovně a vyvolat je, kdykoli je budete potřebovat, čímž vytvoříte malý volací program. Stává se cennějším, pokud máte mnoho různých programů používajících stejné dílčí rutiny, nemusíte tyto podprogramy zahrnovat do každého programu.
Poznámka: Program mcp23008.lua je třeba načíst do paměti ESP8266 jako ostatní programy.
Zahrnul jsem sem programy github.com a jednoduchý program (test.lua), který ukazuje, že knihovna funguje.
Existují alespoň 2 způsoby, jak zahrnout knihovnu do vašeho programu.
vyžadovat ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. SLOW)
nebo
mcp = vyžadovat ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Oba výše uvedené dělají totéž, ale druhá metoda vám umožňuje místo názvu programu použít vlastní proměnnou.
Krok 4: Program Kitt Car
Zahrnul jsem program KittCar23008.lua a KittLib.lua, který pomocí knihovny ukazuje rozdíly v tom, jak psát programy tímto způsobem. Oba programy dělají totéž.
8 LED zástrčka je k dispozici od Ebay jako sada a je známá jako 8kanálová sada LED DIY Kit pro tekoucí vodu, 99p z Číny. Musíte to pájet sami.
Poznámka: Pokud máte problém se spuštěním programu KittLib.lua, zkuste na chvíli připojit pin MCP23008 RESET ke Gnd. Vím, že to způsobí přímý zkrat (protože je připojen k 3,3 V) a musíte resetovat vše ostatní. Funguje to také tak, že se připojíte ke Gnd přes odpor 10 ohmů, pravděpodobně lepší způsob, jak to udělat.
Také jsem zjistil, že KittLib.lua poběží bez problémů po spuštění test.lua (Neptejte se mě proč?)
Zkoušel jsem různé způsoby, jak vyřešit problém s programem KittLib.lua, ale zatím jsem nenašel žádný logický důvod, proč se zhroutí. Máte někdo nějaké nápady?
Nenapsal jsem všechny tyto programy sám, takže nejsem schopen říci, proč je problém, ačkoli po pohledu na kódování se nezdá, že by bylo něco zjevně špatně.
Krok 5: 7 Segmentová LED
Stejně jako u programu KittCar.lua výše jsem zahrnoval samostatný a na knihovně závislý program pro řízení 7segmentového LED displeje.
Oba programy opět dělají totéž, ale ukazují, jak používat modul knihovny, který jste napsali vy nebo někdo jiný.
Krok 6: Závěr
Pokusil jsem se ukázat, jak používat moduly kódu v prostředí Lua a současně je aplikovat na konkrétní IC.
I když jsem s tím měl problém, myslím si, že je toho dost na to, aby se ukázalo, jak tyto moduly fungují, a také na ukázku aplikace v reálném životě.
Doporučuje:
Oprava problému se sériovým portem/ovladačem Mac Lilypad USB: 10 kroků (s obrázky)
Oprava problému se sériovým portem/ovladačem Mac Lilypad USB: Je váš Mac od roku 2016 mladší než 2 roky? Nedávno jste upgradovali na nejnovější operační systém (Yosemite nebo cokoli novějšího)? Vaše USB/MP3 Lilypad již nefungují? Moje tutoriál vám ukáže, jak jsem opravil USB Lilypad. Chyba, na kterou jsem narazil, souvisela
Arduino MEGA 2560 s integrovaným WiFi - ESP8266: 10 kroků
Arduino MEGA 2560 s integrovaným WiFi - ESP8266: V dnešním textu pojednáváme o Arduinu, které považuji za extrémně speciální, protože má na desce integrovaný ESP8266. ESP12 není připájeno na desku. Místo toho má čip Espressif. Takže na desce máte vestavěný
Sdílejte WiFi s ethernetovým portem na Raspberry Pi: 7 kroků (s obrázky)
Sdílejte WiFi s ethernetovým portem na Raspberry Pi: Máte starou laserovou tiskárnu nebo skener, který stále funguje skvěle, ale není kompatibilní s WiFi? Nebo možná chcete připojit externí pevný disk jako záložní zařízení k vaší síti a na vašem domácím routeru vám došly ethernetové porty. Tento instr
Jak upravit tričko ekvalizéru s portem pro sluchátka: 2: 6 kroků
Jak upravit tričko s ekvalizérem se sluchátkovým portem: 2: Tento návod je do značné míry stejný jako můj původní návod k použití T-Qualizeru, ale s několika poznámkami navíc, které jsem se naučil po cestě. Začínáme: Ta trička s ekvalizéry jsou naprosto úžasná, ale mikrofony bývají poddimenzované
Mini subwoofer s portem: 9 kroků
Mini subwoofer s portem: V tomto instruktážním (mém prvním) vám ukážu, jak vytvořit mini přenosný subwoofer s portem! Zanechte prosím komentáře - buďte kritičtí, ale milí, protože toto je můj první pokyn a je mi teprve patnáct. POKUD SE ROZHODNETE TO VYROBIT, RÁD RÁDI VIDÍM P