Найти в Дзене
Электроника и жизнь

Схема управления 4-х секционным светодиодным индикатором с помощью сдвигового регистра и Ардуино.

Здравствуйте, уважаемые читатели! В прошлой статье, мы поговорили о распиновке и подключении светодиодных индикаторов на 2, 3 и 4 символа к Arduino UNO.

Схема подключения Arduino UNO к 4-х символьному светодиодному индикатору без сдвигового регистра
Схема подключения Arduino UNO к 4-х символьному светодиодному индикатору без сдвигового регистра

Недостатком такого метода является то, что при подключении 4 символьного светодиодного индикатора, мы задействовали практически все цифровые пины Arduino UNO. Т.е. если у нас в планах дополнительно подключить цифровой датчик, чтобы выводить его значения на светодиодный индикатор или кнопку, для изменения режимов работы светодиодного индикатора, то у нас просто не хватит пинов.

В этом случае, целесообразно добавить к нашей схеме 8 битный сдвиговый регистр, который позволит нам высвободить 5 цифровых пинов Ардуино. Я буду использовать весьма распространенный 8 битный сдвиговый регистр 74HC595.

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

Т.е. при использовании сдвигового регистра мы задействуем всего 3 цифровых пина для отображения сегментов светодиодного индикатора, и 4 цифровых пина для выбора нужной секции светодиода. Итого 7 цифровых пинов, вместо 12.

Подробно об устройстве сдвигового регистра и принципе его работы я рассказывал в одной из прошлых своих статей Подключение сдвигового регистра 74HC595 к светодиодному индикатору на примере ATtiny13 и Ардуино. Кому интересно, почитайте. Здесь не буду повторяться. И сразу перейду к схеме подключения.

Схема подключения Arduino UNO к 4-х символьному светодиодному индикатору через сдвиговый регистр 74HC595
Схема подключения Arduino UNO к 4-х символьному светодиодному индикатору через сдвиговый регистр 74HC595

10, 11, 12 и 13 пины Arduino UNO у нас так и будут подключены к тем же пинам общих катодов светодиодного индикатора, а 7, 8 и 9 пин Arduino UNO подключим к пинам 11, 12 и 14 сдвигового регистра соответственно.

Код скетча у нас немного изменится, т.к. при работе со сдвиговым регистром используется функция, shiftOut().

Часть скетча, для вывода цифр на светодиодный индикатор
Часть скетча, для вывода цифр на светодиодный индикатор

В начале мы подаем низкой уровень сигнала на 8 пин Arduino UNO, который соединен с 12 пином (ST) регистра, подготавливая его к приему новых данных. Далее с помощью функции shiftOut() указываем номера пинов связанных с пином 14 (Ds) и 11 (SH)сдвигового регистра (9 и 7 пин Arduino UNO) и передаем регистру битовое представление текущей цифры. После этого, подаем высокий уровень сигнала на 8 пин Arduino UNO, связанный с 12 пином (ST) регистра, сообщая ему, что записанные данные можно отправлять на цифровые выводы.

Загружаем скетч в Ардуино и выводим последовательность цифр от 0 до 3.

Результат работы скетча.
Результат работы скетча.

Т.к. камера чувствительнее глаза человека, то на картинке цифры смазываются и немного накладываются друг на друга. На глаз, это не заметно.

Ссылка на скетч - https://yadi.sk/d/1ghZK-oj1hUYYw

_________________________________________________________

Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!

Другие публикации по теме:

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Рекомендуем почитать
Задержка программы без таймера
При разработке программ для микроконтроллеров довольно часто требуется делать задержки в программе, например, для ожидания какого-то события. Обычно для этого используются таймеры. Однако бывают случаи, когда таймер использовать почему-то не хочется (или нецелесообразно). Ну или может у микроконтроллера вообще нет таймера (хотя у современных, если я правильно понимаю, они есть у всех). В этом случае можно сделать задержку достаточно простым способом, например, вызывая в цикле команду NOP, которая ничего не делает...
✅ Это, пожалуй, самая простая схема контроллера для RGB светодиодной ленты! Но работает, как часы! ✅
Приветствую вас на канале Invexlab! Сегодня я хочу собрать пару несложных контроллеров для RGB-светодиодной ленты. Один контроллер содержит всего лишь 9 деталей, а второй состоит вообще из четырех деталей! Работает он, правда, под управлением микроконтроллера Arduino Nano. Несмотря на небольшое количество элементов, эти два контроллера работают надежно и стабильно. И, не теряя времени, приступим к сборке этих несложных, но очень полезных устройств. Принципиальная схема первого контроллера очень простая...
✅ Индикатор уровня звука с помощью НАВЕСНОГО (3D) монтажа! Не ищем легких путей... VU Meter (24 LEDS) ✅
Приветствую вас на канале Invexlab! Сегодня я попробую собрать достаточно простой, но отлично себя зарекомендовавший индикатор уровня звукового сигнала! И соберу я его из самых распространенных радиодеталей. Он будет содержать в себе 24 светодиода. Его высота будет примерно 20 сантиметров, и соберу я его навесным или же объемным монтажом! Что получится из этой затеи, и получится ли вообще, вы узнаете из этой статьи. Вначале рассмотрим принципиальную схему индикатора уровня звука. Принцип работы данной схемы очень простой...
Следующая статья
Документы, вакансии и контакты