Arduino CD4051

Arduino CD4051
Артикул: 2505039

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

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

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

Описание Arduino CD4051

Отличный выбор! CD4051 (а также его аналог 74HC4051) — это один из самых популярных и доступных аналоговых мультиплексоров/демультиплексоров для Arduino и других микроконтроллеров. Он незаменим, когда нужно увеличить количество доступных аналоговых или цифровых входов/выходов.

Краткое описание

CD4051 — это 8-канальный аналоговый мультиплексор/демультиплексор. Проще говоря, это "электронный переключатель", который позволяет по очереди подключать один общий вывод (COM) к одному из восьми независимых каналов (Ch 0...7). Управление выбором канала осуществляется с помощью трех адресных пинов (A, B, C) и пина разрешения (INH).

Основная идея для Arduino: С помощью всего 4-х цифровых пинов Arduino (3 для адреса + 1 для разрешения) вы можете поочередно читать сигналы с 8 аналоговых датчиков (например, потенциометров, фоторезисторов) через один единственный аналоговый вход (A0) Arduino. Или наоборот — управлять 8 устройствами с одного ШИМ-выхода.


Технические характеристики (CD4051B / 74HC4051)

| Параметр | Значение | Комментарий | | :--- | :--- | :--- | | Тип микросхемы | Аналоговый мультиплексор/демультиплексор 1x8 | "1 к 8" или "8 к 1" | | Количество каналов | 8 независимых каналов + 1 общий (COM) | | | Логика управления | 3 адресных входа (A, B, C), 1 вход ингибирования (INH) | A — младший бит, C — старший. INH=1 — все каналы выключены. | | Напряжение питания (VDD) | CD4051: 3В - 15В
74HC4051: 2В - 10В | CD4051 работает от широкого диапазона, включая 5В. | | Аналоговый диапазон (VEE) | 0В - (VDD) | Может коммутировать сигналы в пределах от VEE до VDD. Для коммутации отрицательных сигналов на VEE подают отрицательное напряжение. | | Сопротивление в открытом состоянии (Ron) | ~70 - 1000 Ом (зависит от VDD и типа) | При 5В: ~70-120 Ом для 74HC4051, ~200-400 Ом для CD4051. | | Время переключения | ~30 - 250 нс | Достаточно быстро для большинства датчиков и аудиосигналов (низких частот). | | Потребляемый ток (статический) | ~1 - 10 мкА | Очень низкое энергопотребление. | | Тип корпуса | PDIP-16 (для макетной платы), SOIC-16, TSSOP-16 | Для Arduino чаще всего используют DIP-16. | | Температурный диапазон | -55°C до +125°C (военный) / 0°C до +70°C (коммерческий) | |


Ключевые отличия между CD4051 и 74HC4051

  • CD4051 (серия 4000): "Старая" КМОП-логика. Более устойчива к статике, работает от широкого диапазона напряжений (3-15В), но имеет большее сопротивление канала и меньшее быстродействие.
  • 74HC4051 (серия HC): "Современная" высокоскоростная КМОП-логика. Работает при 2-6В (реже до 10В), имеет меньшее сопротивление канала и быстрее переключается. Чаще рекомендуется для новых проектов на 5В/3.3В.

Для 5В Arduino лучше выбрать 74HC4051. Для питания от 9В или специфичных задач — CD4051.


Номера выводов (Pinout) для DIP-16

        ┌───┬───┐
   Ch 4 │1  └─┐ 16│ VDD (+5V)
   Ch 6 │2    15│ Ch 2
   Ch 7 │3    14│ Ch 1
   Ch 5 │4    13│ Ch 0
   INH  │5    12│ Ch 3
   VEE  │6    11│ A (Addr. LSB)
   VSS  │7    10│ B (Addr.)
   COM  │8     9│ C (Addr. MSB)
        └───────┘
  • VDD: Плюс питания (+5В).
  • VSS, VEE: Земля (GND). Обычно оба соединяют с GND, если не требуется коммутация отрицательных сигналов.
  • INH (Inhibit): Когда на этом выводе HIGH (1), все каналы отключены. Для работы должен быть LOW (0).
  • A, B, C: Адресные входы. Их двоичный код (CBA) определяет, какой канал (0-7) подключен к COM.
    • 000 -> Канал 0
    • 001 -> Канал 1
    • ...
    • 111 -> Канал 7

Парт-номера и совместимые модели

Прямые аналоги (функционально идентичны, 1x8):

  • Texas Instruments: CD4051B, 74HC4051, SN74HC4051
  • NXP (Philips): HEF4051, 74HC4051
  • ON Semiconductor: MC74HC4051, CD4051B
  • Renesas: 74HC4051
  • Soviet/Russian: К561КТ3 (аналог CD4051)

Модели в других корпусах:

  • CD4051BE / 74HC4051N — классический DIP-16.
  • CD4051BM / 74HC4051PW — поверхностный монтаж (SOIC, TSSOP).

Расширенные/совместимые версии:

  • CD4052 / 74HC4052: Сдвоенный 4-канальный мультиплексор (2x4). Идеально для стереосигналов (коммутирует 2 сигнала одновременно).
  • CD4053 / 74HC4053: Строенный 2-канальный мультиплексор (3x2). Подходит для коммутации сигналов в аудиотрактах.
  • 74HCT4051: Версия с TTL-совместимыми уровнями входов (порог ~1.6В вместо ~2.5В для HC), если управляется от микросхем TTL-логики (для Arduino не актуально).
  • ADG708, ADG728: Современные аналоги от Analog Devices с更低шим сопротивлением и быстродействием, но дороже.

Типовое подключение к Arduino

Цель: Чтение 8 потенциометров через один аналоговый пин A0.

Схема подключения:

  1. VDD -> 5V Arduino
  2. VSS, VEE -> GND Arduino
  3. INH -> GND Arduino (или к цифровому пину для программного отключения)
  4. A, B, C -> Цифровые пины Arduino (например, D2, D3, D4)
  5. COM -> Аналоговый пин A0 Arduino
  6. Сигналы с датчиков -> Каналы Ch0...Ch7

Простой скетч:

const int adrA = 2; // Адрес A (LSB)
const int adrB = 3; // Адрес B
const int adrC = 4; // Адрес C (MSB)
const int comPin = A0; // Общий вывод на аналоговый вход

void setup() {
  pinMode(adrA, OUTPUT);
  pinMode(adrB, OUTPUT);
  pinMode(adrC, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  for (int channel = 0; channel < 8; channel++) {
    // Устанавливаем адрес канала на выводах A, B, C
    digitalWrite(adrA, bitRead(channel, 0)); // Младший бит
    digitalWrite(adrB, bitRead(channel, 1));
    digitalWrite(adrC, bitRead(channel, 2)); // Старший бит

    delay(1); // Небольшая задержка для стабилизации сигнала

    int sensorValue = analogRead(comPin); // Читаем значение с выбранного канала

    Serial.print("Канал ");
    Serial.print(channel);
    Serial.print(": ");
    Serial.println(sensorValue);
  }
  Serial.println("-----");
  delay(1000);
}

Сфера применения с Arduino: Мультиплексирование датчиков (температура, свет, потенциометры), клавиатурные матрицы, управление множеством светодиодов или зуммеров, последовательное считывание кнопок, создание простых осциллографов или аудиосвитчеров.

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

Arduino CD4051