Здравствуйте, уважаемые читатели! В одной из прошлой статей, мы уже говорили о семисегментном светодиодном индикаторе и о его подключении к Ардуино.
Сегодня поговорим о распиновке и подключении светодиодных индикаторов на 2, 3 и 4 символа. И напишем скетч для вывода цифр в определенную секцию светодиодного индикатора. А так же во все секции одновременно (почти).
В начале, разберем последовательно распиновку всех 4-х светодиодных индикаторов. Все они с общим катодом.
У односимвольного индикатора общий катод связан с 3 и 8 пином. Следовательно к любому из них или к обоим сразу мы подключаем землю.
У 2-х символьного индикатора, общий катод первого символа, если считать права налево, находится на 7 пину, а общий катод 2го символа на 8 пину.
У 3-х символьного индикатора, общий катод первого символа, находится на 8 пину, общий катод 2го символа на 9 пину, а общий катод 3го символа на 12 пину.
У 4-х символьного индикатора, общий катод первого символа, находится на 6 пину, общий катод 2го символа на 8 пину, общий катод 3го символа на 9 пину, а общий катод 4го символа на 12 пину.
Для примера возьмем 4-х символьный светодиодный индикатор и подключим его к Arduino UNO согласно следующей схеме:
Размещаем светодиодный индикатор на макетной плате. Пины Ардуино со 2 по 9 соединим с пинами индикатора, отвечающими за работу сегментов и точки. А пины с 10 по 13 соединим с катодами светодиодного иникатора. 10 пин с 6 пином индикатора, 11 пин с 8 пином, 12 пин с 9 пином, 13 пин с 12 пином светодиодного индикатора. Каждое подключение к катоду индикатора, защитим резистором на 220 Ом.
Переходим в Arduino IDE. Напишем функцию, в первом аргументе которой мы будем указывать номер секции, куда будем выводить цифру, а во втором, саму выводимую цифру.
В теле функции у нас будет цикл, который будет в начале подавать высокий уровень сигнала на все общие катоды. А затем на катод той секции, где нам нужно вывести символ, низкий уровень сигнала. Что будет эквивалентно подключению данного катода к земле.
А далее будут зажигаться нужные сегменты светодиодного индикатора, в соответствии с битовым представлением выбранной цифры.
В первом примере разместим цикл, в котором последовательно будем выводить все цифры в нужную нам секцию. И будем менять секцию от 1 до 4 справа налево.
Далее 4 раза вызовем нашу функцию и передадим в каждую секцию новую цифру от 0 до 3. На самом деле мы каждый раз зажигаем только одну цифру, гасим ее и зажигаем следующую. Но т.к. это происходит очень быстро, то кажется, как будто все цифры горят одновременно.
Добавим переменную pause, которая будет определять задержку в 1 мс перед выводом новой цифры. Если этого не сделать, все цифры сливаются в одну.
Загружаем скетч и видим, как у нас задействованы все сегменты и появляются цифры от 0 до 3.
Камера может передавать некоторое мерцание, т.к. ее чувствительность выше, чем у человеческого глаза. Изменяя величину паузы, между выводом символов, можно добиться оптимального соотношения между четкостью выводимых символов и частотой мерцания.
Подключение остальных светодиодных индикаторов к Ардуино осуществляется аналогично, соблюдая распиновку конкретного светодиодного индикатора. В скетче предусмотрено, что пины Arduino UNO подключаются в той же последовательности, что и находятся буквы латинского алфавита, обозначающие секции светодиодного индикатора. Т.е. пин 2 Arduino UNOподключается к пину, включающему сегмент A, 3 к B и т.д. Пин 9 подключается к сегменту, отвечающему за отображение десятичной точки (DP)
Ссылка на скетч - https://yadi.sk/d/Bi4RxngVockG0w
_________________________________________________________
Спасибо, что дочитали до конца! Если статья понравилась, нажмите, пожалуйста, соответствующую кнопку. Если интересна тематика электроники и различных электронных самоделок, подписывайтесь на канал. До встречи в новых статьях!