Obsah:
- Krok 1: Zapojenie MCP23008
- Krok 2: Konštrukcia dosky
- Krok 3: Použitie modulu knižnice
- Krok 4: Program Kitt Car
- Krok 5: 7 Segmentová LED
- Krok 6: Záver
Video: NODEMCU LUA ESP8266 s 8 bitovým portovým expandérom MCP23008 IC: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:01
MCP23008 je 8-bitový I/O expandér so sériovým rozhraním a pracuje medzi 1,8 až 5,5 voltov, takže je ideálny pre čipy ESP8266, Arduino, Raspberry Pi, PIC a ďalšie.
Ak ste videli môj ďalší inštrukčný na MCP23017, možno by vás zaujímalo, prečo robím aj pre MCP23008, pretože je to skutočne menšia verzia toho istého.
Dôvodom je, že jeho registre sa líšia v názve aj v čísle a rád by som ukázal, ako používať hotový knižničný modul. Nie každý je zdatný v používaní NodeMCU lua, preto by som rád ukázal tento aspekt programovania a tiež spôsob použitia MCP23008.
Knižnica a programy sú dostupné na github.com.
Dátový list pre MCP23008 je k dispozícii od spoločnosti Microchip.
Krok 1: Zapojenie MCP23008
MCP23008 IC má jednoduché rozloženie a zostavenie dosky je pre neho skutočne jednoduché. Okruh môžete nastaviť aj na doske na chlieb.
Pripojenia pinov na mojej doske
- Kolík 18 (VDD) na 3v3
- Kolík 9 (VSS) na GND
- Kolík 7 (NC) na GND (nie je potrebné)
- Pin 1 (SCL) na ESP GPIO2
- Pin 2 (SDA) na ESP GPIO0
- Kolík 5 (A0) na GND
- Kolík 4 (A1) na GND
- Kolík 3 (A2) na GND
- Kolík 6 (RESET) na 3v3
Pripojte piny, ktoré chcete čítať, do Gnd na porte A (piny 10 - 17)
Poznámka: tu sú všetky kolíky adries pripojené k Gnd, aby používali MCP23008 na adrese 0x20 na zbernici adries I2C.
Ak by ste používali adresu 0x21, potom by A0 bolo pripojené k 3,3 V, pričom A1 a A2 by boli pripojené k Gnd.
Podobne, ak by sa použila adresa 0x22, potom by musel byť A1 pripojený k 3,3 V s A0 a A2 pripojenými k Gnd.
atď…
Krok 2: Konštrukcia dosky
Na konštrukciu svojej dosky som použil dosku Pero 25 mm x 64 mm (9 radov x 25 otvorov). Je to trochu tesné, ale pretože väčšina pinov, ktoré potrebujete, je na oboch stranách integrovaného obvodu, je postačujúce na to, čo má robiť.
Na port A som použil 8 pinov a 8 zásuviek záhlavia, aby som mohol zapojiť svoje rôzne moduly a ďalšie káble pre rôzne projekty. Pridal som ďalšie piny Gnd a 3,3 V, pretože som zistil, že pri spájaní modulov je ich vždy nedostatok.
Krok 3: Použitie modulu knižnice
Knižničné moduly obvykle obsahujú výber čiastkových rutín, funkcií a premenných, ku ktorým má prístup iný program. Samotný program nebeží, ale k jeho funkciám má prístup volajúci program. Znamená to, že môžete mať svoje čiastkové rutiny v knižnici a vyvolať ich, kedykoľvek ich potrebujete, čím vytvoríte malý volací program. Stane sa to cennejším, ak máte mnoho rôznych programov používajúcich rovnaké podradené rutiny, nie je potrebné zahrnúť ich do každého programu.
Poznámka: Program mcp23008.lua je potrebné načítať do pamäte ESP8266 ako ostatné programy.
Zahrnul som sem programy github.com a jednoduchý program (test.lua), ktorý ukazuje, že knižnica funguje.
Knižnicu môžete do svojho programu zahrnúť najmenej dvoma spôsobmi.
vyžadovať ("mcp23008")
mcp23008.begin (0x0, gpio2, gpio0, i2c. SLOW)
alebo
mcp = vyžadovať ("mcp23008")
mcp.begin (0x0, gpio2, gpio0, i2c. SLOW)
Oba vyššie uvedené robia to isté, ale druhá metóda vám umožňuje použiť namiesto názvu programu vlastnú premennú.
Krok 4: Program Kitt Car
Zahrnul som program KittCar23008.lua a KittLib.lua, ktoré v knižnici ukazujú rozdiely v spôsobe písania programov týmto spôsobom. Oba programy robia to isté.
Osem LED diód je k dispozícii od spoločnosti Ebay ako súprava a je známa ako 8 -kanálová súprava LED DIY súpravy s tečúcou vodou, 99p z Číny. Musíte to spájkovať sami.
Poznámka: Ak máte problém so spustením programu KittLib.lua, skúste na chvíľu pripojiť kolík RESET MCP23008 RESET do Gnd. Viem, že to spôsobí priamy skrat (pretože je pripojený k 3,3 V) a musíte resetovať všetko ostatné. Funguje to aj tak, že sa pripojíte k Gnd prostredníctvom odporu 10 ohmov, pravdepodobne je to lepší spôsob.
Tiež som zistil, že KittLib.lua pobeží bez problémov po spustení test.lua (Nepýtajte sa ma prečo?)
Skúsil som rôzne spôsoby, ako vyriešiť problém s programom KittLib.lua, ale zatiaľ som nenašiel žiadny logický dôvod, prečo sa zrúti. Máte niekto nejaké nápady?
Nenapísal som všetky tieto programy sám, takže nemôžem povedať, prečo je problém, aj keď po pohľade na kódovanie zjavne nie je nič zlé.
Krok 5: 7 Segmentová LED
Rovnako ako pre program KittCar.lua vyššie som zahrnul samostatný program a program závislý od knižnice na ovládanie 7 -segmentového LED displeja.
Oba programy opäť robia to isté, ale ukazujú, ako používať modul knižnice, ktorý ste napísali vy alebo niekto iný.
Krok 6: Záver
Pokúsil som sa predviesť, ako používať moduly kódu v prostredí Lua a súčasne ich aplikovať na konkrétne IC.
Aj keď som s tým mal problém, myslím si, že je toho dosť na to, aby sa ukázalo, ako tieto moduly fungujú, a tiež na ukážku aplikácie v reálnom živote.
Odporúča:
NODEMCU LUA ESP8266 Pripojenie k databáze MySQL: 6 krokov
NODEMCU LUA ESP8266 Pripojenie k databáze MySQL: Tento návod nie je pre slabozrakých, pretože používa XAMPP (Apache, MySQL & PHP), HTML a samozrejme LUA. Ak ste si istí, že ich zvládnete, čítajte ďalej! Používam XAMPP, pretože je možné ho nastaviť na disk pen alebo na pevný disk a konfiguruje sa
NODEMCU Lua ESP8266 s hodinami v reálnom čase (RTC) a EEPROM: 7 krokov
NODEMCU Lua ESP8266 s hodinami v reálnom čase (RTC) a EEPROM: Ak chcete viesť denník údajov, je dôležité získať správny čas. Existujú rôzne spôsoby, ako získať čas zo zdrojov na internete. Môžete sa opýtať, prečo nevyužiť ESP8266, aby vám zostal čas? Môžete, má svoj vlastný interný RTC (v reálnom čase
Uzel MCU so 4 -portovým reléovým modulom, aplikáciou Blynk, IFTTT a domovskou stránkou Google. Zisk ?: 5 krokov
Uzel MCU so 4 -portovým reléovým modulom, aplikáciou Blynk, IFTTT a domovskou stránkou Google. Zisk ?: Tento príspevok je o tom, ako prepojiť doménu Google s NodeMCU a aplikáciou blynk. Svoje spotrebiče môžete ovládať jednoduchým prepínačom NodeMCU ovládaným pomocou blynk a pomocníkom Google. Takže poďme, ok Google .. Zapnúť veci
Blikajúca LED dióda pomocou WiFi ESP8266 NodeMCU Lua Návod: 6 krokov
Blikajúca dióda LED pomocou ESP8266 NodeMCU Lua WiFi Tutorial: DESCRIPTIONNodeMCU je open source platforma IoT. Obsahuje firmvér, ktorý beží na ESP8266 WiFi SoC od Espressif, a hardvér, ktorý je založený na module ESP-12. Termín "NodeMcu" v predvolenom nastavení odkazuje na filmový softvér, nie na
NODEMCU LUA ESP8266 s 16 bitovým portovým expandérom MCP23017 IC: 6 krokov (s obrázkami)
NODEMCU LUA ESP8266 s integrovaným expandérom 16 bitových portov MCP23017: MCP23017 je relatívne jednoduchý obvod na výrobu dosky, pretože má port A a B na oboch stranách čipu a kolíky sú v sekvenčnom poradí. Podobne je zbernica adries I2C všetko spolu. Na tomto IC sú 2 kolíky, ktoré sa nepoužívajú, pretože