Компютри Windows интернет

Двуцветен седемсегментен индикатор. Седемсегментно управление на индикатора. Статично LED управление

Със сигурност вече сте виждали индикаторите - "осмици". Това е седемсегментният LED индикатор, който служи за показване на числата от 0 до 9, както и десетичната запетая ( DP- десетична запетая) или запетая.

Конструктивно такъв продукт е сбор от светодиоди. Всеки монтажен светодиод осветява собствен сегмент.

В зависимост от модела, монтажът може да се състои от 1 - 4 седемсегментни групи. Например индикаторът ALS333B1 се състои от една група от седем сегмента, която може да показва само една цифра от 0 до 9.

Но LED индикаторът KEM-5162AS вече има две групи от седем сегмента. То е двуцифрено. Снимката по-долу показва различни 7-сегментни LED индикатори.

Има и индикатори с 4 седемсегментни групи - четирицифрени (на снимката - FYQ-5641BSR-11). Могат да се използват в домашни електронни часовници.

Как са обозначени седемсегментните индикатори на диаграмите?

Тъй като седемсегментният индикатор е комбинирано електронно устройство, неговото изображение на диаграмите не се различава много от външния му вид.

Трябва само да се обърне внимание на факта, че всеки щифт съответства на определен сегмент от символ, към който е свързан. Има и един или повече общи катодни или анодни проводници - в зависимост от модела на устройството.

Характеристики на седемсегментни индикатори.

Въпреки привидната простота на този детайл, той има и някои особености.

Първо, има седемсегментни LED индикатори с общ анод и общ катод. Тази функция трябва да се има предвид при закупуването му за домашен дизайн или устройство.

Ето, например, изводът на вече познатия 4-цифрен индикатор FYQ-5641BSR-11.

Както можете да видите, анодите на светодиодите на всяка цифра се комбинират и се довеждат до отделен изход. Катодите на светодиодите, които принадлежат към сегмента на знака (напр. Г) са свързани заедно. Много зависи от това каква схема на свързване има индикаторът (с общ анод или катод). Ако погледнете схематичните диаграми на устройства, използващи седемсегментни индикатори, става ясно защо това е толкова важно.

В допълнение към малките индикатори има големи и дори много големи. Те могат да се видят на обществени места, обикновено под формата на стенни часовници, термометри, информатори.

За да се увеличи размерът на числата на дисплея и в същото време да се поддържа достатъчна яркост за всеки сегмент, се използват няколко светодиода, свързани последователно. Ето пример за такъв индикатор - той се побира в дланта на ръката ви. то FYS-23011-BUB-21.

Един сегмент се състои от 4 светодиода, свързани последователно.

За да осветите един от сегментите (A, B, C, D, E, F или G), трябва да приложите напрежение от 11,2 волта към него (2,8V на светодиод). Възможно е и по-малко, например 10V, но яркостта също ще намалее. Изключение е десетичната запетая (DP), сегментът му се състои от два светодиода. Има нужда само от 5 - 5,6 волта.

В природата има и двуцветни индикатори. Те включват например червени и зелени светодиоди. Оказва се, че в корпуса са вградени два индикатора, но със светодиоди с различни цветове на светене. Ако приложите напрежение към двете LED вериги, можете да получите жълтия цвят на сегментите да светят. Ето схемата за свързване на един от тези двуцветни светодиоди (SBA-15-11EGWA).

Ако превключите щифтове 1 ( ЧЕРВЕН) и 5 ​​( ЗЕЛЕН) към "+" захранване чрез ключови транзистори, след което можете да промените цвета на светенето на показаните числа от червено на зелено. И ако свържете щифтове 1 и 5 едновременно, тогава цветът на сиянието ще бъде оранжев. Ето как можете да си играете с индикатори.

Управление на седем сегмента на дисплея.

За управление на седемсегментни индикатори в цифровите устройства се използват регистри за смяна и декодери. Например, широко разпространен декодер за управление на индикатори от серията ALS333 и ALS324 е микросхема K514ID2или K176ID2... Ето един пример.

А за контрол на съвременните индикатори за внос обикновено се използват регистри за смяна. 74HC595... На теория е възможно да се управляват сегментите на дисплея директно от изходите на микроконтролера. Но такава схема се използва рядко, тъй като това изисква използването на доста щифтове на самия микроконтролер. Следователно за тази цел се използват регистри за смяна. В допълнение, токът, консумиран от светодиодите на сегмента със знак, може да бъде по-голям от тока, който обикновеният изход на микроконтролера може да осигури.

За управление на големи седемсегментни индикатори, като FYS-23011-BUB-21, се използват специализирани драйвери, например микросхема MBI5026.

Какво има вътре в седемсегментен индикатор?

Е, малко вкусно. Всеки електронен инженер не би бил такъв, ако не се интересуваше от "вътрешностите" на радиокомпонентите. Това е вътре в индикатора ALS324B1.

Черните квадратчета на основата са LED кристали. Можете също да видите златните джъмпери, които свързват кристала с един от проводниците. За съжаление този индикатор вече няма да работи, тъй като тези джъмпери бяха отрязани. Но тогава можем да видим какво се крие зад декоративния панел на таблото.

Светодиодът (или диодът, излъчващ светлина) е оптичен диод, който излъчва светлинна енергия под формата на "фотони", когато е насочен напред. В електрониката този процес наричаме електролуминесценция. Цветът на видимата светлина, излъчвана от светодиодите, варира от синьо до червено и се определя от излъчваната спектрална светлина, която от своя страна зависи от различни примеси, които се добавят към полупроводниковите материали по време на тяхното производство.

Светодиодите имат много предимства пред традиционните лампи и осветителни тела и може би най-важните от тях са техният малък размер, издръжливост, различни цветове, ниска цена и лесна наличност, както и възможността за лесно взаимодействие с различни други електронни компоненти в цифровите схеми.

Но основното предимство на светодиодите е, че поради малкия им размер някои от тях могат да бъдат концентрирани в един компактен пакет, образувайки така наречения седемсегментен индикатор.

Седемсегментният индикатор се състои от седем светодиода (оттук и името му), подредени в правоъгълник, както е показано на фигурата. Всеки от седемте светодиода се нарича сегмент, тъй като когато е осветен, сегментът е част от цифра (десетична или 12-цифрена) Понякога в един пакет се използва 8-ми допълнителен светодиод. Той служи за показване на десетичната запетая (DP), по този начин позволява да се покаже дали два или повече от 7-сегментни дисплея са свързани заедно, за да представят числа, по-големи от десет.

Всеки от седемте LED сегмента на дисплея е свързан към съответната подложка на контактния ред, разположен директно върху правоъгълния пластмасова кутияиндикатор. LED щифтовете са етикетирани с етикети от a до g, представляващи всеки отделен сегмент. Другите щифтове на LED сегментите са свързани заедно и образуват общ терминал.

Така че отклонението напред, приложено към съответните щифтове на LED сегментите в определен ред, ще накара някои сегменти да светнат, докато останалите ще останат потъмнени, което позволява на дисплея да се изведе желания символ от номера на шаблона, за да бъде подчертан . Това ни позволява да представим всяка от десетте десетични цифри от 0 до 9 на 7-сегментен дисплей.

Общият щифт обикновено се използва за определяне на типа на 7-сегментния дисплей. Всеки LED дисплей има два свързващи проводника, единият от които се нарича "анод", а другият, съответно, се нарича "катод". Следователно седемсегментният светодиоден индикатор може да има два вида дизайн на веригата - с общ катод (OK) и с общ анод (OA).

Разликата между тези два вида дисплеи е, че при проектирането с ОК катодите на всичките 7 сегмента са директно свързани помежду си, а във веригата с общ (OA) анод анодите на всичките 7 сегмента са свързани към взаимно. И двете схеми работят по следния начин.

  • Общ катод (OK) - свързаните катоди на всички LED сегменти имат логическо ниво "0" или са свързани към общ проводник. Отделните сегменти се подчертават чрез прилагане на "високо" логическо ниво или логически "1" сигнал към техния аноден изход чрез ограничаващ резистор, за да се създаде отклонение напред на отделни светодиоди.
  • Общ анод (OA) - анодите на всички LED сегменти са комбинирани и имат логическо ниво "1". Отделни сегменти на индикатора светват, когато всеки конкретен катод е свързан към земята, логическа "0" или сигнал с нисък потенциал през съответния ограничаващ резистор.

Като цяло 7-сегментните измервателни уреди с общ анод са по-популярни, тъй като много логически схеми могат да изтеглят повече ток, отколкото захранването може да осигури. Също така имайте предвид, че дисплеят с общ катод не е директна подмяна на дисплея с общ катод. Обратно, това е равносилно на включване на светодиодите в обратна посока и следователно няма да има излъчване на светлина.

Въпреки че 7-сегментният индикатор може да се разглежда като един дисплей, той все още се състои от седем отделни светодиода в един пакет и като такива тези светодиоди се нуждаят от защита от свръхток. Светодиодите излъчват светлина само когато са насочени напред и количеството светлина, което излъчват, е пропорционално на предния ток. Това означава само, че интензитетът на LED светлината нараства приблизително линейно с увеличаване на тока. Така че, за да се избегне повреда на светодиода, този преден ток трябва да бъде наблюдаван и ограничен до безопасна стойност от външен ограничаващ резистор.

Тези седемсегментни индикатори се наричат ​​статични. Техният значителен недостатък е големият брой щифтове в опаковката. За да се премахне този недостатък, се използват динамични схеми за управление за седемсегментни индикатори.

Седемсегментният индикатор придоби голяма популярност сред радиолюбителите, защото е удобен за използване и лесен за разбиране.

В тази статия ще говорим за цифровите показания.
Седемсегментните LED индикатори са предназначени да показват арабски цифри от 0 до 9 (фиг. 1).

Такива индикатори са едноцифрени, които показват само едно число, но може да има повече групи от седем сегмента, комбинирани в едно тяло (многоцифрено). В този случай числата са разделени с десетична запетая (фиг. 2)


Фиг. 2.

Индикаторът се нарича седемсегментен поради факта, че показваният символ е изграден от отделни седем сегмента. В кутията на такъв индикатор има светодиоди, всеки от които осветява собствен сегмент.
Проблемно е да се показват букви и други символи върху такива индикатори, поради което за тези цели се използват 16-сегментни индикатори.

Има два вида LED индикатори.
В първия от тях всички катоди, т.е. отрицателните проводници на всички светодиоди се комбинират заедно и съответен проводник е разпределен за тях на корпуса.
Останалите индикаторни проводници са свързани към анода на всеки от светодиодите (фиг. 3, а). Това се нарича верига с общ катод.
Има и индикатори, в които светодиодите на всеки от сегментите са свързани по схема с общ анод (фиг. 3, б).


Фиг. 3.

Всеки сегмент се идентифицира със съответна буква. Фигура 4 показва тяхното местоположение.

Фиг. 4.

Като пример помислете за двуцифрен седемсегментен индикатор GND-5622As-21 с червено сияние. Между другото има и други цветове, в зависимост от модела.
С помощта на триволтова батерия можете да включите сегментите и ако комбинирате група щифтове в куп и им приложите захранване, можете дори да показвате числа. Но този метод е неудобен, така че регистрите за смяна и декодери се използват за управление на седемсегментни индикатори. Също така често индикаторните изходи са свързани директно към изходите на микроконтролера, но само ако се използват индикатори с ниска консумация на ток. Фигура 5 показва фрагмент от веригата, използваща PIC16F876A.


Фиг. 5.

За управление на седемсегментен индикатор често се използва декодерът K176ID2.
Тази микросхема е в състояние да преобразува двоичен код, състоящ се от нули и единици, в десетични цифри от 0 до 9.

За да разберете как работи всичко, трябва да събирате проста схема(фиг. 6). Декодерът K176ID2 е направен в пакет DIP16. Той има 7 изходни извода (пинове 9 - 15), всеки от които е предназначен за конкретен сегмент. Тук не е предвиден контрол на точки. Също така, микросхемата има 4 входа (пинове 2 - 5) за захранване двоичен код... 16-ият и 8-ият извод се захранват съответно с плюс и минус. Другите три заключения са спомагателни, за тях ще говоря малко по-късно.


Фиг. 6.

DD1 - K176ID2
R1 - R4 (10 - 100 kΩ)
HG1 - GND-5622As-21

Във веригата има 4 превключвателя (можете да използвате всякакви бутони), когато ги натиснете, към входовете на декодера се подава логическа единица от захранването. Между другото, самата микросхема се захранва от напрежение от 3 до 15 волта. V този примерцялата верига се захранва от 9-волтова "корона".

Във веригата има и 4 резистора. Това са така наречените издърпващи резистори. Те са необходими за гарантиране на ниско ниво на логическия вход при липса на сигнал. Без тях показанията на индикатора може да се показват неправилно. Препоръчително е да използвате същотосъпротивления от 10 kOhm до 100 kOhm.

На диаграмата щифтове 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, K).

На диаграмата (фиг. 6) 6-ти извод "M" е заземен (към минус захранване) и има положително напрежение на изхода на микросхемата за работа с индикатор с общ катод. Ако се използва индикатор с общ анод, той трябва да се приложи към 6-ия изход.

Ако се приложи логическа единица към 7-ия щифт "K", тогава индикаторният знак изгасва, нула активира индикацията. Във веригата този терминал е заземен (към минус захранването).

Логическа единица (плюс захранване) се подава към първия изход на декодера, което позволява преобразуваният код да бъде показан на индикатора. Но ако приложите логическа нула към този щифт (S), тогава входовете ще спрат да получават сигнала и текущият показан знак ще замръзне на индикатора.

Струва си да се отбележи едно интересно нещо: знаем, че превключвателят D0 включва числото "1", а превключвателят D1 включва числото "2". Ако натиснете и двата превключвателя, ще се покаже числото 3 (1 + 2 = 3). И в други случаи индикаторът показва сбора от цифрите, които съставляват тази комбинация. Стигаме до извода, че входовете на декодера са добре обмислени и имат много логични комбинации.

Можете също да гледате видеоклипа за тази статия.

Или термометри с големи числа, трудно е да се намерят подходящи индикатори (като ALS), а понякога е необходим размер, който изобщо не е наличен. За това всеки елемент (сегмент) от числа често се сглобява от няколко обикновени кръгли светодиода. Предлагаме по-перфектна и удобна версия на такова решение, използвайки микросхемата 74HC595. Проектът доведе до знаци от почти 10 сантиметра височина, които могат да се видят на дълги разстояния. Ако е необходимо, голям брой цифри могат да бъдат серийно свързани една с друга чрез специален конектор.

Схематична диаграма

Тази схема е едноцифрен 7-сегментен контролер на дисплея, използващ голям набор от 5 светодиода на сегмент и регистър за смяна за лесно управление на микроконтролера през входа. Всеки от светодиодите, използвани в този проект, е с диаметър 5 мм.

ULN2003 IC помага за усилване на тока, протичащ през светодиодите. Резисторите R1 - R8 са токоограничаващи резистори за светодиоди, които са свързани последователно във веригата.

Добър ден! След дългата ми и принудителна почивка ще продължим да усвояваме курса по програмиране на Arduino. В един от предишните ни уроци вече работихме с поредица от светодиоди, сега е време да преминем към следващия етап на обучение. Темата на днешната статия ще бъде 7-сегментният индикатор.

Въведението в 7-сегментния дисплей ще бъде разделено на две части. В първата част повърхностно ще „преминем” теоретичния компонент, ще работим с хардуера и ще напишем прости програми.

Последния път работихме с последователност от 8 светодиода, днес също ще има 8 (7 - LED ленти и 1 точка). За разлика от предишната последователност, елементите на този набор не са подредени (един след друг), а са подредени в определен ред. Поради това, като използвате само един компонент, можете да изведете 10 цифри (от 0 до 9).

Друга съществена разлика, която прави този индикатор да се откроява на фона на прости светодиоди. Той има общ катод (или по-скоро два еквивалентни крака 3 и 8, към които е свързан катодът). Достатъчно е просто да свържете един от катодите към земята ( GND). Всички индикаторни елементи имат индивидуални аноди.

Малко отклонение. Всичко по-горе се отнася за 7-сегментни дисплеи с общ катод. Има обаче индикатори с общ анод. Свързването на такива индикатори има значителни разлики, така че, моля, не бъркайте "грешни с праведни". Необходимо е ясно да разберете какъв тип седемсегментен играч имате в ръцете си!

В допълнение към разликите между простите светодиоди и 7-сегментните дисплеи, има прилики. Например: индикаторите, като светодиодите, могат да бъдат монтирани в ред (последователност), за да показват дву-, три-, четирицифрени числа (цифри). Все пак не ви съветвам да се занимавате твърде много със самостоятелното сглобяване на сегментни комплекти. В продажба "до" едноцифрени индикатори, продават се и многоцифрени.

Надявам се, че не сте забравили за необходимостта от използване на резистори за ограничаване на тока при свързване на светодиоди. Същото се отнася и за индикаторите: всеки елемент на индикатора трябва да има свързан собствен резистор. 8 елемента (7 + 1) - 8 резистора.

Имах под ръка седемсегментно устройство с надпис 5161AS (общ катод). Извеждане на контакти:



Схематична диаграма

Както казах по-рано, за да включите сегмента "A", свържете "земя" към всеки общ контакт (3 или 8) и подайте 5V захранване към щифт 7. Ако индикаторът е с общ анод, тогава подаваме 5V към анода и „земя“ към изхода на сегмента!

Нека съберем стенд за изпитване. Свързваме проводниците в ред, като се започне от първия крак, който отива към 2-ия щифт на платката Arduino. Свързваме земята към 8-ия изход на индикатора.

След като стойката е сглобена, можете да започнете да пишете фърмуера.

За да проверите индикатора, нека стартираме написаната програма. Изберете елемента "A" и го мигнете.


Сега нека мигнем числото 2. За да направите това, включете още няколко елемента.

За да се покаже една цифра, трябва да напишете n-брой редове код. Трудно, не мислиш ли.

Има и друг начин. За да се покаже която и да е цифра на индикатора, тя трябва първо да бъде представена като определена последователност от битове.

Таблица за съответствие.

Ако дисплеят има общ анод, тогава 1 трябва да бъде заменен с 0, а 0 с 1!

Шестнадесетичната колона е байтово представяне на цифра (ще говорим за това по-подробно във втората част).

Числото в двоична нотация се записва, както следва: 0b00000000. 0b- двоична система. Нулите означават, че всички светодиоди са изключени.

При свързване използвахме щифтове от 2 до 9. За да включите изхода 2, напишете единица = 0b00000001.Четвъртият бит отдясно е отговорен за точката. Последният бит е отговорен за линията в средата на индикатора.

Нека напишем пример за извеждане на цифрата 0.

За да намалим броя на въведените редове, ще използваме цикъл, който ни позволява да „превъртаме“ всичките 8 бита. Променлива Enable_segmentсе задава стойността на бита за четене. След това текущият щифт е настроен на подходящия режим ( наличие или липса на сигнал).

Забележка: функцията bitRead () чете състоянието на посочения бит и връща стойността на състоянието (0 или 1).bitRead (x, n)където, x е числото, битът от който трябва да се прочете; n е номерът на бита, чието състояние трябва да се прочете. Номерирането започва с най-малкия бит (най-десния), номериран 0.

И в края на първата част ще напишем малък брояч.