Spisu treści:

NODEMCU LUA ESP8266 z 16-bitowym ekspanderem portów MCP23017 IC: 6 kroków (ze zdjęciami)
NODEMCU LUA ESP8266 z 16-bitowym ekspanderem portów MCP23017 IC: 6 kroków (ze zdjęciami)

Wideo: NODEMCU LUA ESP8266 z 16-bitowym ekspanderem portów MCP23017 IC: 6 kroków (ze zdjęciami)

Wideo: NODEMCU LUA ESP8266 z 16-bitowym ekspanderem portów MCP23017 IC: 6 kroków (ze zdjęciami)
Wideo: kurs Arduino programowanie - Expander PCF8574 - więcej pinów cyfrowych - #31 2024, Listopad
Anonim
NODEMCU LUA ESP8266 z 16-bitowym ekspanderem portów MCP23017 IC
NODEMCU LUA ESP8266 z 16-bitowym ekspanderem portów MCP23017 IC

MCP23017 jest stosunkowo łatwym układem scalonym do wykonania płytki, ponieważ ma porty A i B po obu stronach chipa, a styki są ułożone w kolejności.

Podobnie magistrala adresowa I2C jest również razem.

Na tym układzie scalonym znajdują się 2 styki, które są nieużywane, ponieważ są porównywalne z MCP23S17, który wykorzystuje interfejs SPI, w którym te styki są używane.

Arkusz danych dla tego układu scalonego jest dostępny w Microchip.

Krok 1: Schemat obwodu

Schemat obwodu
Schemat obwodu

Schemat obwodu pokazuje, jak podłączyć układ scalony do ESP8266

UWAGA: IC działa między 2,7 a 5,5 V.

Przypnij połączenia na mojej tablicy

  • Pin 9 (VDD) do 3v3
  • Pin 18 (RESET) do 3v3
  • Pin 17 (A2) do GND
  • Pin 16 (A1) do GND
  • Pin 15 (A0) do GND
  • Pin 14 (NC) do GND (nie konieczne)
  • Pin 13 (SDA) do ESP GPIO0
  • Pin 12 (SCL) do ESP GPIO2
  • Pin 11 (NC) do GND (nie konieczne)
  • Pin 10 (VSS) do GND

Krok 2: Tworzenie płyty głównej

Tworzenie płyty głównej
Tworzenie płyty głównej

Plansza jest prosta w wykonaniu, jak wyjaśniono powyżej, wszystko ma prosty układ.

Wykonanie mojej głównej płyty zajęło niewiele czasu i jest pokazane powyżej.

Układ ten można oczywiście zbudować na płytce stykowej.

Krok 3: Dodatkowe tablice

Dodatkowe tablice
Dodatkowe tablice

Stworzyłem kilka dodatkowych 8-bitowych płyt, które można łatwo podłączyć do różnych płyt projektowych.

Pierwsza płytka jest podłączona do 7-segmentowego wyświetlacza LED i jest podłączona pin 1 do segmentu a, pin 2 do b itd. Jest mały rezystor (około 55 omów) do ochrony diod LED.

Drugi to zespół 8 przełączników połączonych razem i można go podłączyć do 3,3 V lub uziemienia. Nie dołączyłem żadnych rezystorów ściągających, ponieważ MCP23017 ma je wbudowane.

Trzecia pochodzi z zestawu Ebay, składa się z 8 diod LED i tablicy rezystorów z połączeniem do Gnd. Mam też tę samą płytkę, ale zainstalowałem diody w odwrotnym kierunku, aby podłączyć do 3,3 V lub 5 V zamiast Gnd. W serwisie eBay są znane jako 8-kanałowy zestaw do samodzielnego montażu z płynącą wodą, 99p z Chin.

Krok 4: Programowanie

Programowanie
Programowanie

Napisałem programy do pracy z ESP01, ponieważ ma tylko 2 piny I/O. Można go oczywiście używać z dowolną płytą ESP8266. Piny SDA i SCL mogą być przypisane do dowolnego pinu od 1 do 12.

W przypadku korzystania ze starszej wersji LUA (np. NodeMCU 0.9.6 kompilacja 20150704 obsługiwanej przez Lua 5.1.4) I2C jest już zainstalowane. W przeciwnym razie musisz upewnić się, że moduł I2C jest dołączony do twojej kompilacji.

Dołączyłem 3 proste programy Lua, aby pokazać, jak można wykorzystać IC.

7Segment.lua steruje wyświetlaczem LED i sekwencjami między cyframi od 1 do 0.

KittCar.lua steruje tablicą 8 LED, aby symulować słynny samochód z lat 80-tych.

Reader.lua czyta z portu B.

Krok 5: Która szpilka?

Która szpilka?
Która szpilka?

Dodatkowy program, który wymyśliłem podczas majsterkowania.

Wykorzystuje port B jako wejście i port A jako wyjście. Na zdjęciu przełączniki DIP, ale można podłączyć jeden z pinów portu B do Gnd, a wyświetlacz LED pokaże, który pin jest podłączony.

UWAGA: Działa tylko z 1 pinem na raz!

Krok 6: Wniosek

Wniosek
Wniosek

Dostępne są oczywiście inne ekspandery I/O. Niektóre są 8-bitowe, 16-bitowe, a nawet 24-bitowe! Wszystkie działają w podobny sposób do MCP23017, ale ten układ scalony jest bardzo tani jak na swoje możliwości i może być pozyskiwany za około 10 pensów z Chin.

Nie wykorzystałem wszystkich funkcji tego układu scalonego, ponieważ dostępne są również przerwania, które można wykorzystać. Czytanie arkusza danych mówi wszystko o różnych rejestrach i sposobach wykorzystania układu scalonego.

Możliwe jest posiadanie 8 takich urządzeń na tej samej magistrali I2C, co daje 128 portów I/O, wszystkie kontrolowane przez 2 linie. Pomyśl o możliwościach!

Zalecana: