Съдържание:
- Стъпка 1: Електрическа схема
- Стъпка 2: Създаване на главното табло
- Стъпка 3: Допълнителни табла
- Стъпка 4: Програмиране
- Стъпка 5: Кой щифт?
- Стъпка 6: Заключение
Видео: NODEMCU LUA ESP8266 с MCP23017 16 битов порт разширител IC: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
MCP23017 е сравнително лесна интегрална схема за изработка на платка, тъй като има порт A и B от двете страни на чипа, а щифтовете са в последователен ред.
По същия начин I2C адресната шина е заедно.
На тази IC има 2 пина, които не се използват, тъй като е сравнимо с MCP23S17, който използва SPI интерфейс, където се използват тези щифтове.
Информационен лист за тази интегрална схема е достъпен от Microchip.
Стъпка 1: Електрическа схема
Схемата показва как да свържете IC към ESP8266
ЗАБЕЛЕЖКА: IC работи между 2,7 и 5,5 волта.
Pin връзки на дъската ми
- Pin 9 (VDD) към 3v3
- Pin 18 (RESET) към 3v3
- Щифт 17 (A2) към GND
- Щифт 16 (A1) към GND
- Щифт 15 (A0) към GND
- ПИН 14 (NC) към GND (не е необходимо)
- Пин 13 (SDA) към ESP GPIO0
- Пин 12 (SCL) към ESP GPIO2
- Pin 11 (NC) към GND (не е необходимо)
- Пин 10 (VSS) към GND
Стъпка 2: Създаване на главното табло
Дъската е направена направо, както е обяснено по -горе, всичко е с просто оформление.
Изработката на основната ми платка отне малко време и е показана по -горе.
Разбира се, можете да изградите тази схема на макет.
Стъпка 3: Допълнителни табла
Съставих някои допълнителни 8 -битови платки, които лесно могат да бъдат включени в различни платки за проекти.
Първата платка е свързана към 7 -сегментен LED дисплей и е свързана с щифт 1 към сегмент а, щифт 2 до b и т.н. Има малък резистор (около 55 ома) за защита на светодиодите.
Вторият е банка с 8 превключвателя, всички свързани заедно и могат да бъдат свързани към 3.3V или земя. Не съм включил никакви дърпащи резистори, тъй като MCP23017 ги има вградени.
Третият е от комплект Ebay, той се състои от 8 светодиода и резисторен масив с връзка към Gnd. Аз също имам същата платка, но инсталирах светодиодите обратно, така че да се свързва към 3.3V или 5V вместо Gnd. В Ebay те са известни като 8 -канален LED DIY комплект с течаща водна светлина, 99p от Китай.
Стъпка 4: Програмиране
Написал съм програмите за работа с ESP01, тъй като той има само 2 I/O пина. Разбира се, може да се използва с всяка от платките ESP8266. Щифтовете SDA & SCL могат да бъдат разпределени към всеки щифт между 1 и 12.
Ако използвате по -стара версия на LUA (например NodeMCU 0.9.6 build 20150704, задвижвана от Lua 5.1.4), I2C вече е инсталиран. В противен случай трябва да се уверите, че I2C модулът е включен във вашата компилация.
Включих 3 прости програми Lua, за да покажа как може да се използва IC.
7Segment.lua управлява LED дисплей и прави последователност между числата от 1 до 0.
KittCar.lua управлява 8 -та LED платка, за да симулира известната кола от 80 -те години.
Reader.lua чете от Порт Б.
Стъпка 5: Кой щифт?
Допълнителна програма, която измислих, докато се занимавах.
Той използва порт B като вход и порт A като изход. Снимката показва DIP превключватели, но можете да свържете един от изводите на порт B към Gnd и LED дисплеят ще покаже кой щифт е свързан.
ЗАБЕЛЕЖКА: Работи само с 1 пин наведнъж!
Стъпка 6: Заключение
Разбира се, има и други I/O разширители. Някои са 8 -битови, 16 -битови и дори 24 -битови! Всички работят по подобен начин на MCP23017, но тази IC е много евтина за своите възможности и може да бъде доставена за около 10p всеки от Китай.
Не съм използвал всички функции на тази интегрална схема, тъй като има и прекъсвания, които могат да бъдат използвани. Четенето на листа с данни разказва всичко за различните регистри и начините, по които може да се използва IC.
Възможно е 8 от тези устройства да бъдат на една и съща I2C шина, давайки 128 I/O порта, всички контролирани от 2 линии. Помислете за възможностите там!
Препоръчано:
Arduino Nano-MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Урок: 4 стъпки
Arduino Nano-MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
Raspberry Pi MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Python Урок: 4 стъпки
Raspberry Pi MMA8452Q 3-осен 12-битов/8-битов цифров акселерометър Python Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
Програмиране на микро: битов робот и джойстик: битов контролер с MicroPython: 11 стъпки
Програмиране на микро: битов робот и джойстик: битов контролер с MicroPython: За Robocamp 2019, нашия летен лагер по роботика, млади хора на възраст 10-13 години запояват, програмират и изграждат BBC микро: битов базиран „робот с тегло“, както и програмиране микро: бит, който да използвате като дистанционно управление. Ако в момента сте в Robocamp, карайте ски
Raspberry Pi MMA8452Q 3-ос 12-битов/8-битов цифров акселерометър Java Урок: 4 стъпки
Raspberry Pi MMA8452Q 3-осен 12-битов/8-битов цифров акселерометър Java Урок: MMA8452Q е интелигентен, триосен, капацитивен, микромашинен акселерометър с ниска мощност с 12 бита резолюция. Гъвкави програмируеми от потребителя опции се предлагат с помощта на вградени функции в акселерометъра, конфигурируеми за две прекъсвания
NODEMCU LUA ESP8266 с MCP23008 8 -битов порт разширител IC: 6 стъпки
NODEMCU LUA ESP8266 с MCP23008 8-битов порт разширител IC: MCP23008 е 8-битов I/O разширител със сериен интерфейс и работи между 1,8 и 5,5 волта, така че е идеален за ESP8266, Arduino, Raspberry Pi, PIC чипове и др. Ако сте виждали другия ми Instructable на MCP23017, може би се чудите