Сдвиговый регистр M74HC595B1R

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Anton, 22 окт 2011.

  1. Anton

    Anton Нуб

    Добрый день! Я начинающий в мк)) Хочу собрать себе Led Cube хотя бы 3х3 (Но сейчас не в кубе дело). Для этого хочу использовать следующий сдвиговый регистр M74HC595B1R. Нашёл к нему описание (В плане посмотрел его совместимость с 74HC595), но к сожалению я так и не смог разобраться со следующим:

    Пример: Ардуина+M74HC595B1R(подключеный к ней)+7 Светодиодов(подключеных к M74HC595B1R) и 7 резисторов на 220 соответственно.

    1) Возможно ли регулировать степень свечения каждого из светодиодов по аналогии как в стандартном скетче "Fade" (при использовании выше описанного), если можно пример кода.
    2) Какой предел последовательно подключения сдвиговых регистров ?
     
  2. nailxx

    nailxx Официальный Нерд Администратор

    Добрый!

    Не совсем так. Степень свечения задаётся через PWM (ШИМ). То есть выходной контакт бешено скачет то в HIGH, то в LOW миллионы раз в секунду. Выходы 74HC595 так делать не умеют. Поэтому у вас 2 пути:
    1. В цикле на Arduino бесконечно делать shiftout вашего регистра попеременно то включая «включенные» выходы, то выключая их. То есть реализовать PWM програмно. При таком подходе правда PWM будет куда медленнее аппаратного, и могут возникнуть трудности с точным контролем яркости. Кроме того, вы займёте процессор этой и только этой задачей: ничего полезного он больше сделать не сможет.
    2. Взять более продвинутый чип-регистр с поддержкой PWM. TLC5940 — подойдёт
    Условно +∞
     
    Anton нравится это.
  3. Anton

    Anton Нуб

    Большое спасибо!!! Безмерно благодарен вам за ответ!!!

    Правда у меня появился ещё 1 вопрос по сдвиговым регистрам...

    Допустим что у меня их 5 (соответственно в "моём случае" 35 светодиодов) и я хочу обратиться конкретно например к 18 и 27 светодиоду, как это сделать?
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    Хотите обратиться к 27-му светодиоду. Стало быть он — 3-й выход 4-го регистра (8 + 8 + 8 + 3). Формируете байт 3-м битом которого ставите желаемое для этого светодиода значение. Пихаете этот байт в первый регистр, он каскадом — на второй, второй — на третий, третий — на четвёртый. Та-да, бит на месте, 27-й светодиод получил нужный сигнал.

    Подробнее о каскадировании регистров написано на официальной вики.

    Алсо, вы собрались делать LED Cube. Вы же не хотите к каждому светодиоду подводить отдельные провода? Кубы делаются объединением слоёв в общий катод, а столбцов в общий анод (подробно на Instructables). Таким образом для куба 3×3×3 понадобится всего 3×3+3=12 контактов. Тут даже регистр не нужен.
     
  5. Anton

    Anton Нуб

    Огромное спасибо!!!