Arduino MCP23017-E
тел. +7(499)347-04-82
Описание Arduino MCP23017-E
Вот подробное описание, технические характеристики, парт-номера и информация о совместимости для микросхемы MCP23017-E (чаще всего подразумевается корпус DIP-28 или SOIC-28).
1. Описание
MCP23017 — это 16-битный расширитель портов ввода/вывода (GPIO) с интерфейсом I²C, производимый компанией Microchip Technology. Микросхема позволяет добавить к микроконтроллеру (Arduino, ESP32, STM32 и др.) до 16 дополнительных цифровых пинов, используя всего 2 провода (SDA и SCL).
Ключевые особенности:
- Два 8-битных порта (PORTA и PORTB) — каждый пин можно независимо настроить на вход или выход.
- Встроенные подтягивающие резисторы (100 кОм) на входы.
- Возможность прерываний — каждый банк может генерировать прерывание по изменению сигнала на любом пине.
- 8 I²C адресов — на одну шину можно повесить до 8 микросхем (в сумме 128 дополнительных пинов).
- Выходные пины способны как отдавать ток (source), так и принимать ток (sink) до 25 мА на пин (суммарно не более 150 мА на корпус).
- Работает от 1.8V до 5.5V — идеально как для 3.3V (ESP32), так и для 5V (Arduino Uno).
Типичное применение:
- Управление светодиодами, реле, кнопками, энкодерами.
- Расширение портов для дисплеев (HD44780 с I²C адаптером).
- Замена сдвиговых регистров (74HC595) при необходимости в простом I²C управлении.
2. Технические характеристики (для версии MCP23017-E/SP или MCP23017-E/SO)
| Параметр | Значение | |----------|----------| | Напряжение питания (VDD) | 1.8V – 5.5V | | Макс. ток на пин (I/O) | 25 мА (source/sink) | | Макс. общий ток через корпус | 150 мА (VDD) / 150 мА (VSS) | | Количество каналов I/O | 16 (два 8-битных порта: A и B) | | Протокол связи | I²C (до 400 кГц — Fast Mode, до 1.7 МГц — если адаптивный) | | I²C адрес | Устанавливается пинами A0, A1, A2 (от 0x20 до 0x27) | | Прерывания | INTA (для Port A) и INTB (для Port B) — активный низкий уровень | | Подтягивающие резисторы | Встроенные 100 кОм (включаются/выключаются программно) | | Рабочая температура | -40°C до +125°C (индустриальный диапазон) | | Ток в режиме гибернации | < 1 мкА |
Логические уровни:
- Входной низкий ≤ 0.2 × VDD (при VDD=5V это 1.0V)
- Входной высокий ≥ 0.8 × VDD (при VDD=5V это 4.0V)
- Выходной низкий ≤ 0.6V (при IOL=8.5 мА)
- Выходной высокий ≥ VDD – 0.7V (при IOH=8.5 мА)
3. Парт-номера и версии корпусов
Буква «E» в обозначении (MCP23017E) означает индустриальный температурный диапазон (-40..+125°C).
| Парт-номер | Корпус | Описание / Применение | |------------|--------|----------------------| | MCP23017-E/SP | PDIP-28 (DIP-28) | Для макетных плат (breadboard) и через отверстия. Удобно для Arduino Uno. | | MCP23017-E/SO | SOIC-28 (SOIC 7.5 mm) | SMD монтаж, подходит для Arduino Nano, ESP32 модулей. | | MCP23017-E/SS | SSOP-28 | Более компактный SMD корпус (5.3 мм ширина). | | MCP23017-E/ML | QFN-28 (5x5 мм) | Для плотного SMD монтажа. | | MCP23017T-E/SO | SOIC-28 | То же, что /SO, но упакован в ленте (Tape & Reel) для автоматического монтажа. | | MCP23017T-E/ML | QFN-28 | Лентовая упаковка для QFN. |
Важно: Буква «T» означает упаковку «Tapед Reel» (лента), сама микросхема идентична.
4. Аналоги и близкие совместимые модели
Прямой аналог от Microchip и похожие решения:
| Модель | Отличия от MCP23017 | Прямая замена? | |--------|---------------------|----------------| | MCP23008 | 8-bit I/O (только Port A), другой диапазон адресов (0x20–0x22) | Не эквивалентно по пинам, но код и библиотеки почти одинаковы. | | MCP23S17 | SPI вместо I²C. Парт-номера: MCP23S17-E/SP, MCP23S17-E/SO. Функционально полностью идентичен, но другой протокол обмена. | Нет, не совместим по интерфейсу. | | MCP23S08 | 8-bit SPI версия | Нет. | | PCA9535 / PCF8575 (NXP) | Аналоги (16-bit I²C). Различие: адреса — 7-bit адрес 0x20 повторяется, разводка прерываний, mcp23x17 более функционален и поддерживает прерывания "мультивход". Подходит к библиотеке Adafruit MCP23017. | Частично совместим по пинам (перемычка A0–A2 совместима). Программно нужен драйвер. |
Не являются аналогами (но часто используются вместе):
- 74HC595 — сдвиговый регистр (только выход, не I²C).
- CD74HCT4067 / 74HC4067 — мультиплексор (16 входов/1 выход, требует 4 цифровых пина).
5. Совместимость с Arduino и популярными платформами
Лучше всего подходит для:
- Arduino Uno / Nano / Mega — на 5V. Подключение VDD → 5V, VSS → GND.
- ESP8266 / ESP32 — на 3.3V. VDD подключается к 3.3V.
- STM32 (Blue Pill, Black Pill) — 3.3V или 5V совместимы, большинство представлений MCP23017 показывают 5V-переносимость.
С кнопкой VDD/прерываний используется экземплярами. Библиотеки Arduino:
- Adafruit MCP23017 (
Adafruit_MCP23017.h) — самая популярная. - mansings MCP23017 (
mansings-MCP23017). - Wire + ручное программирование.
Схема подключения к Arduino:
MCP23017 Arduino
VDD ──────────────── 5V (или 3.3V)
VSS ──────────────── GND
SCL ──────────────── A5 (Uno дефолтный) / D22 (на Mega) / D21 (ESP32 GPIO22)
SDA ──────────────── A4 (Uno дефолтный) / D20 (Mega) / D21 (ESP32 GPIO21)
A0, A1, A2 ──────── GND (адрес 0x20) или VDD/VSS по желанию
RESET ──────────────── VDD (экономичный pin’ей — не отключать при высоком ESP, при ESP 5V тоже может не работать без pull-up)
6. Часто задаваемые вопросы
- Почему везде буква «E»? Микросхема выпускается значительно чаще в индустриальном диапазоне (как более универсальная). «I» (обычный) ставят мало.
- Можно ли работать от 3.3V и управлять входами или выходами 5V? Да, но не напрямую: если Вы надеваете гhermitage, используется линия от внешней нагрузки. Для выходов 3.3V достаточны для большинства драйверов (DP-CLD, или реле HC ДР, только добавляйте LC-чтобы перевести 5V, без Level Shifter); для входов подавать лучше 5V низкие (т.к. MCP23x работает одновременно для пла). С полным source используют внешние щиты.
- Что лучше: MCP23017 или PCF8575? MCP — быстрее (выключка порта с перерывами), у вас встроенные 100КOhm. У PCF8575 — более устойчивые входные интервалы. Победитель для практик МСР23017.
Заключение
MCP23017-E/SP (DIP-27) или MCP23017-E/SO (SMD) это частый гарантированно современный тый модуль: простой, надежный и с возможностью софт перевед димонсов высокая эффективность при доступа к DigitalWrite за К векам 16 PIN тривалки безопасно. Ваш выбор для проектов от 8 пейшен Одесы (дом автоного света чашка) до управления GPIO чрез «мешочка и вы дымку сот». Для заказа советно реальная *Arduino MCP23017 расширитель пластичный диод 16ch-280+ подробное ориентировый заданач в фэйем нужного E-Bay.