Найти в Дзене
П-Электроник Лаб

Управление 40 светодиодами с помощью 3 пинов от ESP32 и цепочки из 5 сдвиговых регистров 74HC595

Если вам понравится этот разбор, поддержите меня подпиской! Я делаю это на чистом энтузиазме и ваша обратная связь важна для меня! Привет! Если ты новичок в электронике или просто любишь экспериментировать с микроконтроллерами, эта статья для тебя. Сегодня я разберу, как собрать схему в которой 3 провода от esp32 будут управлять 40 светодиодами (LED). Для этого мы используем цепочку из пяти сдвиговых регистров 74HC595 — это микросхемы, которые помогают "расширять" возможности твоего контроллера. Представь: вместо того, чтобы подключать каждый LED отдельно (что заняло бы кучу пинов), мы передаём данные по цепочке, и всё работает как часы! С регистрами ты можешь подключить не 8, а 40 LED, и даже больше, если добавишь ещё регистров (74HC595). В предыдущей статье мы разбирали один регистр и 8 LED — теперь масштабируем до 5 регистров и 40 LED, сохраняя те же пины подключения (GPIO 23 для данных, 18 для такта, 5 для защёлки). Сдвиговый регистр 74HC595 — это как "удлинитель". Он берёт данные
Оглавление

Если вам понравится этот разбор, поддержите меня подпиской!

Я делаю это на чистом энтузиазме и ваша обратная связь важна для меня!

Привет! Если ты новичок в электронике или просто любишь экспериментировать с микроконтроллерами, эта статья для тебя. Сегодня я разберу, как собрать схему в которой 3 провода от esp32 будут управлять 40 светодиодами (LED).

Для этого мы используем цепочку из пяти сдвиговых регистров 74HC595 — это микросхемы, которые помогают "расширять" возможности твоего контроллера. Представь: вместо того, чтобы подключать каждый LED отдельно (что заняло бы кучу пинов), мы передаём данные по цепочке, и всё работает как часы!

С регистрами ты можешь подключить не 8, а 40 LED, и даже больше, если добавишь ещё регистров (74HC595). В предыдущей статье мы разбирали один регистр и 8 LED — теперь масштабируем до 5 регистров и 40 LED, сохраняя те же пины подключения (GPIO 23 для данных, 18 для такта, 5 для защёлки).

1.Необходимые компоненты

  • ESP32 (любой модуль)
  • 5 штук сдвиговых регистров 74HC595
  • 40 светодиодов
  • 40 резисторов 220-330 Ом
  • Две макетные платы — большая, чтобы поместились все 5 чипов и LED.
  • Перемычки (провода) — много, разных цветов: красные для плюса, чёрные для минуса, другие для сигналов.
  • Источник питания
  • Arduino IDE на компьютере для загрузки кода.

2. Введение в сдвиговые регистры

Сдвиговый регистр 74HC595 — это как "удлинитель". Он берёт данные по одному проводу (последовательно), а выдаёт их параллельно на 8 выходов. В цепочке из 5 штук данные "проталкиваются" от первого к последнему, и в итоге мы управляем 40 выходами. ESP32 отправляет биты (0 или 1) по data-пину, такт (clock) синхронизирует , а защёлка (latch) фиксирует состояние. Это экономит количество используемых пинов и упрощает схему. Плюс, можно добавлять эффекты, как бегущий огонь, который мы реализуем в коде.

-2

3. Пин-аут сдвигового регистра 74HC595

Каждый 74HC595 имеет 16 контактов.

  • QA-QH (пин 15, 1-7): Это выходы для LED. Каждый управляет одним светодиодом: QA — первый, QH — восьмой. Они выдают 0 (выкл) или 1 (вкл).
  • GND (пин 8): Земля — подключаем к минусу.
  • VCC (пин 16): Питание — плюс 3.3V или 5V.
  • SRCLR (пин 10): Сброс — подключаем к плюсу.
  • OE (Output Enable, пин 13): Включение выходов — подключаем к минусу.
  • SER (пин 14): Вход данных (DS) — сюда приходят биты от ESP32.
  • SRCLK (пин 11): Такт (SHCP) — каждый импульс сдвигает данные.
  • RCLK (пин 12): Защёлка (STCP) — импульс фиксирует данные на выходах.
  • QH' (пин 9): Выход для цепочки — подключаем к SER следующего чипа.

Совет: На сдвиговом регистре 74HC595 есть метка (точка или выемка) у Пина 1 — ориентируемся по ней.

-3

4. Сборка схемы шаг за шагом

1. Установка сдвиговых регистров 74HC595 на макетную плату

1.1 Вставка микросхемы: Вставь первый 74HC595 так, чтобы пины были по разные стороны центральной канавки (это предотвращает короткое замыкание). Пин 1 (QB) слева, пин 16 (VCC) справа. Добавьте второй регистр рядом, и так до пятого. Оставим место для LED и резисторов.

-4

2. Подключение питания и контрольных сигналов

2.1 Управление выходами (OE): Подключите пин 13 (OE) каждого регистра к минусовой шине проводом, чтобы активировать выходы (OE активен на низком уровне).

-5

2.2 Подключение земли (GND): Соедините пин 8 (GND) всех контактов с минусовой шиной проводом для завершения цепи питания.

-6

2.3 Подключение питания (VCC): Соедините пин 16 (VCC) всех 74HC595 с плюсовой шиной макетной платы (5V для лучшей яркости LED или 3.3V от ESP32).

2.4 Отключение сброса (SRCLR): Подключите пин 10 (SRCLR) каждого регистра к плюсовой шине проводом, чтобы отключить сброс.

-7

3. Подключение ESP32 к сдвиговым регистрам

3.1 Data (DS): Соединяем GPIO 23 ESP32 с пином 14 (SER) первого сдвигового регистра.

3.2 Clock (SHCP): Соединяем — GPIO 18 с пином 11 всех сдвиговых регистров (общий на все 5 чипов).

3.3 Latch (STCP): Соединяем — GPIO 5 с пином 12 всех сдвиговых регистров (общий на все 5 чипов).

3.4 Цепочка регистров: Соединяем — QH' (пин 9) первого к SER (14) второго, второго к третьему, и так до пятого.

4. Подсоединение выходов QA-QH, резисторов и светодиодов

4.1 Подсоединение выходов QA-QH, резисторов и светодиодов

Подключаем LED, главное, не перепутать полярность (длинная ножка анод к резистору, короткая катод к минусу).

4.2 Подготовка выходов QA-QH: Для каждого 74Hc595 разместим перемычки от пинов 15,1-7 в свободные ряды — чтобы удобно цеплять резисторы.

4.3 Последовательность подключения LED: Для первого регистра: (пин 15, 1-7) → перемычка → резистор → анод LED → катод к минусу.

-8

4.4 Подключение резисторов: Возьмем 40 резисторов 330 Ом. Они защищают LED от перегорания.

-9

5. Подключение внешнего источника питания

  • 5.1 Подключение: Подключим внешний источник питания 5V к шинам (плюс к красной, минус к чёрной).
-10

5. Схема проекта

-11

6. Код для управления 40 светодиодами с 74HC595 и ESP32

Этот код — сердце нашего проекта, который поочередно зажигает 40 светодиодов с помощью цепочки из 5 сдвиговых регистров 74HC595 и ESP32. Он простой и идеально подходит для создания впечатляющих эффектов. Давай разберём его по частям.

-12

Настройка пинов: Здесь мы задаём пины ESP32, которые будут управлять цепочкой 74HC595. DataPin (GPIO 23) — это вход данных (DS), ClockPin (GPIO 18) — тактовый сигнал (SHCP), а LatchPin (GPIO 5) — сигнал защёлки (STCP). Эти пины стабильны и готовы к работе с пятью регистрами!

-13

Инициализация и запуск: В функции setup() мы объявляем пины как выходы (OUTPUT), чтобы ESP32 мог отправлять сигналы. Serial.begin(115200) включает монитор для отладки. Сначала очищаем все регистры (sendData(0)), чтобы светодиоды были выключены при старте, и выводим сообщение в монитор для подтверждения.

-14

Зажигание светодиодов: Функция sendData() — наш главный инструмент. Она опускает защёлку (LOW), отправляет 40-битный паттерн, разбитый на 5 байт, через shiftOut() (старший бит первым, MSBFIRST), а потом поднимает защёлку (HIGH), чтобы все светодиоды зажглись в соответствии с паттерном. Это позволяет управлять всеми 40 LED!

-15

Бесконечный цикл: В loop() реализован эффект "бегущий огонь": светодиоды зажигаются по очереди от первого до сорокового, затем возвращаются обратно, повторяя цикл дважды с паузой.

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

Мы собрали проект с 40 LED на ESP32! А также сохранили простоту (те же пины с предыдущего проекта), добавили цепочку и эффект бегущего огня. Это не только круто выглядит, но и учит работе с регистрами — основой для больших проектов.

-16

Надеюсь, эта статья оказалась для вас полезной. Подписывайтесь, чтобы не пропустить следующие проекты!