Arduino MCP23008

Arduino MCP23008
Артикул: 2503954

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

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

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

Описание Arduino MCP23008

Вот подробное описание микросхемы MCP23008 (расширитель портов ввода/вывода от Microchip Technology) с техническими характеристиками, парт-номерами и популярными совместимыми моделями.


1. Описание

MCP23008 — это 8-битный расширитель портов ввода/вывода (GPIO) с интерфейсом I²C. Микросхема позволяет добавить 8 дополнительных цифровых выводов к микроконтроллеру (Arduino, ESP8266, STM32 и т.д.), используя всего 2 провода (SDA и SCL).

Основные функции:

  • 8 двунаправленных линий ввода/вывода (GP0–GP7).
  • Конфигурируемые подтягивающие резисторы (Pull‑up) до 100 кОм.
  • Программируемая логика работы (инвертирование входов).
  • Фиксация прерываний (Interrupt on Change – IOC).
  • Возможность “защелкивания” выхода (Latch) для удержания значений.

Применяется:

  • Управление светодиодами, реле, концевыми выключателями.
  • Расширение количества пинов для датчиков (кнопки, герконы).
  • Системы автоматизации, умный дом, робототехника.

2. Технические характеристики

| Параметр | Значение / Диапазон | |---|---| | Количество входов/выходов | 8 (GP0–GP7) | | Интерфейс | I²C (SDA / SCL) | | Адресация I²C | До 8 устройств (3 адресных пина A0–A2) | | Поддерживаемые адреса | 0x20 – 0x27 (зависит от соединения A0–A2 с GND/VDD) | | Напряжение питания (VDD) | 1.8 В – 5.5 В | | Логические уровни | 1.8 В – 5.5 В (все выводы допускают 5 В) | | Максимальный выходной ток одного пина | 25 мА (sourcing/sinking) | | Максимальный суммарный ток на все пины | 125 мА (рекомендовано не превышать 100 мА) | | Внутренний Pull‑up резистор | 100 кОм (вкл/выкл программно) | | Тактовая частота I²C | до 3.4 МГц (High‑Speed Mode), стандарт 100/400 кГц | | Выход с открытым коллектором (INTA) | Для сигнализации прерывания | | Тип корпуса | PDIP‑18 (DIP), SOIC‑18, SSOP‑20, QFN‑20 | | Рабочая температура | -40 .. +125 °C |


3. Парт‑номера (Part Numbers)

Производитель Microchip Technology. Обычно маркируется как MCP23008.

| Полный парт-номер | Корпус | Упаковка | Температурный диапазон | |---|---|---|---| | MCP23008 | DIP‑18 (PDIP) | Трубка | -40 … +125 °C | | MCP23008‑E/CH | SOIC-18 | 360 листов (Tape & Reel) | -40 … +125 °C | | MCP23008‑E/P | PDIP‑18 | Трубка | -40 … +125 °C | | MCP23008‑E/SO | SOIC‑18 | Колодка/Трубка | -40 … +125 °C | | MCP23008‑E/SS | SSOP‑20 | Колодка/Трубка | -40 … +125 °C | | MCP23008‑E/ML | QFN‑20 (5×5 мм) | Tube/Large Reel | -40 … +125 °C |

Примечание: -E означает промышленный диапазон (-40 °C … +125 °C). Есть также варианты -I (расширенный промышленный) – крайне редко.


4. Совместимые модели и альтернативы

Аналоговый конкурент внутри семейства Microchip:

  • MCP23S08 – SPI‑версия (то же самое, но интерфейс SPI вместо I²C).
  • MCP23S09 / MCP23009 – тоже I²C/SPI с другой нумерацией (отличается цоколевкой и выходными характеристиками? В целом почти – полностью программно совместимы).

Более популярные расширители из того же класса:

  • PCF8574 (8‑бит I²C) – очень дешёвый, родной PCF, чаще используется в Arduino‑проектах. Менее гибкий (нет pull‑up, прерываний, фиксации выхода).
  • PCF8575 (16 бит I²C).
  • MCP23017 – 16 бит I²C, два идентичных блока по 8 пинов с общими адресами (как 2‑канальная версия MCP23008).
  • TCA6408A (TI) – полноценный конкурент с близкими характеристиками, часто лучше по цене/наличию, но менее популярен среди любителей.
  • MAX7300 (Maxim) – работает через I²C, имеет саму последовательную до 28 выводов через регистры конечного автомата.

По функциональности MCP23008 стоит над PCF8574 (дешёвым, простым, без Pull‑up / IntEnable) – MCP более гибкий для промышленных проектов.


5. Выводы подключения к Arduino

MCP23008 → Arduino (I²C)
VDD → 5V / 3.3V (можно выбрать питание)
VSS → GND
SCL → A5 (Uno/Nano) или SCL (MEGA2560) или D4 (ESP8266)
SDA → A4 (Uno/Nano) или SDA (MEGA2560) или D5 (ESP8266)
A0..A2 → GND (или VDD для изменения адреса)
RESET → VDD (через pull‑up или прямо)
INTA → любой вход для прерывания (опционально)
GP0…GP7 → внешние устройства

Адрес по умолчанию при A0=A1=A2=GND: 0x20.


6. Общее сравнение с аналогом для AI‑ботов (например, PCF8574)

| Характеристика | MCP23008 | PCF8574 | |---|---|---| | Число пинов | 8 | 8 | | Адреса I²C | 8 возможных (A0..A2) | 8 возможных (A0..A2) | | Pull‑up на входах | ☑️ програмно | ❌ | | Прерывания | INTA отдельный выход | Вывод INT (активен при изменении) | | Управление полярностью входов | Да | Нет | | HSCL I²C | 3,4 МГц | 400 кГц | | Тяжелый AC Load? (Нельзя просто дать 50 мА) | max 25 mA each / 125 mA total | 20 mA each / just similar | | Подходит ли для новичка? | Да, сложнее | простые кнопки/светодиоды |

В итоге для Arduino:

MCP23008 + библиотека Adafruit MCP23008 даст вам 8 дополнительных управляемых цифровых ног, pull‑up’ы для кнопок и удобные прерывания — отличный улучшенный аналог старомодного PCF8574.

Библиотека: Adafruit MCP23008 library При использовании просто вызывайте:

#include <Adafruit_MCP23008.h>
Adafruit_MCP23008 gpio;

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

Arduino MCP23008