Оглавление:

NODEMCU LUA ESP8266 с микросхемой 16-битного расширителя портов MCP23017: 6 шагов (с изображениями)
NODEMCU LUA ESP8266 с микросхемой 16-битного расширителя портов MCP23017: 6 шагов (с изображениями)

Видео: NODEMCU LUA ESP8266 с микросхемой 16-битного расширителя портов MCP23017: 6 шагов (с изображениями)

Видео: NODEMCU LUA ESP8266 с микросхемой 16-битного расширителя портов MCP23017: 6 шагов (с изображениями)
Видео: Подключение расширителя портов MCP23017 к ESP8266 NodeMcu 2024, Июль
Anonim
NODEMCU LUA ESP8266 с микросхемой 16-битного расширителя портов MCP23017
NODEMCU LUA ESP8266 с микросхемой 16-битного расширителя портов MCP23017

MCP23017 - это относительно простая микросхема для изготовления платы, поскольку у нее есть порты A и B по обе стороны от микросхемы, а контакты расположены в последовательном порядке.

Точно так же адресная шина I2C тоже все вместе.

На этой ИС есть 2 контакта, которые не используются, поскольку они сопоставимы с MCP23S17, который использует интерфейс SPI, в котором используются эти контакты.

Техническое описание этой ИС можно получить в Microchip.

Шаг 1: Принципиальная схема

Принципиальная электрическая схема
Принципиальная электрическая схема

На принципиальной схеме показано, как подключить IC к ESP8266.

ПРИМЕЧАНИЕ: ИС работает от 2,7 до 5,5 вольт.

Контакты на моей плате

  • Вывод 9 (VDD) на 3v3
  • Вывод 18 (СБРОС) на 3v3
  • Контакт 17 (A2) к GND
  • Контакт 16 (A1) к GND
  • Контакт 15 (A0) к GND
  • Контакт 14 (NC) к GND (не требуется)
  • Контакт 13 (SDA) к ESP GPIO0
  • Контакт 12 (SCL) к ESP GPIO2
  • Контакт 11 (NC) к GND (не требуется)
  • Контакт 10 (VSS) к GND

Шаг 2: Изготовление основной платы

Создание основной платы
Создание основной платы

Плату просто сделать, как описано выше, все имеет простую компоновку.

На создание моей основной платы ушло немного времени, и она показана выше.

Конечно, вы можете построить эту схему на макете.

Шаг 3: Дополнительные платы

Дополнительные платы
Дополнительные платы

Я сделал несколько дополнительных 8-битных плат, которые можно легко подключить к различным доскам проекта.

Первая плата подключена к 7-сегментному светодиодному дисплею и соединяет контакт 1 с сегментом a, контакт 2 с b и т. Д. Для защиты светодиодов имеется небольшой резистор (около 55 Ом).

Второй - это блок из 8 переключателей, все соединенные вместе и могут быть подключены к 3,3 В или заземлению. Я не включил тяговые резисторы, поскольку в MCP23017 они встроены.

Третий - из комплекта Ebay, состоит из 8 светодиодов и массива резисторов с подключением к Gnd. У меня также есть такая же плата, но светодиоды установлены наоборот, так что она подключается к 3,3 В или 5 В вместо Gnd. На Ebay они известны как 8-канальный комплект для сборки светодиодного светильника с проточной водой, 99p из Китая.

Шаг 4: программирование

Программирование
Программирование

Я написал программы для работы с ESP01, так как у него всего 2 контакта ввода / вывода. Конечно, его можно использовать с любой платой ESP8266. Контакты SDA и SCL можно назначить любому контакту от 1 до 12.

При использовании более старой версии LUA (например, NodeMCU 0.9.6 build 20150704 на базе Lua 5.1.4) I2C уже установлен. В противном случае вам нужно убедиться, что модуль I2C включен в вашу сборку.

Я включил 3 простые программы Lua, чтобы показать, как можно использовать IC.

7Segment.lua управляет светодиодным дисплеем и последовательно меняет числа от 1 до 0.

KittCar.lua управляет доской с 8 светодиодами, чтобы имитировать знаменитую машину 80-х годов.

Reader.lua читает из порта Б.

Шаг 5. Какой пин?

Какой пин?
Какой пин?

Дополнительная программа, которую я придумал, пока возился.

Он использует порт B как вход и порт A как выход. На фотографии показаны DIP-переключатели, но вы можете подключить один из контактов порта B к Gnd, и светодиодный дисплей покажет, какой контакт подключен.

ПРИМЕЧАНИЕ: работает только с 1 контактом за раз!

Шаг 6: Заключение

Заключение
Заключение

Конечно, доступны и другие расширители ввода / вывода. Некоторые из них 8-битные, 16-битные и даже 24-битные! Все они работают аналогично MCP23017, но эта микросхема очень дешевая из-за своих возможностей, и ее можно купить в Китае по цене около 10 пенсов каждая.

Я не использовал все возможности этой ИС, так как есть прерывания, которые можно использовать. Чтение таблицы данных рассказывает все о различных регистрах и способах использования ИС.

Можно иметь 8 таких устройств на одной шине I2C, что дает 128 портов ввода-вывода, все они управляются 2 линиями. Подумайте о возможностях!

Рекомендуемые: