Мазмуну:

NODEMCU LUA ESP8266 MCP23017 менен 16 Bit Port Expander IC: 6 Steps (Сүрөттөр менен)
NODEMCU LUA ESP8266 MCP23017 менен 16 Bit Port Expander IC: 6 Steps (Сүрөттөр менен)

Video: NODEMCU LUA ESP8266 MCP23017 менен 16 Bit Port Expander IC: 6 Steps (Сүрөттөр менен)

Video: NODEMCU LUA ESP8266 MCP23017 менен 16 Bit Port Expander IC: 6 Steps (Сүрөттөр менен)
Video: Подключение расширителя портов MCP23017 к ESP8266 NodeMcu 2024, Июль
Anonim
NODEMCU LUA ESP8266 MCP23017 менен 16 Bit Port Expander IC
NODEMCU LUA ESP8266 MCP23017 менен 16 Bit Port Expander IC

MCP23017 - бул такта жасоо үчүн салыштырмалуу жеңил IC, анткени анын чиптин эки жагында А жана В порттары бар жана казыктар ырааттуу тартипте.

Ошо сыяктуу эле, I2C дарек автобусунун бардыгы чогуу.

Бул ICде 2 казык бар, алар колдонулбайт, анткени бул казыктар колдонулган SPI интерфейсин колдонгон MCP23S17 менен салыштырууга болот.

Бул IC үчүн маалыматтык барак Microchipтен жеткиликтүү.

1 -кадам: Райондук диаграмма

Райондук диаграмма
Райондук диаграмма

Электр схемасы ICди ESP8266га кантип туташтырууну көрсөтөт

ЭСКЕРТҮҮ: IC 2.7 жана 5.5 Вольттун ортосунда иштейт.

Менин тактамдагы туташууларды бекитүү

  • Pin 9 (VDD) 3v3кө
  • Pin 18 (КАЛЫПТАЙТ) 3v3кө
  • Pin 17 (A2) GNDге
  • Pin 16 (A1) GNDге
  • Pin 15 (A0) GNDге
  • Pin 14 (NC) GNDге (Кереги жок)
  • Pin 13 (SDA) ESP GPIO0
  • Pin 12 (SCL) ESP GPIO2ге
  • Pin 11 (NC) GNDге (Кереги жок)
  • Pin 10 (VSS) GNDге

2 -кадам: Башкы тактаны түзүү

Башкы кеңешти түзүү
Башкы кеңешти түзүү

Такта жогоруда айтылгандай, алдыга жылдырылды, бардыгы жөнөкөй макетте.

Менин башкы тактайымды жасоого аз убакыт кетти жана жогоруда көрсөтүлгөн.

Сиз, албетте, бул схеманы нан тактасына кура аласыз.

3 -кадам: кошумча такталар

Кошумча такталар
Кошумча такталар

Мен кошумча 8 бит такталарды түздүм, аларды ар кандай проект такталарына оңой сайууга болот.

Биринчи такта 7 сегменттүү LED дисплейге туташкан жана пин 1 а сегментине, пин 2 б чейин ж.б. туташтырылган. Чырактарды коргоо үчүн кичинекей резистор (болжол менен 55 ом) бар.

Экинчиси - бул 8 зым банкы, бардыгы зымдуу жана 3.3V же жерге туташтырылышы мүмкүн. Мен эч кандай тартуучу резисторлорду кошкон жокмун, анткени MCP23017де алар орнотулган.

Үчүнчүсү Ebay комплектинен, ал 8 LEDдан жана Gnd менен байланышы бар резистор массивинен турат. Менде дагы ошол эле такта бар, бирок диоддорду тескерисинче орнотту, ал Gndдин ордуна 3.3V же 5Vга туташат. Ebayде алар Кытайдан келген 8 каналдуу аккан суу жарыгы LED DIY Kit катары белгилүү.

4 -кадам: Программалоо

Программалоо
Программалоо

Мен ESP01 менен иштөө үчүн программаларды жазгам, анткени анда 2 гана I/O казыгы бар. Бул, албетте, ESP8266 такталар менен колдонулушу мүмкүн. SDA & SCL төөнөгүчтөрү 1ден 12ге чейинки каалаган пинге бөлүнүшү мүмкүн.

Эгерде LUAнын эски версиясын колдонсоңуз (мис. NodeMCU 0.9.6 Lua 5.1.4 менен иштелген 20150704) I2C мурунтан эле орнотулган. Болбосо, I2C модулу түзүмүңүзгө камтылганын камсыз кылышыңыз керек.

Мен ICди кантип колдонсо болорун көрсөтүү үчүн 3 жөнөкөй Lua программасын коштум.

7Segment.lua 1ден 0гө чейинки светодиоддук дисплейди жана ырааттуулукту айдайт.

KittCar.lua 80 -жылдардагы атактуу машинаны окшоштуруу үчүн 8 LED тактасын айдайт.

Reader.lua В портунан окуйт.

5 -кадам: Кайсы пин?

Кайсы пин?
Кайсы пин?

Кошумча программа мен ойлонуп жатканда келди.

Ал В портун кириш катары жана А портун чыгаруу катары колдонот. Сүрөттө DIP өчүргүчтөрү көрсөтүлгөн, бирок сиз B портунун Gndге туташа аласыз жана LED дисплейи кайсы пин туташтырылганын көрсөтөт.

ЭСКЕРТҮҮ: Бул бир эле учурда 1 пин менен иштейт!

6 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Албетте, башка I/O кеңейтүүчүлөрү бар. Кээ бирлери 8 бит, 16 бит жада калса 24 бит! Баары MCP23017ге окшош иштейт, бирок бул IC анын мүмкүнчүлүктөрү үчүн абдан арзан жана Кытайдан 10p тегерегинде алынышы мүмкүн.

Мен бул ICдин бардык мүмкүнчүлүктөрүн колдонгон жокмун, анткени үзгүлтүктөр да бар, аларды колдонууга болот. Маалымат баракчасын окуу ар кандай регистрлер жана ICди колдонуунун жолдору жөнүндө айтылат.

Бул I2C автобуста бул түзмөктөрдүн 8и болушу мүмкүн, алардын баары 2 линия менен башкарылган 128 I/O портун берет. Мүмкүнчүлүктөр жөнүндө ойлон!

Сунушталууда: