Arduino MCP23017-

Arduino MCP23017-
Артикул: 2503952

производитель: Arduino
Требуется установка или ремонт?

сервисный центр Kypidetali!

тел. +7(499)347-04-82

Описание Arduino MCP23017-

Вот подробное описание микросхемы MCP23017 производства Microchip Technology, её технические характеристики, парт-номера и информация о совместимости с платформами Arduino.

1. Описание

MCP23017 — это 16-битный расширитель портов ввода/вывода (GPIO), который управляется по интерфейсу I2C. Микросхема позволяет добавить к микроконтроллеру (например, Arduino Uno, Nano, ESP32) 16 дополнительных цифровых пинов, используя всего 2 провода (SDA и SCL).

Ключевые особенности:

  • 8 отдельных адресов (от 0x20 до 0x27), что позволяет подключить до 8 микросхем на одну шину I2C (в сумме 128 дополнительных GPIO).
  • Два 8-битных порта: PORTA и PORTB (GPA0-GPA7, GPB0-GPB7).
  • Встроенные подтягивающие резисторы (Pull-Up) для каждого пина (100 кОм).
  • Прерывания по изменению состояния (INTA, INTB) — пины могут генерировать прерывание при нажатии кнопки или изменении сигнала.
  • Режимы вывода: Open-Drain или Push-Pull.
  • Питание: 1.8В – 5.5В (идеально как для 5V Arduino, так и для 3.3V ESP).

Для Arduino это выглядит так: вы подключаете 2 пина (A4/A5 для Uno или SDA/SCL на других платах), и у вас появляется 16 независимых входов/выходов.


2. Технические характеристики (Datasheet Summary)

| Параметр | Значение | | :--- | :--- | | Напряжение питания (Vdd) | 1.8В – 5.5В (рекомендуемое 5В или 3.3В) | | Максимальный ток на пин (I/O) | 25 мА (на каждый вывод) | | Суммарный ток на корпус (Max) | 150 мА (на все выводы) | | Интерфейс | I2C (Fast Mode: 400 кГц, Slow Mode: 100 кГц) | | I2C-адреса | A0, A1, A2 (8 адресов: 0x20–0x27) | | Внутренняя тактовая частота | 1.5 МГц (требуется для корректной работы I2C) | | Выходная конфигурация | Push-Pull или Open-Drain | | Логические уровни | Совместимы 1.8В, 2.5В, 3.3В, 5В | | Корпуса (Package types) | PDIP-28, SOIC-28, SSOP-28, QFN-28 | | Рабочая температура | -40°C до +125°C | | Защита от ESD | 2 кВ (HBM) |


3. Парт-номера (Part Numbers / Маркировка)

Микросхема выпускается в нескольких корпусах. При заказе обращайте внимание на суффикс:

  • MCP23017-E/SP — корпус PDIP-28 (DIP, "2.54мм" для макетных плат) — самый популярный для DIY.
  • MCP23017-E/SO — корпус SOIC-28 ("2.54мм через адаптер" для пайки на плату).
  • MCP23017-E/SS — корпус SSOP-28 ("таблетка"/узкий корпус) — чаще всего в маленьких модулях (like "STC MCP23017").
  • MCP23017T-E/ML — корпус QFN-28 (без выводов, для SMD-монтажа).
  • MCP23017-E/Pустаревшая маркировка, обычно заменена на E/SP.

Примечание по парт-номерам: E — Extended Temperature (-40...+125°C) Если буквы E нет — это Standard Temp (обычно 0...+70°C), чаще используется «I» для "Industrial".


4. Совместимые модели (Arduino + Микроконтроллеры)

Микросхема не зависит от бренда, но абсолютно взаимозаменяема со следующей библиотекой и модулями:

Совместимые готовые модули (Adafruit, Sparkfun, HiLetgo, SAINSMART, DIYmall и др.):

  • "MCP23017 IO Expander Board" (обычно SSOP-28 корпус)
  • "Adafruit 16-Channel I2C GPIO Expander MCP23017" (PID 5530)
  • "SparkFun MCP23017 GPIO Breakout" (BOB-12939)
  • "HW-168 / HW-171" — совместимые "модули" с самодельной обвязкой.

Совместимые библиотеки (Arduino IDE):

  • Adafruit MCP23017 Arduino Library (основная, самая популярная)
  • SparkFun MCP23017 Library
  • Arduino 'Wire' library (родная)

Таблица: адреса MCP23017 (DIP-версия)

| Корпусный Pin A2 | A1 | A0 | Адрес I2C (7-bit) | | :--- | :--- | :--- | ---------------- | | GND (0) | GND | GND | 0x20 | | GND | GND | VDD | 0x21 | | GND | VDD | GND | 0x22 | | GND | VDD | VDD | 0x23 | | VDD (1) | GND | GND | 0x24 | | VDD | GND | VDD | 0x25 | | VDD | VDD | GND | 0x27 (часто странно — НЕТ 0x26 !) | | VDD | VDD | VDD | 0x27 (повтор)

Наиболее частая ловушка: Адреса:0x20, 0x21-0x21,0x22,0x23, 0x24,0x25, 0x26 и 0x27 дают все 8 каналов.

Что нужно помнить:

  1. Питание Vdd: Используйте 5V, если у вас Arduino Uno (напряжение макета 5В).
    Для 3.3В питания (Arduino Pro Mini, ESP8266, ESP32) ставьте на Vdd = 3.3В.
  2. Вам понадобятся внешние подтягивающие резисторы?
    Нет, обычно подключение SDA/SCL напрямую от Arduino и питание от ее пинов уже хватит (модули обычно имеют 4.7–10 кОм нагрузку на плате).
  3. Проверьте Reset Pin (RESET): Коннектор MCP не должен "висеть в воздухе".

5. Простое подключение к Arduino Uno + Code example:

Arduino Pin MCP23017

GND	          --> A0, A1, A2  (если адрес 0x20)
VCC (5V)      --> VDD (pin 9)
GND           --> VSS (pin 10)
Pin A4 (SDA)  -> SDA (иногда pin 15)
Pin A5 (SCL)  -> SCL (##пин? Номер корпуса 14??### — pin 17 по схеме Adafruit)

Схожіе частицы:

  • MCP23S17SPI, то же, (** не I2C **)
  • MCP23008только 8 bit верси(ADDR - 3 айзерапика
    ).

Совместимые модели для Arduino MCP23017-

Arduino MCP23017-