Здравствуйте, уважаемые читатели! В прошлой статье, мы поговорили о распиновке и подключении светодиодных индикаторов на 2, 3 и 4 символа к Arduino UNO.
Недостатком такого метода является то, что при подключении 4 символьного светодиодного индикатора, мы задействовали практически все цифровые пины Arduino UNO. Т.е. если у нас в планах дополнительно подключить цифровой датчик, чтобы выводить его значения на светодиодный индикатор или кнопку, для изменения режимов работы светодиодного индикатора, то у нас просто не хватит пинов.
В этом случае, целесообразно добавить к нашей схеме 8 битный сдвиговый регистр, который позволит нам высвободить 5 цифровых пинов Ардуино. Я буду использовать весьма распространенный 8 битный сдвиговый регистр 74HC595.
Т.е. при использовании сдвигового регистра мы задействуем всего 3 цифровых пина для отображения сегментов светодиодного индикатора, и 4 цифровых пина для выбора нужной секции светодиода. Итого 7 цифровых пинов, вместо 12.
Подробно об устройстве сдвигового регистра и принципе его работы я рассказывал в одной из прошлых своих статей Подключение сдвигового регистра 74HC595 к светодиодному индикатору на примере ATtiny13 и Ардуино. Кому интересно, почитайте. Здесь не буду повторяться. И сразу перейду к схеме подключения.
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
_________________________________________________________
Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!