Как проверить семисегментный светодиодный индикатор. Большие цифровые индикаторы из светодиодов
Наверняка вы уже видели индикаторы – “восьмёрки”. Это и есть семисегментный светодиодный индикатор, который служит для отображения цифр от 0 до 9, а также децимальной точки (DP – Decimal point) или запятой.
Конструктивно такое изделие представляет собой сборку светодиодов. Каждый светодиод сборки засвечивает свой знакосегмент.
В зависимости от модели сборка может состоять из 1 – 4 семисегментных групп. Например, индикатор АЛС333Б1 состоит из одной семисегментной группы, которая способна отображать всего лишь одну цифру от 0 до 9.
А вот светодиодный индикатор KEM-5162AS уже имеет две семисегментных группы. Он является двухразрядным. Далее на фото показаны разные светодиодные семисегментные индикаторы.
Также существуют индикаторы с 4-мя семисегментными группами – четырёхразрядные (на фото – FYQ-5641BSR-11). Их можно использовать в самодельных электронных часах.
Как обозначаются семисегментные индикаторы на схемах?
Так как семисегментный индикатор – это комбинированный электронный прибор, то изображение его на схемах мало отличается от его внешнего вида.
Стоит только обратить внимание на то, что каждому выводу соответствует конкретный знакосегмент, к которому он подключен. Также имеется один или несколько выводов общего катода или анода – в зависимости от модели прибора.
Особенности семисегментных индикаторов.
Несмотря на кажущуюся простоту этой детали и у неё есть особенности.
Во-первых, светодиодные семисегментные индикаторы бывают с общим анодом и с общим катодом. Данную особенность следует учитывать при его покупке для самодельной конструкции или прибора.
Вот, например, цоколёвка уже знакомого нам 4-ёх разрядного индикатора FYQ-5641BSR-11 .
Как видим, аноды у светодиодов каждой цифры объединены и выведены на отдельный вывод. Катоды же у светодиодов, которые принадлежат к знакосегменту (например, G ), соединены вместе. От того, какую схему соединений имеет индикатор (с общим анодом или катодом) зависит очень многое. Если взглянуть на принципиальные схемы приборов с применением семисегментных индикаторов, то станет ясно, почему это так важно.
Кроме небольших индикаторов есть большие и даже очень большие. Их можно увидеть в общественных местах, обычно в виде настенных часов, термометров, информеров.
Чтобы увеличить размеры цифр на табло и одновременно сохранить достаточную яркость каждого сегмента, используется несколько светодиодов, включенных последовательно. Вот пример такого индикатора – он умещается на ладони. Это FYS-23011-BUB-21 .
Один его сегмент состоит из 4 светодиодов, включенных последовательно.
Чтобы засветить один из сегментов (A, B, C, D, E, F или G), нужно подать на него напряжение в 11,2 вольта (2,8V на каждый светодиод). Можно и меньше, например, 10V, но яркость тоже уменьшится. Исключение составляет децимальная точка (DP), её сегмент состоит из двух светодиодов. Для неё нужно всего 5 – 5,6 вольт.
Также в природе встречаются двухцветные индикаторы. В них встраиваются, например, красные и зелёные светодиоды. Получается, что в корпус встроено как бы два индикатора, но со светодиодами разного цвета свечения. Если подать напряжение на обе цепи светодиодов, то можно получить жёлтый цвет свечения сегментов. Вот схема соединений одного из таких двухцветных индикаторов (SBA-15-11EGWA).
Если коммутировать выводы 1 (RED ) и 5 (GREEN ) на “+” питания через ключевые транзисторы, то можно менять цвет свечения отображаемых чисел с красного на зелёный. А если же одновременно подключить выводы 1 и 5, то цвет cвечения будет оранжевым. Вот так можно баловаться с индикаторами .
Управление семисегментными индикаторами.
Для управления семисегментными индикаторами в цифровых устройствах используют регистры сдвига и дешифраторы. Например, широко распространённый дешифратор для управления индикаторами серии АЛС333 и АЛС324 – микросхема К514ИД2 или К176ИД2
. Вот пример .А для управления современными импортными индикаторами обычно используются регистры сдвига 74HC595 . По идее, управлять сегментами табло можно и напрямую с выходов микроконтроллера. Но такую схему используют редко, так как для этого требуется задействовать довольно много выводов самого микроконтроллера. Поэтому для этой цели применяются регистры сдвига. Кроме этого, ток, потребляемый светодиодами знакосегмента, может быть больше, чем ток, который может обеспечить рядовой выход микроконтроллера.
Для управления большими семисегментными индикаторами, такими как, FYS-23011-BUB-21 применяются специализированные драйверы, например, микросхема MBI5026 .
Что внутри семисегментного индикатора?
Ну и немного вкусненького. Любой электронщик не был бы таковым, если бы не интересовался “внутренностями” радиодеталей. Вот что внутри индикатора АЛС324Б1.
Чёрные квадратики на основании – это кристаллы светодиодов. Тут же можно разглядеть золотые перемычки, которые соединяют кристалл с одним из выводов. К сожалению, этот индикатор уже работать не будет, так как были оборваны как раз эти самые перемычки . Но зато мы можем посмотреть, что скрывается за декоративной панелькой табло.
Схема подключения одноразрядного семисегментного индикатора
Схема подключения многоразрядного семисегментного индикатора
Устройство отображения цифровой информации. Это – наиболее простая реализация индикатора, который может отображать арабские цифры. Для отображения букв используются более сложные многосегментные и матричные индикаторы.
Как говорит его название, состоит из семи элементов индикации (сегментов), включающихся и выключающихся по отдельности. Включая их в разных комбинациях, из них можно составить упрощённые изображения арабских цифр.
Сегменты обозначаются буквами от A до G; восьмой сегмент – десятичная точка (decimal point, DP), предназначенная для отображения дробных чисел.
Бывают разных цветов, обычно это белый, красный, зеленый, желтый и голубой цвета. Кроме того, они могут быть разных размеров.
Также, светодиодный индикатор может быть одноразрядным (как на рисунке выше) и многоразрядным. В основном в практике используются одно-, двух-, трех- и четырехразрядные светодиодные индикаторы:
Кроме десяти цифр, семисегментные индикаторы способны отображать буквы. Но лишь немногие из букв имеют интуитивно понятное семисегментное представление.
В латинице
: заглавные A, B, C, E, F, G, H, I, J, L, N, O, P, S, U, Y, Z, строчные a, b, c, d, e, g, h, i, n, o, q, r, t, u.
В кириллице
: А, Б, В, Г, г, Е, и, Н, О, о, П, п, Р, С, с, У, Ч, Ы (два разряда), Ь, Э/З.
Поэтому семисегментные индикаторы используют только для отображения простейших сообщений.
Всего семисегментный светодиодный индикатор может отобразить 128 символов:
В обычном светодиодном индикаторе девять выводов: один идёт к катодам всех сегментов, а остальные восемь – к аноду каждого из сегментов. Эта схема называется «схема с общим катодом» , существуют также схемы с общим анодом (тогда все наоборот). Часто делают не один, а два общих вывода на разных концах цоколя – это упрощает разводку, не увеличивая габаритов. Есть еще, так называемые «универсальные», но я лично с такими не сталкивался. Кроме того существуют индикаторы со встроенным сдвиговым регистром, благодаря чему намного уменьшается количество задействованных выводов портов микроконтроллера, но они намного дороже и в практике применяются редко. А так как необъятное не объять, то такие индикаторы мы пока рассматривать не будем (а ведь есть еще индикаторы с гораздо большим количеством сегментов, матричные).
Многоразрядные светодиодные индикаторы часто работают по динамическому принципу: выводы одноимённых сегментов всех разрядов соединены вместе. Чтобы выводить информацию на такой индикатор, управляющая микросхема должна циклически подавать ток на общие выводы всех разрядов, в то время как на выводы сегментов ток подаётся в зависимости от того, зажжён ли данный сегмент в данном разряде.
Подключение одноразрядного семисегментного индикатора к микроконтроллеру
На схеме ниже, показано как подключается одноразрядный семисегментный индикатор к микроконтроллеру.
При этом следует учитывать, что если индикатор с ОБЩИМ КАТОДОМ , то его общий вывод подключается к «земле» , а зажигание сегментов происходит подачей логической единицы
на вывод порта.
Если индикатор с ОБЩИМ АНОДОМ , то на его общий провод подают «плюс» напряжения, а зажигание сегментов происходит переводом вывода порта в состояние логического нуля
.
Осуществление индикации в одноразрядном светодиодном индикаторе осуществляется подачей на выводы порта микроконтроллера двоичного кода соответствующей цифры соответствующего логического уровня (для индикаторов с ОК — логические единицы, для индикаторов с ОА — логические нули).
Токоограничительные резисторы могут присутствовать в схеме, а могут и не присутствовать. Все зависит от напряжения питания, которое подается на индикатор и технических характеристик индикаторов. Если, к примеру, напряжение подаваемое на сегменты равно 5 вольтам, а они рассчитаны на рабочее напряжение 2 вольта, то токоограничительные резисторы ставить необходимо (чтобы ограничить ток через них для повышенного напряжении питания и не сжечь не только индикатор, но и порт микроконтроллера).
Рассчитать номинал токоограничительных резисторов очень легко, по формуле дедушки Ома .
К примеру, характеристики индикатора следующие (берем из даташита):
— рабочее напряжение — 2 вольта
— рабочий ток — 10 мА (=0,01 А)
— напряжение питания 5 вольт
Формула для расчета:
R= U/I (все значения в этой формуле должны быть в Омах, Вольтах и Амперах)
R= (5-2)/0.01 = 300 Ом
Схема подключения многоразрядного семисегментного светодиодного индикатора в основном та-же, что и при подключении одноразрядного индикатора. Единственное, добавляются управляющие транзисторы в катодах (анодах) индикаторов:
На схеме не показано, но между базами транзисторов и выводами порта микроконтроллера необходимо включать резисторы, сопротивление которых зависит от типа транзистора (номиналы резисторов рассчитываются, но можно и попробовать применить резисторы номиналом 5-10 кОм).
Осуществление индикации разрядами осуществляется динамическим путем:
— выставляется двоичный код соответствующей цифры на выходах порта РВ для 1 разряда, затем подается логический уровень на управляющий транзистор первого разряда
— выставляется двоичный код соответствующей цифры на выходах порта РВ для 2 разряда, затем подается логический уровень на управляющий транзистор второго разряда
— итак по кругу
При этом надо учитывать:
— для индикаторов с ОК применяется управляющий транзистор структуры NPN (управляется логической единицей)
— для индикатора с ОА — транзистор структуры PNP (управляется логическим нулем)
Со времен появления радиотехники и электроники обратная связь электронного устройства и человека сопровождалась различными сигнальными лампочками, кнопками, тумблерами, звонками (сигнал готовности микроволновки – дзынь!). Некоторые электронные девайсы выдают минимум информации, потому как больше было бы излишним. Например, светящийся светодиодик у вашей китайской зарядки для телефона говорит о том, что зарядка включена в сеть и в нее поступает напряжение. Но есть и такие параметры, для которых было бы удобнее выдавать объективную информацию. Например, температура воздуха на улице или время на будильнике. Да, все это можно было бы сделать также на светящихся лампочках или светодиодах. Один градус – один горящий диодик или лампочка. Сколько градусов – столько и горящих индикаторов. Считать эти светлячки – это дело может быть и привычное, но сколько опять же надо будет таких светиков, чтобы показать температуру с точностью до десятой доли градуса? Да и вообще, какую площадь будут занимать эти светодиоды и лампочки на электронном девайсе?
Практические семисегментные устройства отображения должны иметь не менее восьми внешних соединительных клемм; семь из них дают доступ к отдельным фотоэлектрическим сегментам, а восьмая обеспечивает общее соединение со всеми сегментами. В первом случае устройство известно как семисегментный дисплей общего анода; в последнем случае устройство известно как семисегментный дисплей с общим катодом.
Чтобы управлять дисплеем с общим анодом, драйвер должен иметь активный-низкий выход, в котором каждый сегментный привод обычно высок, но идет низко, чтобы включить сегмент. Чтобы управлять дисплеем с общим катодом, драйвер должен иметь активный активный выход.
И вот в начале двадцатого века, с появлением электронных ламп появились первые газоразрядные индикаторы
С помощью таких индикаторов можно было вывести цифровую информацию в арабских цифрах. Раньше именно на этих лампах делали различную индикацию для приборов и других электронных устройств. В настоящее время газоразрядные элементы почти уже нигде не применяются. Но ретро – это всегда модно, поэтому многие радиолюбители собирают для себя и своих близких прекрасные часики на газоразрядниках.
Полное объяснение этого немного сложнее, следующим образом. Когда напряжение равно нулю, сегмент фактически невидим. Однако, когда напряжение на входе имеет значительное положительное или отрицательное значение, сегмент становится эффективно видимым, но если напряжение привода поддерживается на протяжении более нескольких сотен миллисекунд, сегмент может стать постоянно видимым и не иметь никакого дальнейшего значения.
В этих условиях сегмент отключается. Таким образом, сегмент включен в этих условиях. Эта форма привода обычно известна как система «мостового привода» с удвоением напряжения. Последовательность действий схемы следующая. Простая каскадная система, описанная ранее, страдает от серьезного дефекта, поскольку дисплей становится размытым во время фактического периода подсчета, становясь стабильным и читаемым только тогда, когда каждый счетчик завершен и входной затвор закрыт. Этот «размытый и читаемый» тип дисплея очень раздражает, чтобы смотреть.
Минусы газоразрядных ламп – кушают много. Про долговечность можно и поспорить. У нас в универе до сих пор в лаборантских кабинетах эксплуатируют частотомеры на газоразрядниках.
С появлением светодиодов ситуация изменилась кардинально. Светодиоды сами по себе жрут маленький ток. Если расставить их в нужное положение , то можно высвечивать абсолютно любую информацию. Для того, чтобы высветить все арабские цифры было достаточно всего-то семь (отсюда и название семисегментного индикатора ) светящихся светодиодных полосочек, выставленных определенным образом:
На рисунке 13 показана усовершенствованная схема счетчика частоты, которая использует блокировку дисплея для преодоления вышеупомянутого дефекта. Эта схема работает следующим образом. Одновременно открывается входной затвор, и счетчики начинают суммировать импульсы входного сигнала. Этот счетчик продолжается ровно через одну секунду, и в течение этого периода четырехбитовые защелки не позволяют выходным сигналам счетчика поступать на драйверы дисплея; при этом дисплей остается стабильным в течение этого периода.
Через несколько секунд последовательность повторяется снова, при этом счетчики перезагружаются, а затем подсчитывают импульсы входной частоты в течение одной секунды, в течение которых дисплей дает постоянное считывание результатов предыдущего счета и т.д.
почти ко всем таким семисегментным индикаторам добавляют также и восьмой сегмент – точку, для того, чтобы можно было показать целое и дробное значение какого-либо параметра
Таким образом, схема на рисунке 13 создает стабильный дисплей, который обновляется один раз в секунду; на практике фактический период отсчета этого и схемы на рисунке 12 может быть сделан в любое десятилетие с множественным или неполным числом секунд, при условии, что выходной дисплей соответствующим образом масштабируется.
Обратите внимание, что трехзначный частотомер может указывать максимальные частоты 999 Гц при использовании односекундной базы, 99 кГц при использовании 100 мс временной базы, 9 кГц при использовании временной базы 10 мс и 999 кГц при использовании 1 мс временной базы.
по идее получается восьми сегментный индикатор , но по-старинке его также называют семисегментным, и ошибки в этом нет.
Короче, семисегментный индикатор – это светодиоды, расположенные друг относительно друга в определенном порядке и запендюренные в один корпус.
Этот метод можно понять с помощью рисунков 14 и 15. Эти переключатели соединены вместе и обеспечивают действительное действие мультиплексора и должны рассматриваться как быстродействующие электронные переключатели, которые многократно переключаются через позиции 1, 2, и последовательность операций схемы следующая. Предположим сначала, что переключатель находится в положении.
Несколько мгновений спустя переключатель переходит в положение 3, заставляя дисплей 3 отображать число через несколько минут, весь цикл начинает повторяться снова и так далее, добавляя бесконечность. На практике около 50 из этих циклов происходят каждую секунду, поэтому глаз не видит, что дисплеи включаются и выключаются отдельно, но воспринимают их как явно устойчивый дисплей, который показывает номер 327, или какой-либо другой номер продиктован сегментом данные.
Если рассмотреть схему одиночного семисегментного индикатора, то она выглядит вот так:
Как мы видим, семисегментный индикатор может быть как с общим анодом (ОА) , так и с общим катодом (ОК) . Грубо говоря, если семисегментник у нас с общим анодом (ОА), то в схеме мы должны на этот вывод вешать “плюс”, а если с общим катодом (ОК) – то “минус” или землю. На какой вывод мы подадим напряжение, такой светодиодик у нас и загорится. Давайте все это продемонстрируем на практике.
В практических мультиплексорах пиковый ток дисплея получается довольно высоким, чтобы обеспечить достаточную яркость дисплея. На фиг. 15 показан пример усовершенствованного метода мультиплексирования, применяемого к трехзначному частотомеру. Этот метод имеет два основных преимущества.
Если эти терминалы активны высоко, они будут иметь следующие характеристики. Фиг. 18 и 19. На рисунке 18 показана техника гашения пульсаций, используемая для обеспечения подавления начального нуля на четырехзначном дисплее, который считывает количество.
У нас имеются в наличии вот такие светодиодные индикаторы:
Как мы видим, семисегментники могут быть одиночные и многоразрядные, то есть две, три, четыре семисегментника в одном корпусе. Для того, чтобы проверить современный семисегментник, нам достаточно мультиметра с функцией прозвонки диодов. Ищем общий вывод – это может быть или ОА или ОК – методом тыка и потом уже смотрим работоспособность всех сегментов индикатора. Проверяем трехразрядный семисегментник:
Таким образом, дисплей отображает. По сути, они просты в использовании, приводят их в действие, и они загораются. Они могут быть раздражающими, потому что у них есть какая-то полярность, а это значит, что они будут работать только тогда, когда вы их правильно подключите. Если вы отмените положительное и отрицательное напряжение, они не загорятся вообще.
Раздражает, так оно и есть, это тоже весьма полезно. Другой провод – катод. Катод соединяется с землей. В принципе, это дойдет до этого. Для общего катода вы подаете ток на контакты, которые вы хотите включить. Мультиплексирование. Для этого даже существуют контроллеры дисплея, если вы не хотите позаботиться о переключении в вашем программном обеспечении.
Опаньки, у нас загорелся один сегмент, таким же образом проверяем и другие сегменты.
Иногда напряжения на мультике не хватает, чтобы проверить сегменты индикатора. Поэтому берем Блок питания, выставляем на нем 5 Вольт, цепляем к одной клемме блока питания резистор 1-2 килоОма и начинаем проверять семисегментник.
Управление 7-сегментным дисплеем
Поэтому, когда у вас есть 4-значный, мультиплексированный 7 сегмент, общий анод. Во-первых, мы должны знать, какой тип дисплея у нас есть, поскольку есть две возможные формы: общий катод и общий анод. Вещи, которые вам понадобятся для этого урока. Слева: графический вид 7-сегментного дисплея, показывающий одно общее расположение для внутренней проводки и расположения контактов.
На этом этапе обратите внимание на начальный вывод, так как он понадобится вам позже при загрузке программы. Если бы дисплей был обычным катодом, мы бы отменили его. В нижней части статьи находится фотография схемы, идущей на моей плате прототипа. Мы также предоставляем библиотеку для управления более чем одним дисплеем.
Для чего же нам резистор? При подаче на светодиодик напряжения он начинает резко жрать ток при включении. Поэтому в этот момент он может перегореть. Чтобы ограничить ток, последовательно со светодиодом включается в цепь резистор. Более подробно можно прочитать в этой статье.
Подсчет в шестнадцатеричном виде на одном 7-сегментном дисплее
Недостатком является то, что они ресурсоемкие. Этот конкретный дисплей имеет четыре цифры и два дисплея двоеточия. Однако устройство также обеспечивает цифровое управление яркостью дисплея через внутренний широкополосный модулятор. В таких случаях выход может быть выполнен на нескольких 7-сегментных дисплеях.
Это экономит контакты на корпусе, а затем на контроле. Соответственно, упоминаются дисплеи с общим анодом или общим катодом. Вывод, который соответствует сегменту или десятичной точке, лучше всего извлекать из листа данных для отображения. 7-сегментный дисплей, который рассчитан на обычные 10-20 мА, по-прежнему будет гореть, хотя и слабый. Но для этого не требуется назначение контактов. Далее распределение этого сегмента основано на.
Таким же образом проверяем четырехразрядный семисегментник с китайского радиоприемника
Думаю, особых затруднений с этим возникать не должно. В схемах семисегментники цепляются с резисторами на каждом выводе. Это тоже связано с тем, что светодиодики при подаче напряжения на них бешенно жрут ток и выгорают.
Если используется другое назначение, это возможно в принципе, но это следует учитывать при программировании. Преобразование отдельных цифр в конкретный шаблон вывода может выполняться с помощью так называемого. Все остальные сегменты должны быть темными. Если этот флажок установлен для всех цифр, дается следующая таблица.
В тестовой программе последовательно отображаются цифры от 0 до 9 на 7-сегментном дисплее. Выходящий номер сохраняется в регистровом счетчике и увеличивается на 1 в пределах цикла. Если регистр достиг значения 10, он снова сбрасывается на 0. После повышения возникает цикл ожидания, который гарантирует, что определенное время пройдет в следующем выпуске. Обычно вы не делаете таких длинных циклов ожидания, но это не про ожидание, а контроль 7-сегментного дисплея. Использовать таймер для этого – это слишком много усилий.
В нашем современном мире семисегментники уже заменяются жк-индикаторами, которые могут высвечивать абсолютно различную информацию
но для того, чтобы их использовать, нужны определенные навыки в схемотехнике таких устройств. Пока что проще и дешевле светодиодных семисегментных индикаторов ничего нет.
Фактическая проблема и, следовательно, интересная в этой статье часть, однако, происходит непосредственно после цикла метки. Обратите внимание, что значение счетчика должно быть удвоено. Это напрямую связано с тем, что флеш-память носит словесный характер, а не байт-мудрый. Во втором примере на этой странице это делается по-другому. Там показано, как посредством другой записи таблицы генерация байтов заполнения может быть предотвращена ассемблером. Интересно также, что для расчета требуется регистр, который содержит значение 0.
Следовательно, эта константа должна быть сначала загружена в регистр и только после этого может быть выполнено добавление с использованием этого регистра. Интересно то, что этот факт встречается во многих программах, а константы в подавляющем большинстве случаев – это константа 0. Поэтому многие программисты резервируют регистр с самого начала для этого и называют его нулевым регистром.
В этой статье мы поговорим о цифровой индикации.
Семисегментные светодиодные индикаторы предназначены для отображения арабских цифр от 0 до 9 (рис.1).
Такие индикаторы бывают одноразрядные, которые отображают только одно число, но семисегментных групп, объединенных в один корпус может быть и больше (многоразрядные). В этом случае цифры разделяются децимальной точкой (рис.2)
К сожалению, есть проблема, потому что для отображения необходимо восемь портов – четыре объявления потребуют 32 порта. Но есть несколько путей. Сдвиговые регистры уже описаны в другом учебнике. Это упростило бы создание требуемых 32 выходных линий только с тремя выводами. Принцип управления не отличается от управления одним 7-сегментным дисплеем, только то, как «выходные выводы» приближаются к их значениям, отличается и определяется использованием сдвиговых регистров. На данный момент, однако, должен быть показан другой вариант управления.
Рис.2.
Индикатор называется семисегментным из-за того, что отображаемый символ строится из отдельных семи сегментов. Внутри корпуса такого индикатора находятся светодиоды, каждый из которых засвечивает свой сегмент.
Буквы и другие символы на таких индикаторах отображать проблематично, поэтому для этих целей используются 16-сегментные индикаторы.
Ниже мы рассмотрим мультиплексирование еще раз. Мультиплексирование означает, что не все четыре дисплея включаются одновременно, но только один на короткое время. Если изменение между дисплеями происходит быстрее, чем мы, люди, можем воспринимать, все четыре индикатора, похоже, работают одновременно, хотя на один короткий промежуток времени светится только один. Таким образом, четыре дисплея могут разделять отдельные сегменты сегмента, и все, что требуется, – это 4 дополнительные линии управления для 4 дисплеев, с которыми включен дисплей.
Одним из аспектов этого типа управления является частота мультиплексирования, то есть полный цикл перехода с одного дисплея на другой. Он должен быть достаточно высоким, чтобы избежать мерцания дисплея. Человеческий глаз вялый, в кинотеатре 24 кадра в секунду, с телевизором, чтобы быть на безопасной стороне, что также неподвижные изображения спокойны, каждый сегмент должен контролироваться не менее 100 Гц, поэтому он подключается, по крайней мере, каждые 10 мс. В исключительных случаях, однако, даже 100 Гц все еще могут мерцать, Например, когда дисплей перемещается быстро или когда возникают помехи с искусственными источниками света, которые работают с переменным током.
Светодиодные индикаторы бывают двух типов.
В первом из них все катоды, т.е. отрицательные выводы всех светодиодов, объединены вместе и для них выделен соответствующий вывод на корпусе.
Остальные выводы индикатора соединены к аноду каждого из светодиодов (рис.3, а). Такая схема называется «схема с общим катодом».
Также существуют индикаторы, у которых светодиоды каждого из сегментов подключены по схеме с общим анодом (рис.3, б).
Рис.3.
Каждый сегмент обозначен соответствующей буквой. На рисунке 4 представлено их расположение.
Рис.4.
В качестве примера рассмотрим двухразрядный семисегментный индикатор GND-5622As-21 красного свечения. Кстати существуют и другие цвета, в зависимости от модели.
С помощью трехвольтовой батарейки можно включать сегменты, а если объединить группу выводов в кучку и подать на них питание, то можно даже отображать цифры. Но такой метод является неудобным, поэтому для управления семисегментными индикаторами используют регистры сдвига и дешифраторы. Также, нередко, выводы индикатора подключаются напрямую к выходам микроконтроллера, но лишь в том случае когда используются индикаторы с низким потреблением тока. На рисунке 5 представлен фрагмент схемы с использованием PIC16F876A.
Рис.5.
Для управления семисегментным индикатором часто используется дешифратор К176ИД2.
Эта микросхема способна преобразовать двоичный код, состоящий из нулей и единиц в десятичные цифры от 0 до 9.
Чтобы понять, как все это работает, нужно собрать простую схему (рис.6). Дешифратор К176ИД2 выполнен в корпусе DIP16. Он имеет 7 выходных вывода (выводы 9 – 15), каждый из которых предназначен для определенного сегмента. Управление точкой здесь не предусмотрено. Также микросхема имеет 4 входа (выводы 2 – 5) для подачи двоичного кода. На 16-й и 8-ой вывод подается плюс и минус питания соответственно. Остальные три вывода являются вспомогательными, о них я расскажу чуть позже.
Рис.6.
DD1 – К176ИД2
R1 – R4 (10 – 100 кОм)
HG1 –
GND-5622As-21
В схеме присутствует 4 тумблера (можно любые кнопки), при нажатии на них на входы дешифратора подается логическая единица от плюса питания. Кстати питается сама микросхема напряжением от 3 до 15 Вольт. В данном примере вся схема питается от 9-вольтовой “кроны”.
Также в схеме присутствует 4 резистора. Это, так называемые, подтягивающие резисторы. Они нужны, чтобы гарантировать на логическом входе низкий уровень, при отсутствии сигнала. Без них показания на индикаторе могут отображаться некорректно. Рекомендуется использовать одинаковые сопротивления от 10 кОм до 100 кОм.
На схеме выводы 2 и 7 индикатора HG1 не подключены. Если подключить к минусу питания вывод DP, то будет светиться децимальная точка. А если подать минус на вывод Dig.2, то будет светиться и вторая группа сегментов (будет показывать тот же символ).
Входы дешифратора устроены так, что для отображения на индикаторе чисел 1, 2, 4 и 8 требуется нажатие лишь одной кнопки (на макете установлены тумблеры, соответствующие входам D0, D1, D2 и D3). При отсутствии сигнала отображается цифра ноль. При подаче сигнала на вход D0 отображается цифра 1. И так далее. Для отображения других цифр требуется нажатие комбинации тумблеров. А какие именно нужно нажимать нам подскажет таблица 1.
Таблица 1.
Чтобы отобразить цифру “3” необходимо логическую единицу подать на вход D0 и D1. Если подать сигнал на D0 и D2, то отобразится цифра “5” (рис.6).
Рис.6.
Здесь представлена расширенная таблица, в которой мы видим не только ожидаемую цифру, но и те сегменты (a – g), которые составят эту цифру.
Таблица 2.
Вспомогательными являются 1, 6 и 7-ой выводы микросхемы (S, M, К соответственно).
На схеме (рис.6) 6-ой вывод “М” заземлен (на минус питания) и на выходе микросхемы присутствует положительное напряжение для работы с индикатором с общим катодом. Если используется индикатор с общим анодом, то на 6-ой вывод следует подать единицу.
Если на 7-ой вывод “К” подать логическую единицу, то знак индикатора гасится, ноль разрешает индикацию. В схеме данный вывод заземлен (на минус питания).
На первый вывод дешифратора подана логическая единица (плюс питания), что позволяет отображать преобразованный код на индикатор. Но если подать на данный вывод (S) логический ноль, то входы перестанут принимать сигнал, а на индикаторе застынет текущий отображаемый знак.
Стоит заметить одну интересную вещь: мы знаем, что тумблер D0 включает цифру “1”, а тублер D1 цифру “2”. Если нажать оба тумблера, то высветится цифра 3 (1+2=3). И в других случаях на индикатор выводится сумма цифр, составляющих эту комбинацию. Приходим к выводу, что входы дешифратора расположены продуманно и имеют очень логичные комбинации.
Также вы можете посмотреть видео к этой статье.
Семисегментными индикаторами в наше время называют устройства, которые отображают цифровую информацию. В электрических приборах данные элементы используются довольно часто. Если к ним подключить модулятор, то можно сделать из индикаторов интересные электронные часы. Чтобы более подробно разобраться в этом вопросе, необходимо изучить основные типы устройств. Также важно ознакомиться с моделями, которые представлены на рынке.
Одноразрядные модели
Одноразрядный семисегментный индикатор (схема показана ниже) в наше время отличается своей простотой. Как правило, контакты у моделей установлены в параллельном порядке. При этом светодиоды используются самые обычные. Сделать электронные часы из одноразрядных индикаторов можно довольно просто. В данном случае блок питания потребуется на 30 В.
Также следует учитывать, что модулятор для этого типа индикаторов может использоваться исключительно одноканальный. Непосредственно регулятор для него важно вывести через двойной переходник. При этом резисторы для часов подойдут как импульсного, так и инерционного типа. Непосредственно подключение семисегментного индикатора осуществляется через проводник. Предельное напряжение он обязан выдерживать не менее 35 В. При этом параметр силы тока должен составлять 5 А.
Двухразрядные модификации
Двухразрядные модификации на сегодняшний день являются довольно распространенными. Светодиоды в данном случае чаще всего используются красного типа. Однако на рынке можно найти и другие варианты. Сила свечения у данных индикаторов зависит от производителя. Как правило, контакты у них устанавливаются медного типа.
При этом резисторы используются в основном импульсные. Для того чтобы понять, как сделать часы на практике, необходимо заранее подготовить модулятор, а также преобразователь для устройства. В первую очередь для часов подбирается корпус. При этом семисегментные индикаторы важно устанавливать на модулятор. Непосредственно регулятор должен располагаться в стороне. Соединяется он с блоком питания через тетрод. Также для лучшей проводимости многие специалисты рекомендуют использовать усилитель. В данном случае блок питания подойдет на 15 В. В конце работы останется лишь зафиксировать проводник.
Трехразрядные устройства
Трехразрядные устройства обладают большой мощностью. Светодиоды в данном случае имеются резонансного типа, и на рынке они, как правило, представлены белого цвета. Резисторы для подключения индикаторов применяются инерционного типа. Для того чтобы сделать из трехразрядной модификации часы, потребуется найти качественный модулятор. При этом управление семисегментным индикатором будет происходить через регулятор кнопочного типа.
Тетроды в данном случае пороговое напряжение обязаны выдерживать на уровне 15 В. Проводимость их зависит от частотности конденсаторов. Многие специалисты при сборе часов советуют преобразователи устанавливать с тиристором. В данном случае блок питания можно использовать без усилителя. Для подключения индикаторов понадобятся проводники. Для безопасного использования прибора их необходимо изолировать.
Индикаторы серии E 10561
Семисегментный светодиодный индикатор данной серии отличается повышенным параметром рассеивания. В данном случае цифры видны очень четко. Светодиоды в таких устройствах используются, как правило, асинхронного типа. При этом резонансные модели также встречаются. Чтобы подключить устройство к регулятору, потребуются мощные резисторы. В данном случае преобразователи используются с тиристорами.
Пороговая частота этих устройств не должна превышать 3 Гц. При этом блоки питания, как правило, используются на 30 В. В такой ситуации показатель номинального тока должен располагаться на уровне 12 А. Все это позволит успешно включить индикатор. Непосредственно подсоединение прибора осуществляется через контакты. В некоторых случаях тетрод в цепи может располагаться после преобразователя. В таком случае можно надеяться на пороговое напряжение на уровне 15 В.
Особенности моделей серии E 15461
Семисегментные индикаторы данной серии относятся к классу двухразрядных. В этом случае светодиоды в устройствах установлены резонансного типа. Для подключения модели используются медные контакты. Сделать часы в данном случае довольно просто. Модулятор для этих целей можно использовать одноканального типа. При этом резисторы подбираются средней мощности. Напряжение они обязаны выдерживать минимум на уровне 20 В.
Блоки питания для этих целей можно использовать от персонального компьютера. Также следует отметить, что указанные индикаторы являются довольно компактными. При этом яркость их можно регулировать при помощи модуляторов. Для этого дополнительно потребуется установка преобразователя. Для повышения мощности свечения используются поворотные регуляторы. Усилители в данном случае устанавливаются довольно редко.
Подключение устройства серии E 10578
Индикаторы указанной серии имеются с резонансными светодиодами. В настройке они довольно просты и цифры способны отображать четко. Также следует учитывать, что параметр рассеивания у них очень высокий. Таким образом, устанавливать их в электронные приборы можно довольно просто. Как правило, такие модели используются в микроволновых печах. При этом для секундомеров они также подходят. В данном случае модулятор устанавливается с расширителем. При этом многоканальные модификации являются более распространенными. Усилители для устройств подходят только низкоомного типа. Дополнительно следует учитывать, что частотность модели зависит от блока питания. Если рассматривать прибор на 20 В, то вышеуказанный параметр будет находиться в районе 4 Гц.
Схема индикаторов серии E 10509
Семисегментные индикаторы данного типа способны похвастаться высокой чувствительностью. При этом светодиоды для них подходят резонансные. На рынке они чаще всего представлены красного и синего цвета. Резисторы для подключения модели применяются в основном импульсные. Однако инерционные аналоги также активно используются в бытовой технике. Тетроды в данном случае напряжение должны быть способны выдерживать максимум на уровне 30 В.
При этом система контактов, как правило, подбирается на два проводника. Усилитель для сборки часов потребуется низкоомного типа. Все это необходимо для того, чтобы справляться с большим отрицательным сопротивлением. Однако в данной ситуации многое зависит от модулятора, который устанавливается.
Применение индикаторов серии E 22563
Индикаторы данного типа на сегодняшний день являются довольно востребованными. На электронные приборы указанные модели устанавливать можно. При этом в промышленной сфере устройства данного типа также являются востребованными. В этом случае светодиоды устанавливаются средней мощности. Причем контактные системы на рынке представлены самые разнообразные.
Подключение моделей к модулятору, как правило, осуществляется через тетроды. Преобразователи подходят с частотой не менее 4 Гц. Дополнительно следует учитывать, что параметр рассеивания свечения светодиодов зависит от мощности блока питания. Если рассматривать самые простые часы с модулятором серии РР20, то он подбирается на 20 В.
Модель на хроматических резисторах
Семисегментные индикаторы на хроматических резисторах встречаются довольно редко. Модуляторы в данном случае могут использоваться только одноканального типа. Также следует учитывать, что при подключении устройства обязательно необходимо устанавливать усилители. Все это позволит стабилизировать в цепи параметр порогового напряжения. Блоки питания в данном случае можно использовать от персональных компьютеров. Также важно учитывать, что чувствительность системы зависит от типа тетродов.
Использование оптических модуляторов
Оптические модуляторы, как правило, используются с индикаторами резонансного типа. При этом на электроприборы данные конфигурации устанавливаются часто. В данном случае регуляторы используются в основном поворотного типа. При этом кнопочные варианты встречаются довольно редко. Резисторы для указанных систем подходят асинхронного типа. Непосредственно подсоединение модуляторов в цепи происходит через преобразователи.
При таком подходе, для вывода числа с любым количеством разрядов используется всего 2 цифровых выхода Arduino.
Для примера будем выводить на индикаторы количество секунд, прошедших с момента старта работы.
Исходные компоненты
Принцип работы
Семисегментный индикатор – это просто набор обычных светодиодов в одном корпусе. Просто они выложены восьмёркой и имеют форму палочки-сегмента. Можно подключить его напрямую к Arduino, но тогда будет занято 7 контактов, а в программе будет необходимо реализовать алгоритм преобразования числа из двоичного представления в соответствующие «калькуляторному шрифту» сигналы.
Для упрощения этой задачи существует 7-сегментный драйвер. Это простая микросхема с внутренним счётчиком. У неё есть 7 выходов для подключения всех сегментов (a, b, c, d, e, f, g pins), контакт для сбрасывания счётчика в 0 (reset pin) и контакт для увеличения значения на единицу (clock pin). Значение внутреннего счётчика преобразуется в сигналы (включен / выключен) на контакты a-g так, что мы видим соответствующую арабскую цифру.
На микросхеме есть ещё один выход, обозначенный как «÷10». Его значение всё время LOW за исключением момента переполнения, когда значение счётчика равно 9, а его увеличивают на единицу. В этом случае значением счётчика снова становится 0, но выход «÷10» становится HIGH до момента следующего инкремента. Его можно соединить с clock pin другого драйвера и таким образом получить счётчик для двузначных чисел. Продолжая эту цепочку, можно выводить сколь угодно длинные числа.
Микросхема может работать на частоте до 16 МГц, т.е. она будет фиксировать изменения на clock pin даже если они будут происходить 16 миллионов раз в секунду. На той же частоте работает Arduino, и это удобно: для вывода определённого числа достаточно сбросить счётчик в 0 и быстро инкрементировать значение по единице до заданного. Глазу это не заметно.
Подключение
Сначала установим индикаторы и драйверы на breadboard. У всех них ноги располагаются с двух сторон, поэтому, чтобы не закоротить противоположные контакты, размещать эти компоненты необходимо над центральной канавкой breadboard’а. Канавка разделяет breadboard на 2 несоединённые между собой половины.
16 – к рельсе питания: это питание для микросхемы
2 «disable clock» – к рельсе земли: мы его не используем
3 «enable display» – к рельсе питания: это питание для индикатора
8 «0V» – к рельсе земли: это общая земля
1 «clock» – через стягивающий резистор к земле. К этому контакту мы позже подведём сигнал с Arduino. Наличие резистора полезно, чтобы избежать ложного срабатывания из-за окружающих помех пока вход ни к чему не подключен. Подходящим номиналом является 10 кОм. Когда мы соединим этот контакт с выходом Arduino, резистор не будет играть роли: сигнал притянет к земле микроконтроллер. Поэтому если вы знаете, что драйвер при работе всегда будет соединён с Arduino, можете не использовать резистор вовсе.
15 «reset» и 5 «÷10» пока оставим неподключенными, но возьмём на заметку – нам они понадобятся в дальнейшем
Контакты 3 и 8 на индикаторе обозначены как «катод», они общие для всех сегментов, и должны быть напрямую соединены с общей землёй.
Далее следует самая кропотливая работа: соединение выходов микросхемы с соответствующими анодами индикатора. Соединять их необходимо через токоограничивающие резисторы как и обычные светодиоды. В противном случае ток на этом участке цепи будет выше нормы, а это может привести к выходу из строя индикатора или микросхемы. Номинал 220 Ом подойдёт.
Соединять необходимо сопоставляя распиновку микросхемы (выходы a-g) и распиновку индикатора (входы a-g)
Повторяем процедуру для второго разряда
Теперь вспоминаем о контакте «reset»: нам необходимо соединить их вместе и притянуть к земле через стягивающий резистор. В последствии, мы подведём к ним сигнал с Arduino, чтобы он мог обнулять значение целиком в обоих драйверах.
Также подадим сигнал с «÷10» от правого драйвера на вход «clock» левого. Таким образом мы получим схему, способную отображать числа с двумя разрядами.
Стоит отметить, что «clock» левого драйвера не стоит стягивать резистором к земле, как это делалось для правого: его соединение с «÷10» само по себе сделает сигнал устойчивым, а притяжка к земле может только нарушить стабильность передачи сигнала.
Железо подготовленно, осталось реализовать несложную программу.
Программирование
7segment.pde #define CLOCK_PIN 2 #define RESET_PIN 3 /* * Функция resetNumber обнуляет текущее значение * на счётчике */ void resetNumber() { // Для сброса на мгновение ставим контакт // reset в HIGH и возвращаем обратно в LOW digitalWrite(RESET_PIN, HIGH) ; digitalWrite(RESET_PIN, LOW) ; } /* * Функция showNumber устанавливает показания индикаторов * в заданное неотрицательное число `n` вне зависимости * от предыдущего значения */ void showNumber(int n) { // Первым делом обнуляем текущее значение resetNumber() ; // Далее быстро «прокликиваем» счётчик до нужного // значения while (n– ) { digitalWrite(CLOCK_PIN, HIGH) ; digitalWrite(CLOCK_PIN, LOW) ; } } void setup() { pinMode(RESET_PIN, OUTPUT) ; pinMode(CLOCK_PIN, OUTPUT) ; // Обнуляем счётчик при старте, чтобы он не оказался // в случайном состоянии resetNumber() ; } void loop() { // Получаем количество секунд в неполной минуте // с момента старта и выводим его на индикаторы showNumber((millis() / 1000 ) % 60 ) ; delay(1000 ) ; }
Результат
Подключаем контакт 2 с Arduino к контакту clock младшего (правого) драйвера, контакт 3 – к общему reset’у драйверов; разводим питание; включаем – работает!
7-сегментный индикатор
Поведение
Отображает значения восьми своих однобитных входов. Сегменты
либо подсвечены цветом, либо светло-серого цвета в зависимости от входных данных. Соответствие следующее.
Контакты
- Северный край, первый слева (вход, разрядность равна 1)
- Управляет средним горизонтальным сегментом.
- Северный край, второй слева (вход, разрядность равна 1)
- Управляет верхним вертикальным сегментом на левой стороне.
- Северный край, третий слева (вход, разрядность равна 1)
- Управляет верхним горизонтальным сегментом.
- Северный край, четвёртый слева (вход, разрядность равна 1)
- Управляет верхним вертикальным сегментом на правой стороне.
- Южный край, первый слева (вход, разрядность равна 1)
- Управляет нижним вертикальным сегментом на левой стороне.
- Южный край, второй слева (вход, разрядность равна 1)
- Управляет нижним горизонтальным сегментом.
- Южный край, третий слева (вход, разрядность равна 1)
- Управляет нижним вертикальным сегментом на правой стороне.
- Южный край, четвёртый слева (вход, разрядность равна 1)
- Управляет десятичной точкой.
Атрибуты
- Цвет включенных
- Цвет, используемый для отображения сегментов и десятичной точки, когда они включены.
- Цвет выключенных
- Цвет, используемый для отображения сегментов и десятичной точки, когда они выключены.
- Фон
- Цвет, которым отрисовывается фон индикатора (по умолчанию прозрачный).
- Активен при единице?
- Если
да
, то сегменты горят, когда значение на соответствующем входе 1. Еслинет
, то они горят, когда значение на соответствующем входе 0.
Поведение Инструмента Нажатие
Нет.
Поведение Инструмента Текст
Нет.
Назад к Справке по библиотеке
Немного теории
Выбор индикатора С выбором я немного поторопился, и вместо того чтобы почитать теорию, пошёл в магазин радиодеталей и просто выбрал те индикаторы, которые мне больше приглянулись. На самом деле, при выборе стоит учитывать, что индикаторы могут быть с общим катодом или с общим анодом. По сути – это просто полярность. А вот при подключении, меньше заморочек если общий всё-таки катод. Если общий – катод, то его обычно цепляют на землю, и можно регулировать яркость каждого сегмента отдельно, изменяя ток на каждом отдельном аноде. А если общий – анод, то на него подают напряжение, и приходится включать сегменты, инвертируя подачу сигнала на катоды. Так, сегмент будет включен, если на ножку не подаётся сигнал. В общем, этим можно и пренебречь, подключая к Ардуине. Обычно яркость отдельного сегмента совершенно не обязательно. Ещё одна заморочка была в схеме подключения. Найти её для конкретной модели индикатора не удалось, и пришлось опытным путём всё выяснять (хотя это само по себе интересно). Подключение Перерыв интернет, и не найдя описания подключения конкретно этого индикатора, решил определить всё сам: Сам процесс оказался интересным и совсем не сложным. Так, из 14 ножек, мне понадобилось только 9 (7 на сегменты, 1 на запятую и 1 на общее питание +3.3v). Проверял, подключая сегменты на землю (в ардуине это будет отсутствие сигнала на ноге). Чтобы выводить цифры, надо комбинировать включение-выключение сегментов. Так, например, для цифры семь, надо включить сегменты A, B и C. Или, с Ардуины подать на их выводы LOW, а на остальные HIGH (для общего катода – наоборот, а сам катод нужно подключить на землю). Вот, собственно табличка, соответствий для цифер от 0 до 9:
Ну, и в завершении знакомства, я написал простенькую программку, которая циклично показывает цифры от 0 до 9, с интервалом в одну секунду. Вот что получилось: Код скетча можно посмотреть тут: http://www.copypastecode.com/66132/ |
ДЕШИФРАТОР СЕМИСЕГМЕНТНОГО ИНДИКАТОРА
Дешифраторы, как и шифраторы преобразуют один код на своем входе в другой код, который и подают на выход. Одним из частных случаев использование дешифратора является его совместная работа с семисегментным индикатором. Обычно дешифратор преобразует двоичное число в сигнал на одном из своих выходов, но для этого конкретного случая используются специальные дешифраторы, которые преобразуют двоичный код на своем входе в код семисегментного индикатора на выходе. Работу данного типа приборов рассмотрим на примере микросхемы К514ИД2 [1-4].
Данная микросхема имеет четыре входа D1-D4, и семь выходов: a, b, c, d, e, f, g, для подключения к соответствующим сегментам семисегментного индикатора. Вывод R – разрешение работы, для того, что бы дешифратор реагировал на сигналы на своих входах, на выводе R должен быть высокий логический уровень.
Следует особо отметить, что питание подается на 14 выход микросхемы К514ИД2, общий провод 6. Питание осуществляется от стабилизированного источника питания напряжением 5В.
Счетные импульсы будем подавать с мультивибратора [5], счет их будет осуществляться счетчиком с недвоичным коэффициентом пересчета [6], к выводам которого подключен дешифратор семисегментного индикатора.
Данная электрическая принципиальная схема получается достаточно сложной, поэтому, даже будучи правильно собранной, она иногда отказывается правильно работать из-за обилия штыревых непаянных соединений. Как говориться, электроника это наука о контактах. Очень многие проблемы в электротехнике и электронике сводятся к тому, что контакт есть там, где не надо или контакта нет там, где надо.
Опыт показал, что применение в лабораторных работах выпускаемых промышленностью семисегментных индикаторов неоправданно из-за того, что такие индикаторы обладают недостаточной «студентоустойчивостью», при неправильном подключении они быстро выходят из строя. Поэтому были разработаны модули, имитирующие работу семисегментных индикаторов на базе светодиодов АЛ307Б [7]. По этой причине цифры на индикаторе выглядят несколько непривычно, но общий принцип работы семисегментного индикатора уяснить вполне можно.
Видео
Литература
- https://kiloom.ru/spravochnik-radiodetalej/microsxema/k514id2-kr514id2.html
- http://ru.pc-history.com/mikrosxema-k514id2.html
- https://eandc.ru/pdf/mikroskhema/k514id2.pdf
- Ямпольский В.С. Основы автоматики и электронно-вычислительной техники – М. Просвещение, 1991
- http://radioskot.ru/publ/nachinajushhim/multivibrator_na_ehlementakh_i_ne/5-1-0-1366
- http://radioskot.ru/publ/nachinajushhim/schetchik_na_mikroskheme/5-1-0-1372
- http://radioskot.ru/publ/nachinajushhim/samodelnye_moduli_dlja_izuchenija_mikroskhem/5-1-0-1352
Файлы проекта тут. Автор материала: Denev.
Форум
Форум по обсуждению материала ДЕШИФРАТОР СЕМИСЕГМЕНТНОГО ИНДИКАТОРА
| |||
Счетчики-дешифраторы К561ИЕ8 » Страница 2 » Паятель.Ру
Для того, чтобы на выходе счетчика получить результат счета в десятичной системе нужно было собирать схему из двух микросхем — счетчика и дешифратора. Но кроме счетчиков и дешифраторов существует еще один тип микросхем — счетчики-дешифраторы, содержащие в одном корпусе и счетчик и дешифратор, подключенный на выходе счетчика. Одна из таких, наиболее распространенных микросхем, — К561ИЕ8 (или К176ИЕ8). Микросхема содержит двоичный счетчик, счет которого ограничен до 10-ти (при поступлении на его счетный вход десятого импульса счетчик автоматически переходит в нулевое состояние), и двоично-десятичный дешифратор, который включен на выходе этого счетчика (рисунок 1).
Рис.4
Всех их объединяет то, что каждое посадочное место под цифру состоит из семи черточек, управляемых электрическими сигналами. Посмотрите на рисунок 4, там показано как из этих семи черточек, именуемых сегментами формируются все цифры от “0” до “9”. Индикаторы, образующие цифры при помощи семи сегментов называются семисегментными. Сегменты обозначаются буквами от А до G. А набор уровней, при подаче которого на семи-сегментный индикатор на нем формируются цифры называется семисегментным кодом.
Таким образом, для выресовки цифры достаточно всего семи выходов дешифратора, всего семь выходов, каждый из которых подключен к определенному сегменту индикатора.А такие дешифраторы называют семисегментными.
Наиболее распространенные цифровые светодиодные семисегментные индикаторы АЛС321Б и АЛС335Б, эти индикаторы содержат восемь светодиодов, из которых семь служат для образования цифр и имеют плоскую форму, и один треугольный — для отображения десятичной запятой. Аноды этих всех светодиодов соединены вместе и выведены на 14-й вывод, а катоды разведены по остальным выводам.
Рис.5
На рисунке 5 изображен вид этих индикаторов, а также обозначено какие сегменты как именуются (А, В, С, D, Е, F, G). Справа изображен индикатор перевернутый выводами к читателю. Отсчет выводов начинается с черной или цветной точки на торце корпуса. Выводы помеченные крестиком на некоторых индикаторах (обычно более новых) могут отсутствовать, но счет выводов ведется так как будто они есть.
Для опытов мы будем использовать эти индикаторы. Но если у вас имеются другие светодиодные индикаторы, можно определить их цоколевку по справочнику, или определить цоколевку индикатора самостоятельно. Нужно иметь ввиду, что не все индикаторы имеют соединенные вместе аноды, есть и с общими катодами.
Определить это можно по маркировке, по последней букве, если это “А”, — то общий катод, а если “Б” — общий анод. Обычно после буквы следует еще одна цифра, которая обозначает цвет свечения светодиодов индикатора.
И так, чтобы определить цоколевку семи-сегментного цифрового светодиодного индикатора нужна одна плоская батарейка и резистор на 200-360 Ом. Подключите резистор к одному из выводов батарейки и затем используя второй вывод батарейки и второй (свободный) вывод резистора методом проб и ошибок определите где общий вывод (обычно для индикаторов с общим катодом это вывод 12 или 4, а для индикаторов с общим анодом — 14 или 3).
А затем при подаче тока на какие выводы относительно общего зажигаются какие сегменты. Подключать к индикатору батарейку без токоограничивающего резистора нельзя, поскольку это приведет к пережиганию светодиодов и порче индикатора.
Полдела сделано, с индикаторами разобрались, теперь поговорим о семи-сегментных дешифраторах.
Рис.6
Один из наиболее распространенных семисегметных дешифраторов — микросхема К176ИД2 (или К176ИД3, что почти одно и тоже). Микросхема имеет стандартный 16-ти выводной корпус, её цоколевка показана на рисунке 6. Кроме входов, на которые подается двоичный код с выходов счетчика (входы 1, 2, 4, 8), и выходов, к которым подключаются выводы семисегментного индикатора (выходы А, В, С, D, Е, F, G) микросхема имеет еще три входа: С, S и К. Семисегментные индикаторы бывают двух типов — с общим катодом и с общим анодом.
Катоды светодиодов первых из них соединены вместе, поэтому общий катод такого индикатора подключается к минусовому полюсу питания, а для зажигания светодиодов сегментов (и запятой) требуется подача положительного напряжения на них. Если светодиоды индикатора имеют соединенные вместе аноды, то этот общий анод подключается к положительному полюсу питания, а зажигание светодиодов производится подачей на их катоды отрицательного напряжение.
Можно сказать, что для индикаторов с общим катодом требуются единицы, а для индикаторов с общим анодом — нули на выходе дешифратора. Вход S микросхемы К176ИД2 как раз и служит для выбора с каким индикатором (с общим анодом или общим катодом) предстоит работать. Если индикаторы с общим анодом (как в нашем случае) на вход S подается логическая единица, а если индикаторы с общим катодом — нужно на S подать нуль.
Вход К служит для гашения индикатора, например если нужно чтобы он мигал, или если нужно индикацию выключать (например, когда сетевое питание отключено и часы работают от резервной батарейки). Чтобы индикатор погас на вход К нужно подать единицу, чтобы светился — нуль.
Вход С управляет внутренней ячейкой памяти дешифратора. Ячейка памяти дает возможность записать в нее индицируемую цифру, и индикатор будет показывать эту цифру до тех пор пока на вход С не поступит команда сменить запись. Например, если в приборе, в котором работает этот дешифратор, имеется счетчик, состояние которого быстро меняется и нужно показывать на табло только состояние этого счетчика в какой-то временной момент, например через каждые две секунды.
Тогда на вход С подаются короткие положительные импульсы в тот момент когда нужно показать состояние счетчика. В этот момент двоичный код с выходов счетчика записывается в память дешифратора и на индикаторном табло будет светится цифра, соответствующая этому коду, все время до тех пор пока не поступит следующий импульс на вход С.
Семисегментный индикатор. Подключение к PIC. Динамическая индикация – 10 Мая 2016
В предыдущей статье разобрали как работает светодиодный семисегментный индикатор. В этой – будем подключать его к микроконтроллеру. В качестве тестового используется контроллер PIC16F628.
Семисегментным индикатором можно управлять статически или динамически. При статическом управлении сигнал подается постоянно, т.е. зажгли цифру “4” и она светится пока не сменим ее на другую. Такой способ прост и удобен, т.к. мы меняем значение выводов микроконтроллера только тогда, когда необходимо изменить выводимую информацию. Для управления одноразрядным индикатором нам необходимо семь (а в случае с точкой – 8) свободных выводов.
Пример статической индикации.
Гораздо проще создать массив, в котором будут определены все необходимые нам для вывода символы и брать их оттуда.
unsigned
char
symbol[] =
{
-
0x3f,
-
0x06,
-
0x5b,
-
0x4f,
-
0x66,
-
0x6d,
-
0x7d,
-
0x07,
-
0x7f,
-
0x6f,
};
А теперь допустим, что у нас не один разряд а два. Значит выводов контроллера уже нужно не 7(8), а 14(16)!!!! А если 3 разряда? А 4? Так никаких входов/выходов не напасешься((((
Поэтому распространение получила динамическая индикация. Она понимает под собой поочередное зажигание разрядов индикатора. И частота такого переключения должна быть довольно высокой(хотя по меркам МК и не очень:)), чтобы наш глаз не воспринимал мерцания и создавалось впечатление, что светодиоды горят всегда. Схема подключения индикатора в этом случае получается экономичнее, т.к. одинаковые сегменты всех разрядов индикатора объединены.
От слов к делу. Сразу код программы с комментариями.
Пример динамической индикации.
Видим, что постоянно светятся одни и те же символы. Но мы то знаем, что они зажигаются поочередно. И обновляются с такой скоростью, что человеческий глаз не может этого заметить.
7-сегментные светодиодные дисплеи 101 – Как сделать одну работу
Семисегментные светодиодные дисплеи используются во всех типах устройств, от часов и других приборов до приборных панелей. Они могут показывать время, температуру, скорость, направление, емкость (наполовину полон резервуар или наполовину пуст?) И многие другие типы информации о вещах, которые мы хотим отслеживать.
Цель этого руководства – помочь вам узнать:
- Как работают семисегментные светодиодные дисплеи
- Как сделать одну работу в вашем проекте
Это очень базовое введение в семисегментные светодиодные дисплеи, предназначенные для поможет вам взять случайный однозначный дисплей и заставить его работать, даже если у вас нет какой-либо конкретной информации.Например, дисплей, который я использую, был выбран из моей коллекции запчастей и очень похож на этот:
Случайно выбранный 7-сегментный светодиодный дисплей
Методы сбора информацииРазница между изображением и дисплеем, который я буду использовать, заключается в том, что на моем штампе номер 5161BS, и это все, что я знаю о нем до сих пор. Возможно, у вас уже есть инструкции, руководство или часто задаваемые вопросы, в которых описывается ваш дисплей, но если у вас их нет, поиск в Google по всему, что выглядит как номер детали на дисплее, должен дать достаточно информации, чтобы начать работу.Мой самый первый результат поиска по запросу “5161BS” дал шестистраничный технический паспорт, в котором четко описано все, что мне нужно знать об использовании этого дисплея и многом другом.
Предположим, однако, что поиск не дал ничего полезного и нам придется заставить это работать без дополнительной информации. Мы можем начать с описания некоторых свойств, которые применяются к этим дисплеям в целом:
Существует два основных типа 7-сегментных светодиодных дисплеев:
- Общий анод: в этом типе дисплея источник положительного напряжения используется совместно отображать сегменты.Сегменты подсвечиваются путем установки их отдельных выводов на землю.
- Общий катод: общий путь к земле используется сегментами. Отдельные сегменты светятся, когда на их штырьки подается достаточное положительное напряжение.
Идея, лежащая в основе общего катодного или анодного дисплея, заключается в том, что при совместном использовании либо положительного напряжения, либо пути к земле требуется меньше контактов, чем если бы каждый сегмент имел свою собственную пару катодных и анодных контактов. Поскольку большинство дисплеев также содержат десятичную точку, двоеточие или апостроф, обычно имеется восемь сегментов, семь для цифры и один для знаков препинания.На одном общем штыре должно быть не менее 9 штифтов. Однако, когда я подсчитал количество выводов на своем дисплее 5161BS, их было 10 – пять в нижнем ряду и пять в верхнем. Как оказалось, на этих дисплеях обычно четное количество контактов, а «лишние» контакты связаны вместе как часть «общего» набора.
Назначение выводов дисплеяНумерация выводов аналогична нумерации интегральных схем. Слева внизу первая булавка имеет номер 1, и нумерация продолжается последовательно против часовой стрелки, при этом булавка 5 находится внизу справа, булавка 6 – вверху справа и заканчивается булавкой 10 в верхнем левом углу.Многие одноразрядные 10-контактные дисплеи имеют общие контакты в центре каждого ряда. Давайте представим, что мы этого не знаем, и определим расположение контактов путем осмотра. Подготовьте тестовую схему в соответствии со следующей схемой:
Подготовка к карте 7-сегментный светодиодный дисплей
Начните с источника питания. Я предлагаю использовать от + 3,6 до +5 В постоянного тока и заземление от батарей или настольного источника питания. Подключите питание и землю к соответствующим рядам горизонтальных направляющих в верхней части макета.Подключите резистор от шины питания к неиспользуемой колонке макета. Неважно, в какую сторону ориентирован резистор. В этом примере я использую резистор 220 Ом, но все в диапазоне от 180 до 1000 Ом должно работать для сопоставления выводов дисплея. Мы ограничиваем ток через резистор, чтобы защитить светодиоды в сегментах от перегорания.
Расположите 7-сегментный дисплей так, чтобы верхний ряд контактов был отделен от нижних контактов центральным желобом, разделяющим макетную плату.Затем подключите перемычку резистора к контакту 1 дисплея. Наконец, прикоснитесь перемычкой от шины заземления к контакту 2 дисплея, как показано на схеме выше.
Что случилось? Наверное, ничего – и это нормально. Это может быть вызвано несколькими причинами:
- Каждый сегмент дисплея состоит как минимум из одного светоизлучающего диода или светодиода, который загорается только тогда, когда на анод подается положительное напряжение, и на катоде есть путь к заземлению. Если полярность вашего тестового соединения обратная, ничего не произойдет.
- Также вероятно, особенно в начале теста, что ваши перемычки не подключены к одному и тому же сегменту, в этом случае цепи нет и ничего не загорится.
- Обе перемычки могут быть на общих контактах. Помните, что нам нужно установить перемычку питания на анодной стороне сегмента и перемычку заземления на катоде, прежде чем этот сегмент загорится.
Если ни один из сегментов не загорелся с первой попытки, оставьте перемычку питания подключенной к выводу 1 дисплея и переместите перемычку заземления по очереди против часовой стрелки с контакта 3 на контакт 10, наблюдая за дисплеем.Если ни один из сегментов не горит, перезапустите тест, подключив перемычку заземления к контакту 1, а перемычку питания – к контакту 2.
Когда загорается первый отдельный сегмент, вы, скорее всего, обнаружили общий контакт. Обратите внимание на соотношение контактов по отношению к светящемуся сегменту и оставьте перемычку, которую вы перемещали, подключенной к этому общему контакту, и начните перемещать другую перемычку на пустые контакты против часовой стрелки от контакта 1 к контакту 10, сопоставляя контакты с сегментами, обозначенными буквами. От A до G и Dp.Как только сегменты начнут светиться, вы можете встретить еще один общий вывод, который не будет зажигать сегмент. Используйте следующую схему для сопоставления сегментов:
Сопоставьте номера контактов на дисплее с буквенными сегментами
Вот пример завершенных карт для семи сегментных светодиодных дисплеев с общим катодом и общим анодом:
Карта для моего дисплея 5161BS находится справа.
ConstructionЗавершив сопоставление, мы можем приступить к подключению дисплея. Дисплей 5161BS, с которым я работаю, относится к типу Common Anode, поэтому я поставил одну красную перемычку между контактом питания Arduino Uno + 5V и контактом 3 (VCC) дисплея.Нет необходимости также подключать вывод 8 VCC на дисплее к + 5В, поскольку контакты 3 и 8 связаны между собой внутри. Остальная схема подключения выглядит следующим образом:
Пример схемы подключения Arduino для 1-значного 7-сегментного светодиодного дисплея
По завершении подключение к этому руководству с использованием дисплея 5161BS должно выглядеть следующим образом:
Пример конфигурации для тестирования дисплея 5161BS
Кодирование эскиза Arduino IDEПрограмма разделена на несколько разделов:
- Глобальные объявления – значения констант и переменных, определенные здесь, доступны во всем эскизе.
- Настройка – Контакты ввода / вывода инициализируются, а затем каждый сегмент дисплея последовательно тестируется.
- Цикл – Этот раздел повторяется непрерывно, проверяя отображение с последовательностью буквенно-цифровых цифр, символов и знаков препинания.
- Функции, определяемые пользователем – Две функции, которые обновляют отображение и сопоставляют буквенно-цифровые символы с соответствующими сегментами.
В этом разделе делаются три типа объявлений:
- 8 контактов ввода-вывода Arduino последовательно связаны с восемью сегментами дисплея .Хотя эти назначения контактов можно изменить, логика программы зависит от номеров контактов, находящихся в непрерывном порядке, в данном случае контакты с 4 по 11.
- Объявление дисплея как общего анода или общего катода . Соответствующая строка для константы «common» должна быть без комментариев, а другая строка должна быть закомментирована или удалена. Это должно быть единственное необходимое изменение кода, если руководство завершено так, как написано. Эскиз уже настроен для отображения общего анода.
- Логическая переменная decPt, используемая для управления отображением десятичной точки, имеет значение «истина» .
Блок кода настройки выполняется один раз после глобальных объявлений и выполняет следующие действия:
- Восемь контактов ввода-вывода Arduino инициализируются для ВЫХОДА в последовательном порядке (с 4 по 11) внутри цикла for . Это причина того, что контакты должны быть в непрерывном порядке. Если необходимо выполнить другое назначение контактов, эту петлю необходимо изменить в соответствии с новым расположением.
- При инициализации каждого вывода ввода / вывода сегмент дисплея, который подключен к этому выводу ввода / вывода через резистор, загорается. Это приводит к тому, что все 8 сегментов загораются последовательно с паузой в 1/2 секунды между сегментами, пока не загорится весь дисплей.
Здесь выполняется основная работа над скетчем, и после ввода, после Setup , кодовый блок Loop повторяется бесконечно до тех пор, пока не будет отключено питание или необходимый компонент не будет удален или выйдет из строя.
В начале каждого цикла через кодовый блок Loop , переменная отображения глобальной десятичной точки, decPt , переворачивается, так что каждый раз, когда программа повторяет цикл, десятичная точка попеременно включается и выключается.
Остальная часть блока кода цикла – это еще один цикл for, который увеличивает локальную переменную i, от 0 до 15 и выполняет следующие действия:
- Вызывает пользовательскую функцию myfnNumToBits с текущим значением локальная целочисленная переменная i в качестве аргумента.Функция возвращает инициализированную байтом переменную, битов , которая состоит из 8-битного представления сегментов, необходимых для отображения буквенно-цифрового символа, связанного с текущим значением i .
- Проверяется значение глобальной переменной decPt , и если истинно , крайний правый бит (LSB) локальной переменной бит устанавливается в 1, что указывает на то, что десятичная точка должна быть отображается.
- Пользовательская функция myfnUpdateDisplay затем вызывается со значением локальной переменной, бит, в качестве аргумента.Когда дисплей обновляется, программа приостанавливается на 3/4 секунды перед продолжением.
myfnNumToBits
Эта функция использует таблицу поиска по битовой карте для извлечения комбинаций сегментов дисплея, которые определяют числа и некоторые буквы. Не каждая буква может быть представлена на 7-сегментном светодиодном дисплее, поэтому мы ограничим пример цифрами от 0 до 9 и буквами A, b, C, d, E и F, которые могут представлять шестнадцатеричные числа плюс сокращения для Цельсия и Температура по Фаренгейту.
Набор шестнадцатеричных символов
Это результирующая таблица поиска по растровому изображению:
Первый столбец дисплея предназначен для отображения символов. Следующие 8 столбцов помечены A-Dp и представляют отдельные сегменты. 1 и 0 в каждой строке указывают на сегменты, которые должны быть зажжены для отображения символа. 1 указывает, что сегмент должен гореть, а сегменты с 0 не горят. 1 и 0 для любой строки символов объединяются в растровое изображение, которое будет отправлено на дисплей.Последний столбец представляет собой десятичное (основание 10) значение битовой карты каждой строки. Обратите внимание, что столбец Dp всегда равен 0.
В функцию myfnNumToBits передается целое число в диапазоне от 0 до 15 при вызове из блока кода loop () . Любое другое значение будет рассматриваться как ошибка, и на дисплее отобразятся три горизонтальные полосы. Блок кода переключателя используется для присвоения правильной комбинации из 8 бит байту, который затем возвращается из функции.
myfnUpdateDisplay
Эта определяемая пользователем функция принимает однобайтовый аргумент, 8Bits , при вызове из кодового блока Loop и деконструирует его на отдельные битовые значения с помощью встроенной функции bitRead ( ) .Биты считываются, начиная с бита 7 (MSB) и заканчивая битом 0 (LSB), путем уменьшения локальной переменной thisBit .
После считывания бита значение глобальной переменной, общий , проверяется, и бит инвертируется для отображения общих анодов перед использованием для установки соответствующего вывода ввода-вывода в диапазоне segA (MSB) на segP (МЗБ). Когда все восемь сегментов обновлены, на дисплее должны отображаться соответствующие буквенно-цифровые символы и десятичная точка, если это необходимо.Затем управление программой возвращается блоку кода цикла.
СводкаЦель этого руководства – как можно яснее продемонстрировать, как работают семисегментные светодиодные дисплеи, предложить некоторые методы определения того, как определить свойства случайно выбранного дисплея и провести тестирование. Продемонстрированный пример подключения для простоты не будет хорошо масштабироваться для производственного приложения, так как он использует слишком много контактов ввода / вывода. Я предлагаю изучить использование регистров сдвига, что является предметом следующего руководства из этой серии, «7 сегментных светодиодных дисплеев 102 – Использование регистра сдвига ».
Lab 08: 7-сегментный дисплей с VHDL
Необходимое оборудование / детали
- Программное обеспечение Quartus II R Web Edition V9.1 SP2 от Altera Corporation
- USB-накопитель для хранения файлов
Цель
- Использование простых операторов присваивания VHDL для представления таблицы функций
- Введите выбранное назначение сигнала WHEN-ELSE, пункт
- Отображение шестнадцатеричных чисел (от 0 до F) на 7-сегментном светодиодном индикаторе платы DE-2
Обсуждение
Семисегментные светодиодные дисплеи часто используются в радиочасах, видеомагнитофонах, микроволновых печах, игрушках и многих других предметах домашнего обихода.В основном они используются для отображения десятичных чисел, но они также могут отображать несколько алфавитов и другие символы. Этот эксперимент описывает подключение семисегментного светодиодного дисплея к плате DE. Вы отобразите шестнадцатеричное значение от 0 (00h) до 15 (0Fh) на семисегментном светодиодном дисплее.
Семисегментный светодиодный дисплей представляет собой особую компоновку из 7 светодиодных элементов, образующих прямоугольную форму с использованием двух вертикальных сегментов на каждой стороне с одним горизонтальным сегментом вверху, в середине и внизу.Путем индивидуального включения или выключения сегментов могут отображаться числа от 0 до 9 и некоторые буквы. Семисегментные дисплеи иногда также имеют восьмой сегмент для отображения десятичной точки. Следовательно, для семисегментного дисплея потребуется семь выходных данных схематического дизайна для отображения числа и еще один выход, если также должна отображаться десятичная точка. (В этом эксперименте десятичная точка игнорируется.)
7 светодиодов внутри дисплея могут иметь конфигурацию с общим катодом или анодом.При использовании общего катодного дисплея катоды всех сегментных светодиодов связаны вместе, и эта общая точка должна быть заземлена. Затем включается требуемый сегмент светодиода, применяя логическую единицу к его аноду. В дисплеях с общим анодом все аноды связаны вместе, и общий анод подключен к источнику напряжения питания Vcc. Отдельные сегменты включаются путем подачи логического 0 на их катоды. Поскольку D2-2 имеет общий анод, состоящий из 7 сегментов, отображение числа требует включения и выключения соответствующих сегментных светодиодов. Например, для отображения числа 7 должны быть включены только сегменты a, b и c, что означает, что их логические уровни должны быть низкими.
Рисунок 8-1 7-сегментный светодиод
Давайте назначим значение шины, используя D3, D2, D1 и D0, чтобы представить каждую позицию бита в 4-битной шине, D [3… 0]. Также выходы будут представлены 7-битной шиной S [6..0], которой будут присвоены ‘g’, ‘f’, ‘e’, ’d’, ‘c’, ‘b’, и «а» для 7-сегментного, соответственно, как показано в Таблице 8-1.
Предполагая, что шины правильно определены в объявлении объекта, мы можем сказать, что шина S примет 7-битное значение, соответствующее значению шины D.
Таблица 8-1
Текстовое поле 8-1
Часть 1 Процедура
Создание нового проекта
- Откройте программное обеспечение Quartus II. Выберите File – New Project Wizard . Введите соответствующую букву диска для обозначенной области хранения на используемом компьютере, а затем рабочий каталог C : \ altera \ 91sp2 \ quartus \ kwon \ Lab 8 . Вам необходимо пройти шаги с 1 по 8 в Части 1 руководства Lab 7 .Не забудьте создать папку Lab8 в подпапке вашей фамилии. Присвойте имя проекта Lab 8_1 , назначьте Cyclone II для семейства устройств и выберите EP 2C35F672C6 чип в настройках семейства и устройства [страница из 3 5].
- Откройте новый файл VHDL Device Design ( File> New ), выделив VHDL File.Введите коды VHDL, показанные в текстовом поле 8-1.
- Сохраните файл VHDL как vhdl 8_1 .vhd как часть нашего проекта в вашей подпапке. Поставьте галочку в поле с надписью «Добавить файл в текущий проект» и нажмите «Сохранить».
- Выберите файл > Создать / обновить > Создать файлы символов для текущего файла , чтобы создать файл символов для введенного кода VHDL. Вскоре должно появиться окно с сообщением, что Create Symbol File был (или нет) успешно .Нажмите OK и закройте окно Отчет о компиляции.
- Откройте новый файл схемы ( Файл > Новый ), выделив блок-схему / схему F ile . И нажмите ОК . И постройте схему, показанную на рисунке 8-2, используя только что созданные символы. Каждый символ должен быть доступен в библиотеке проекта в диагональном поле «Символ».
Рисунок 8-2
- Перед компиляцией этого файла bdf нам нужно назвать этот файл bdf и сохранить его как часть нашего проекта в подпапке.Выберите File> Save As и введите File name как lab8_1 . Поместите галочку в поле с меткой Добавить файл в текущий проект и нажмите Сохранить .
- Скомпилируйте проект, выбрав Processing > Start Compilation , или нажмите Ctrl-L, или используйте кнопку Compilation на панели инструментов. Компиляция занимает несколько секунд. По завершении должно появиться сообщение «Полная компиляция прошла успешно».Нажмите OK . В случае неудачи исправьте все ошибки и попробуйте перекомпилировать.
- Так же, как вы выполнили шаги с 23 по 28 в Часть 1 Lab1, вам необходимо создать файл векторной формы волны ( vwf ) для моделирования файла проекта ( bdf ). Добавьте все входы и выходы, укажите время окончания 1 мкс и размер сетки 1 нс для отображения формы сигнала, а затем сохраните его как lab8_1.vwf.
- При создании шины D [3..0] введите D в качестве имени шины, выберите Шестнадцатеричный для Radix и введите 4 для ширины шины в окне свойств узла. При создании осциллограмма D появится со знаком плюс, что означает, что ее можно разгруппировать для отображения отдельных битов D [3], D [2], D [1] и D [0].
Рисунок 8-3
Выберите Processing – Start Simulation , или нажмите Ctrl-I, или используйте кнопку Simulation на панели инструментов.Через несколько секунд должно появиться сообщение «Моделирование выполнено успешно». Нажмите ОК .
- Формы сигналов моделирования отображаются в отчете моделирования. Возможно, вам придется увеличить размер сигналов моделирования в соответствии с вашими потребностями и выбрать «Просмотр »> «Подогнать в окно », чтобы увидеть весь сигнал.
Чтобы спроектировать и реализовать схемы на плате DE2, необходимо выполнить следующие шаги.
- Подключите прилагаемый блок питания 9 В постоянного тока к розетке переменного тока (100–240 В), а затем подключите этот блок питания к плате DE2. Убедитесь, что переключатель RUN / PROG находится в положении RUN.
Подключите плату DE2 к компьютеру с помощью прилагаемого USB-кабеля (порт для кабеля USB-бластера расположен справа рядом с кабелем питания на плате). И включите питание DE2, нажав красную кнопку питания на плате. Вы должны увидеть следующее:
- Синий индикатор POWER горит, синий индикатор GOOD (настроена Cyclone II FPGA) горит
- На 7-сегментных дисплеях отображается последовательность символов
- Мигают красный и зеленый светодиоды
- На ЖК-дисплее отображается Добро пожаловать в плату Altera DE2
Теперь мы назначим конкретные номера выводов и перекомпилируем файл lab8_1.bdf перед программированием Cyclone II FPGA. Выберите Assignment> Pin Planner и назначьте номера контактов для входов и выходов в столбце Location . Компилятор Quartus II мог свободно выбирать любые выводы на выбранной ПЛИС в качестве входов и выходов. Однако на плате DE2 есть проводные соединения между выводами FPGA и другими компонентами на плате.Мы будем использовать четыре тумблера с обозначениями от SW3 от до SW 0, чтобы обеспечить внешние входы, с D3 по D0. Мы подключим выход, 7-сегментный, помеченный HEX0 (см. Таблицу 8-2). При назначении номеров контактов можно ввести номер в поле и нажать Введите или дважды щелкните его и выберите номер контакта в столбце Расположение . Если вы хотите использовать другие переключатели и светодиоды, см. Руководство пользователя DE2 для других назначений контактов.
- Запрограммируйте свой схематический проект на плате DE-2, чтобы отображать значения от «0» до «9».
Таблица 8-2 Назначение контактов
Чтобы сохранить назначения контактов как часть проекта, выберите File> Save Project . Вы также можете просто закрыть окно Планировщика контактов. Если вы вернетесь к файлу lab8_1.bdf, на принципиальной схеме теперь будут указаны назначения контактов рядом с каждым входным и выходным контактом.
- Теперь необходимо перекомпилировать проект, чтобы синтезировать схему с указанными назначениями контактов. Выберите «Обработка »> «Начать компиляцию ».(Нажмите Да , если появится запрос Сохранить изменения в файле .) После успешной компиляции нажмите OK .
Выберите Tools> Programmer , чтобы открыть окно, показанное на Рисунке 8-4. Здесь необходимо указать оборудование для программирования и режим, который следует использовать. Если он еще не выбран по умолчанию, выберите JTAG в поле Mode. Кроме того, если USB-Blaster не выбран по умолчанию, нажмите кнопку «Настройка оборудования…» и выберите USB-Blaster в появившемся окне.
Рисунок 8-4
Обратите внимание, что файл конфигурации lab8_1.sof указан в окне на Рисунке 8-4. Если файла еще нет в списке, нажмите «Добавить файл» и выберите его. Это двоичный файл, созданный модулем ассемблера компилятора, который содержит данные, необходимые для настройки устройства FPGA. Расширение .sof означает объектный файл SRAM. Также обратите внимание, что выбрано устройство EP2C35F672, которое является устройством FPGA, используемым на плате DE2.Установите флажок Program / Configure, как показано на рисунке 8-4.
- Теперь нажмите Старт в окне, показанном на Рисунке 8-4. Светодиод на плате загорится, когда данные конфигурации будут успешно загружены. Если вы видите ошибку, сообщенную программным обеспечением Quartus II, указывающую на сбой программирования, убедитесь, что плата правильно включена.
- Загрузив данные конфигурации в устройство FPGA, вы можете протестировать реализованную схему.Вы можете отобразить число от «0» до «9» на 7-сегментном сегменте с помощью тумблеров от SW3 до SW0.
Часть 2 Практика
- Заполните таблицу 8-1 и отобразите значение от 0 до F на 7-сегменте платы DE-2.
- Создайте коды VHDL для значений от «A» до «F» (что означает добавление кодов VHDL для «A» – «F» в таблице 8-1.).
- Создайте файл блочного дизайна (файл bdf, ) для вывода, используя символ, созданный из файла vhdl .
- Создайте файл векторной формы волны ( vwf ) для вывода. Моделирование должно показать все возможные комбинации входов.
- Включите в лабораторный отчет копии кодов vhdl и bdf и vwf , а также свои назначения контактов.
Основы 7-сегментного дисплея | LEDnique
Рисунок 1. Стандартный 7-сегментный дисплей и идентификация сегментов. Десятичная точка, если она есть, требует наличия восьми светодиодов.7-сегментные (или «семисегментные») светодиодные дисплеи обычно используются для отображения цифровой информации. Каждый сегмент состоит из одного или нескольких светодиодов и может светиться независимо от всех остальных для формирования цифр от 0 до 9. Также может быть сформирован ограниченный диапазон буквенных символов, но они имеют смешанный регистр и могут быть трудночитаемыми.
Стандартная идентификация сегмента показана на рисунке 1, и сегменты обозначены от A до G, начиная с вершины и идя по часовой стрелке, при этом G является центральным сегментом.
Обычно дисплеи имеют общий вывод для всех светодиодных анодов или катодов. Для полноценного семисегментного дисплея достаточно восьми выводов, тогда как для одного с десятичной точкой требуется девять.
Рис. 2. Как и следовало ожидать, количество выводов в корпусе сокращается за счет использования общего вывода для одной стороны всех светодиодов. В этом случае используется общий анод. Рисунок 3. Дисплей с общим катодом. Их преимущество состоит в том, что для мультиплексированных дисплеев цифра может быть стробирована с использованием транзистора NPN в катодном соединении с землей.Мультиплексный 7-сегментный дисплей
Рисунок 4. 4-значный мультиплексированный дисплей с общим катодом.Путем мультиплексирования семисегментных дисплеев можно уменьшить количество выводов, необходимых для управления дисплеями. В схеме, показанной на рисунке 4, микроконтроллер управляет сегментами на высоком уровне. Необходимые сегменты для цифры 1 устанавливаются на линиях от A до G и Q1 стробируются (включаются на короткое время). Затем включаются требуемые сегменты для цифры 2 и стробируется Q2 и т. Д. Последовательность выполняется достаточно быстро, чтобы все цифры казались постоянно горящими из-за постоянного зрения.
Когда мультиплексирование отображается таким образом, нормально работать при токе выше номинального. Это приемлемо, потому что на сегменты будет подаваться питание не более 25% времени – 25% рабочего цикла.
Обратите внимание, что 32 сегментами можно управлять, используя только 12 выходов контроллера. Эта эффективность аппаратного обеспечения и компоновки печатных плат – вот что делает мультиплексирование таким популярным.
Выводы регулятора редуктора
Рис. 5. 7-сегментный защелка / декодер / драйвер 4511 BCD.Используя защелку / декодер / драйвер, такой как декодер 4511 (таблица данных), разработчик имеет гораздо больше возможностей для отображения. При использовании декодера BCD для управления семью сегментами требуется всего четыре линии.
Рисунок 6. Функциональная схема 4511.- BL: гашение. Потяните вниз, чтобы выключить все сегменты. Дисплей: пустой.
- LT: лампа-тест. Потяните вниз, чтобы включить все сегменты. Дисплей: «8».
- LE: разблокировка защелки. Потяните низкий уровень, чтобы прочитать входные данные и перейти к семи выходным сегментам.Потяните вверх, чтобы зафиксировать выходы.
Обратите внимание, что значения BCD выше «9» считаются недействительными, и дисплей будет пустым. Это делает 4511 непригодным для шестнадцатеричного отображения.
Модель 4511 может быть источником или потребителем тока для дисплеев. Оценки см. В таблице данных.
7-сегментный дисплей без мерцания
Рис. 6. Использование защелки 4511 на каждый дисплей позволяет отображать без мерцания.На рисунке 5 показано, как использовать защелку 4511 на цифру. В этом случае данные для каждой цифры устанавливаются по очереди с D0 по D3, а вывод цифры / LE (разблокировка защелки) переводится в низкий уровень.Семисегментный дисплей немедленно обновится и будет зафиксирован, когда вывод / LE снова будет поднят на высокий уровень. Это, например, позволило бы микроконтроллеру обрабатывать другие задачи без необходимости обновлять дисплей до тех пор, пока не потребуется. Контакты ввода-вывода от D0 до D3 могут даже использоваться в качестве входов с подходящими входными резисторами, в то время как обновление дисплея не требуется.
Обратите внимание, что десятичные точки дисплея не контролируются 4511. Это оставляет конструктору несколько вариантов:
- Без десятичной точки.
- Фиксированная десятичная точка путем подключения одного из выводов DP к Vss.
- Десятичная точка, управляемая программой. Для этого потребуется один дополнительный выходной контакт контроллера на каждую десятичную точку.
Управление 7-сегментным дисплеем с помощью Arduino и 74HC595
Эй, как дела, ребята! Акарш здесь от CETech.
Семисегментные дисплеи хороши на вид и всегда являются удобным инструментом для отображения данных в виде цифр, но у них есть недостаток, заключающийся в том, что когда мы управляем семисегментным дисплеем, на самом деле мы управляем 8 различными светодиодами и для управления каждым из них нам требуются разные выходы, но если мы используем отдельный вывод GPIO для каждого из светодиодов на семисегментном дисплее, мы можем столкнуться с нехваткой выводов на нашем микроконтроллере, и в конечном итоге нам не останется места для других важных подключений .Это может показаться вам большой проблемой, но решение этой проблемы очень простое. Нам просто нужно использовать регистр сдвига 74HC595 IC. Одна микросхема 74HC595 может использоваться для обеспечения выходов на 8 различных точек, кроме того, мы также можем подключить несколько этих микросхем и использовать их для управления большим количеством устройств, которые тоже потребляют всего 3 контакта GPIO вашего микроконтроллера.
Итак, в этом проекте мы будем использовать ИС сдвигового регистра 74HC595 с Arduino для управления семисегментным дисплеем, просто используя 3 контакта GPIO Arduino, и поймем, как эта ИС может оказаться отличным инструментом.
Получите печатные платы для ваших проектов ИзготовленоВы должны проверить PCBWAY, чтобы заказать печатные платы онлайн по дешевке!
Вы получаете 10 печатных плат хорошего качества, изготовленных и доставленных к вашему порогу по дешевке. Вы также получите скидку на доставку первого заказа. Загрузите свои файлы Gerber на PCBWAY, чтобы они были изготовлены с хорошим качеством и в короткие сроки. Ознакомьтесь с их функцией онлайн-просмотра Gerber. С помощью бонусных баллов вы можете получить бесплатные вещи в их сувенирном магазине.
О регистре сдвига 74HC595Регистр сдвига 74HC595 представляет собой 16-контактную микросхему SIPO.SIPO расшифровывается как Serial In и Parallel Out, что означает, что он принимает ввод последовательно по одному биту за раз и обеспечивает вывод параллельно или одновременно на всех выходных контактах. Мы знаем, что регистры сдвига обычно используются для целей хранения, и здесь используется это свойство регистров. Данные проходят через последовательный входной контакт и переходят к первому выходному контакту и остаются там до тех пор, пока другой вход не войдет в ИС, как только будет получен другой вход, ранее сохраненный вход перейдет к следующему выходу и появятся вновь введенные данные. на первый штифт.
Этот процесс продолжается до тех пор, пока память ИС не будет заполнена, то есть до получения 8 входов. Но когда хранилище IC заполняется, как только он получает 9-й вход, первый вход выходит через вывод QH ‘, если есть еще один сдвиговый регистр, последовательно подключенный к текущему регистру через вывод QH’, тогда данные переходят на этот register, иначе он теряется, и входящие данные продолжают поступать, перемещая ранее сохраненные данные. Этот процесс известен как переполнение. Эта ИС использует только 3 контакта GPIO для подключения к микроконтроллеру, и, следовательно, потребляя только 3 контакта GPIO микроконтроллера, мы можем управлять бесконечным количеством устройств, последовательно соединяя несколько этих ИС друг с другом.
Реальным примером использования регистра сдвига является «Оригинальный контроллер Nintendo». Главный контроллер Nintendo Entertainment System должен был последовательно нажимать все кнопки, и для выполнения этой задачи он использовал регистр сдвига.
Схема выводов 74HC595Хотя эта микросхема доступна в нескольких вариантах и моделях, мы будем обсуждать здесь распиновку микросхемы Texas Instruments SN74HC595N. Для получения более подробной информации об этой микросхеме вы можете обратиться к ее техническому описанию здесь.
ИС сдвигового регистра имеет следующие выводы: –
1) GND – Этот вывод подключен к выводу заземления микроконтроллера или источника питания.
2) Vcc – Этот вывод подключен к Vcc микроконтроллера или источника питания, поскольку это ИС логического уровня 5 В. Для него предпочтительнее питание 5В.
3) SER – Данные последовательного ввода вводятся последовательно через этот вывод, т.е. вводится по одному биту за раз.
4) SRCLK – Это тактовый вывод регистра сдвига.Этот вывод действует как часы для регистра сдвига, поскольку через этот вывод подается тактовый сигнал. Поскольку IC запускается по положительному фронту, поэтому для сдвига битов в регистр сдвига этот тактовый сигнал должен быть ВЫСОКИМ.
5) RCLK – это вывод синхронизации регистра. Это очень важный вывод, потому что для наблюдения за выходами на устройствах, подключенных к этим микросхемам, нам необходимо сохранить входы в защелке, и для этой цели контакт RCLK должен быть ВЫСОКИМ.
6) SRCLR – Это вывод очистки регистра сдвига.Он используется всякий раз, когда нам нужно очистить память сдвигового регистра. Он сразу устанавливает для элементов, хранящихся в регистре, значение 0. Это вывод с отрицательной логикой, поэтому всякий раз, когда нам нужно очистить регистр, нам нужно подать сигнал LOW на этот вывод, в противном случае он должен оставаться на HIGH.
7) OE – это вывод разрешения выхода. Это вывод с отрицательной логикой, и всякий раз, когда этот вывод установлен на ВЫСОКИЙ, регистр устанавливается в состояние высокого импеданса, и выходы не передаются. Чтобы получить выходы, нам нужно установить этот вывод на низкий уровень.
8) Q1-Q7 – Это выходные контакты, которые необходимо подключить к какому-либо выходу, например, к светодиодам, семисегментному дисплею и т. Д.
9) QH ‘ – Этот контакт есть, чтобы мы могли Если мы подключим этот QH ‘к выводу SER другой ИС и дадим обеим ИС один и тот же тактовый сигнал, они будут вести себя как одна ИС с 16 выходами. Конечно, этот метод не ограничивается двумя микросхемами – вы можете последовательно подключить столько, сколько захотите, если у вас достаточно энергии для всех из них.
Подключение дисплея к Arduino через 74HC595Итак, теперь у нас есть достаточные знания об ИС регистра сдвига, поэтому мы перейдем к части реализации. На этом этапе мы выполним подключения для управления SSD с помощью Arduino через 74HC595 IC.
Необходимые материалы: Arduino UNO, семисегментный дисплей, микросхема регистра сдвига 74HC595, соединительные кабели.
1) Подключите IC к SSD следующим образом: –
- Вывод IC № 1 (Q1) для отображения вывода для сегмента B через резистор.
- Вывод IC № 2 (Q2) для отображения вывода сегмента C через резистор.
- Вывод IC № 3 (Q3) для отображения вывода сегмента D через резистор.
- Вывод IC № 4 (Q4) для отображения вывода сегмента E через резистор.
- Вывод IC № 5 (Q5) для отображения вывода сегмента F через резистор.
- Вывод IC № 6 (Q6) для отображения вывода сегмента G через резистор.
- Вывод IC № 7 (Q7) для отображения вывода для сегмента Dp через резистор.
- Общий вывод на дисплее либо на шину питания, либо на шину заземления.Если у вас дисплей с общим анодом, подключите общий дисплей к шине питания, в противном случае для дисплея с общим катодом подключите к шине заземления
2) Подключите контакт № 10 (контакт сброса регистра) ИС к шине питания. Это предотвратит очистку регистра, так как это активный нижний вывод.
3) Подключите контакт № 13 (вывод разрешения выхода) ИС к шине заземления. Это вывод с активным высоким уровнем, поэтому, когда он удерживается на низком уровне, он позволяет ИС выдавать выходные сигналы.
4) Подключите вывод 2 Arduino к выводу 12 (фиксатор) ИС.
5) Подключите вывод 3 Arduino к выводу 14 (вывод данных) ИС.
6) Подключите вывод 4 Arduino к выводу 11 (тактовый вывод) ИС.
7) Подключите Vcc и GND IC к Vcc и GND на Arduino.
После выполнения всех этих подключений вы получите схему, аналогичную изображенной на изображении выше, и после всех этих шагов вам нужно перейти к части «Кодирование».
Кодирование Arduino для управления семисегментным дисплеемНа этом этапе мы закодируем Arduino UNO для отображения различных цифр на семисегментном дисплее.Для этого выполните следующие действия: –
1) Подключите Arduino Uno к вашему ПК.
2) Перейдите отсюда в репозиторий Github этого проекта.
3) В репозитории откройте файл «7segment_arduino.ino», это откроет код этого проекта.
4) Скопируйте этот код, вставьте его в свою Arduino IDE и загрузите на плату.
По мере загрузки кода вы сможете увидеть, как числа от 0 до 9 появляются на дисплее с задержкой в 1 секунду.
Вы можете сделать свой собственный таким жеИтак, выполнив все эти шаги, вы можете создать этот проект самостоятельно, который будет выглядеть так, как показано на изображении выше.Вы также можете попробовать тот же проект без ИС сдвигового регистра, и вы узнаете, как эта ИС полезна для предоставления выходов сразу нескольким объектам, также используя меньшее количество контактов GPIO. Вы также можете попробовать подключить несколько таких микросхем в цепочку и управлять большим количеством датчиков или устройств и т. Д.
Надеюсь, вам понравился этот учебник.
7-сегментный дисплей – краткое введение
Что такое семисегментный дисплей (SSD)?
- Это электронный дисплей для отображения десятичных чисел.
- Широко используется в цифровых часах, электронных счетчиках, основных калькуляторах и т. Д.
- Он также известен как « семисегментный индикатор »
Из чего он состоит?
- Он состоит из 8 светодиодов, соединенных параллельно, которые могут светиться в различных комбинациях для отображения чисел (0, 1, 2, 3, 4, 5, 7, 8, 9, A, b, C, d, E, F и др.).
- Каждый сегмент (светодиод) обозначен буквами от A до G.
- Восьмой сегмент под названием « Десятичная точка » обозначается DP и используется для отображения нецелых чисел.
Типы семисегментного дисплея и его внутренние соединения:
В зависимости от того, как подключены терминалы, твердотельные накопители можно классифицировать как:
- Общий анод Тип
- Общий катод Тип
- Если аноды всех 8 светодиодов соединены вместе, а все катоды оставлены в покое, то мы назовем SSD как « Common Anode Type ».
- Если катоды всех 8 светодиодов соединены вместе, а все аноды оставлены в покое, мы будем называть SSD как « Common Cathode Type ».
Выходные контакты
- Он состоит из 10 контактов, 8 из которых подключены к светодиодам (A, B, C, D, E, F, G и DP).
- В зависимости от типа SSD два средних контакта, обозначенные COM, являются либо общими анодами, либо общими катодами всех светодиодов.
Выход Справочная таблица дисплея
Цифра | А | Б | К | Д | E | Факс | г |
0 | ПО | ПО | ПО | ПО | ПО | ПО | ВЫКЛ. |
1 | ВЫКЛ. | ПО | ПО | ВЫКЛ | ВЫКЛ | ВЫКЛ. | ВЫКЛ. |
2 | ПО | ПО | ВЫКЛ. | ПО | ПО | ВЫКЛ. | ПО |
3 | ПО | ПО | ПО | ПО | ВЫКЛ | ВЫКЛ. | ПО |
4 | ВЫКЛ | ПО | ПО | ВЫКЛ. | ВЫКЛ. | ПО | ПО |
5 | ПО | ВЫКЛ | ПО | ПО | ВЫКЛ | ПО | ПО |
6 | ПО | ВЫКЛ. | ПО | ПО | ПО | ПО | ПО |
7 | ПО | ПО | ПО | ВЫКЛ | ВЫКЛ. | ВЫКЛ. | ВЫКЛ. |
8 | ПО | ПО | ПО | ПО | ПО | ПО | ПО |
9 | ПО | ПО | ПО | ПО | ВЫКЛ. | ПО | ПО |
А | ПО | ПО | ПО | ВЫКЛ. | ПО | ПО | ПО |
б | ВЫКЛ. | ВЫКЛ. | ПО | ПО | ПО | ПО | ПО |
К | ПО | ВЫКЛ. | ВЫКЛ | ПО | ПО | ПО | ВЫКЛ. |
д | ВЫКЛ. | ПО | ПО | ПО | ПО | ВЫКЛ | ПО |
E | ПО | ВЫКЛ | ВЫКЛ. | ПО | ПО | ПО | ПО |
Факс | ПО | ВЫКЛ | ВЫКЛ | ВЫКЛ | ПО | ПО | ПО |
7-сегментный дисплей с MobiFlight, Arduino и FSUIPC Offset
Поехали
В этом руководстве вы подключите 7-сегментный дисплейный модуль к плате Arduino Mega.
Модуль дисплея должен быть основан на микросхеме Max7219 – только им можно управлять с помощью программного обеспечения MobiFlight Connector.
7-сегментные дисплеи сконфигурированы таким образом, чтобы отображать текущую установленную частоту COM1 вашего имитатора полета. Поэтому вы используете соответствующее смещение FSUIPC. Значения необходимо немного преобразовать, но вы увидите это позже в руководстве.
Сначала объясняется электронное соединение модуля 7-сегментного дисплея.Затем шаг за шагом показана конфигурация программного обеспечения коннектора MobiFlight.
Это то, что вам нужно для урока
Для прохождения этого руководства необходимы следующие вещи:
Die folgende Dinge benötigst Du für dieses Учебник:
- Самая последняя версия MobiFlight Connector
- Arduino Mega 2560 с последней версией прошивки MobiFlight
- Модуль дисплея с микросхемой MAX7219, например Посмотрите на eBay “модуль трубки max7219” – вы найдете модули по очень низкой цене.
Мой модуль выглядит так:
Подключение модуля к контактам вашей платы Arduino Mega может быть следующим:
На картинке видно, что для модуля требуется:
- Источник питания через вывод 5 В на вашем Arduino (например, поверх вывода 22)
- Подключение к GND
- Три линии управления
- DATA IN (DIN) – оранжевый, произвольный цифровой контакт на вашем Arduino
- CHIP SELECT (CS) – зеленый, произвольный цифровой вывод на Arduino .
- ЧАСЫ (CLK) – серый, произвольный цифровой контакт на вашем Arduino
Метки DIN , CS и CLK появятся позже в диалоговом окне конфигурации MobiFlight Connector.Правильное назначение каждого из них имеет основополагающее значение для того, чтобы все работало должным образом.
Когда вы откроете MobiFlight Connector, вы увидите обзор вашей текущей конфигурации. В этом примере мы предполагаем, что он пуст, потому что еще ничего не настроено.
Сначала вы должны открыть диалог настроек, потому что мы хотим настроить доску MobiFlight. Он должен знать, что к некоторым из его контактов подключен дисплейный модуль.
Пойдем туда Extras> Einstellungen> MobiFlight Modules-Tab.
Вы выбираете свой модуль из дерева в левой части вкладки.
На панели инструментов под древовидной структурой доступны различные действия. Чтобы добавить 7-сегментный дисплейный модуль, щелкните «Новое устройство»> «7-сегментный светодиодный индикатор».
В конфигурацию модуля Arduino был добавлен 7-сегментный дисплейный модуль.
Справа вы определяете дополнительные настройки в зависимости от типа добавляемого устройства.
Для 7-сегментного дисплейного модуля их довольно много:
- DIN – Вывод линии управления DATA IN – в учебнике мы используем вывод 22
- CS – Контакт для линии управления CHIP SELECT – в учебнике мы используем контакт 24
- CLK – Пин для линии управления ЧАСЫ – в учебнике мы используем пин 26
- Num – количество модулей, подключенных гирляндой (возможно до 8 модулей)
- Globale Brightness – вы можете установить интенсивность яркости вашего светодиодного модуля от низкой до высокой
- Имя – здесь вы можете установить имя, которое позже будет использоваться в диалогах конфигурации.Используйте здесь осмысленное имя, и вам будет легче позже (см. Далее в этом руководстве). В руководстве мы используем “COM1Display”
Остался один шаг – нам нужно загрузить новую конфигурацию на вашу плату. Поэтому нажмите кнопку загрузки в самом левом углу панели инструментов.
Появится сообщение, указывающее, была ли загрузка успешной. В положительном случае ваш MobiFlight запомнит, что у нас подключен 7-сегментный дисплейный модуль, даже если вы перезапустите его или выключите.
Закройте диалоговое окно «Настройки», нажав кнопку «ОК». Вы вернетесь к обзору конфигурации, который все еще пуст.
Теперь вы создаете новую конфигурацию для отображения активной частоты COM1 вашего радиостека.
Сначала вы назначаете имя новой записи конфигурации, дважды щелкнув пустую строку и набрав ее имя с клавиатуры. В учебном курсе вы назначаете «COM1 Active».
Часы на …- Кнопка в конце ряда.
Появится диалоговое окно мастера настройки.
Из списка доступных предустановок выберите соответствующий “Radio – COM1 Active Freq”
Нажмите кнопку «использовать» рядом с полем DropDown.
«Автоматически» все настройки, касающиеся смещения FSUIPC, заполняются правильно. В качестве альтернативы вы можете посмотреть настройки в документации FSUIPC Offset
.Перейдите на вкладку «Отображение», щелкнув по ней.
Выберите свой модуль из списка в разделе «Тип отображения»
Выберите тип “Display Module”.
Конкретные настройки дисплея автоматически отображаются ниже.
Выберите правильный «COM1Display» из списка. Все остальные настройки были предварительно заполнены предустановкой. Здесь ничего менять не нужно.
Проверим, все ли пока работает – нажимаем кнопку “тест”.
Ваш 7-сегментный дисплейный модуль должен отображать числа «123,45»
Если ни один из ваших сегментов не включается, возможно, вы перепутали проводку. Еще раз проверьте каждую линию управления и убедитесь, что она подключена к правильным контактам.Поверьте, перепутать заказ или пин-код легко!
Если ваши дисплеи работают правильно, нажмите кнопку «Стоп».
Закройте диалоговое окно ConfigWizard, нажав кнопку OK.
Запустите предпочитаемый имитатор полета, например FSX или x-plane.
Загрузите и начните предпочитаемый рейс.
Подождите, пока не установится соединение между MobiFlight Connector и FSUIPC. На это указывает зеленый символ в строке состояния MobiFlight Connector.
Теперь запустите MobiFlight Connector, нажав кнопку запуска на верхней панели инструментов.
Теперь ваш 7-сегментный дисплейный модуль должен отображать текущее установленное значение COM1.
Измените значение с помощью симулятора. Смотрите на дисплеи – ВАУ! невероятно быстро, как значения остаются синхронизированными, не так ли?
Поздравляем!
Сделав несколько шагов и за пару минут, вы создадите собственный радиочастотный дисплей для вашего авиасимулятора. Это было действительно просто! Попробуйте сделать то же самое для частоты в режиме ожидания и настройте переключатель для переключения между активным и резервным режимами.
Расскажите нам на форуме о своем прогрессе в проекте и просмотрите другие руководства из раздела руководств.
Как использовать семисегментный дисплей »PIJA Education
Преимущество 7-сегментного дисплея в том, что он может легко работать / взаимодействовать без микроконтроллера или микропроцессора, в то время как другим модулям дисплея для работы требуется микроконтроллер или микропроцессор. Теперь давайте посмотрим, как использовать семисегментный дисплей.
Обычно семисегментный дисплей используется вместе с микропроцессором / микроконтроллером, в этом случае восемь сегментных выводов будут подключены к выводам ввода / вывода микроконтроллера, а вывод com будет подключен к земле или Vcc в зависимости от его типа. CC / CA.
Затем эти контакты ввода-вывода можно запитать в определенной последовательности для отображения нужного символа или цифр. Это конкретное расположение поясняется в таблице ниже. Соответствующая последовательность отображения каждого числа на семисегментном дисплее приведена в таблице, приведенной ниже.
КАК ИСПОЛЬЗОВАТЬ СЕМЬ СЕГМЕНТНЫЙ ДИСПЛЕЙ ДЛЯ CC И CA
1) ДЛЯ ТИПА ОБЩЕГО КАТОДАЕсли мы хотим отобразить число «9», нам нужно зажечь все светодиоды, кроме светодиода, который принадлежит линии «e» (см. Схему выводов из 7 сегментов выше), поэтому нам нужен битовый шаблон 01101111 для отображения CC.
Аналогично отображению «1» нам нужно зажечь светодиоды, связанные с b и c, поэтому битовая комбинация для этого будет 00000110 для отображения CC. Если вы хотите, чтобы загорелся светодиодный индикатор десятичной точки, присвойте ему логическую «1», а если нет, то «0».
ЦИФРА ДЛЯ ОТОБРАЖЕНИЯ | DP | г | f | e | д | с | б | |
0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
2 | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
3 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 |
4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
5 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
7 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
8 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
9 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
Если мы хотим отобразить цифру «7», то нам нужно зажечь три светодиода в сегменте c, b, a (см. Схему выводов на 7 сегментов выше), поэтому нам нужен битовый шаблон 11111000 для отображения CA.Аналогично отображению «1» нам нужно зажечь светодиоды, связанные с b и c, поэтому битовая комбинация для этого будет 11111001 для отображения CA.
ЦИФРА ДЛЯ ОТОБРАЖЕНИЯ | DP | г | f | e | д | с | б | A |
0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
2 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
4 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
5 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
6 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
7 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Прежде чем мы начнем, давайте обсудим функцию.Так же, как мы используем функцию в языке программирования C, мы можем использовать функцию в программировании Arduino. Функции – очень полезный инструмент в программировании, потому что они позволяют нам писать код один раз и использовать его снова и снова вместо того, чтобы писать снова и снова.
Функции бывают двух типов: встроенные / предопределенные и определяемые пользователем. Мы уже использовали встроенные функции, например pinMode (), digitalWrite () и т. Д. Теперь мы собираемся использовать пользовательскую функцию. Каждая функция имеет тип возврата .Если функция не возвращает какое-либо значение , тогда void используется как тип возврата .
Теперь, как использовать функцию, определите функцию вне тела void setup () и void loop () с ее типом возврата, именем функции и параметром, который должен быть передан во время вызова функции. См. Ниже
Тип функции – void, int и многие другие, type означает, что функция будет возвращать во время вызова, если это тип void, тогда он ничего не вернет, но если это int, это означает, что функция вернет целочисленное значение.