Wskaźniki siedmiosegmentowe LED. Wskaźnik siedmiosegmentowy Wskaźniki siedmiosegmentowe LED ze wspólną katodą

Dioda LED (lub dioda elektroluminescencyjna) to dioda optyczna, która emituje energię świetlną w postaci „fotonów”, gdy jest spolaryzowana w kierunku przewodzenia. W elektronice proces ten nazywamy elektroluminescencją. Kolor światła widzialnego emitowanego przez diody LED waha się od niebieskiego do czerwonego i jest określony przez widmo widmowe emitowanego światła, które z kolei zależy od różnych zanieczyszczeń dodawanych do materiałów półprzewodnikowych w procesie ich produkcji.

Diody LED mają wiele zalet w porównaniu z tradycyjnymi lampami i oprawami oświetleniowymi, a być może najważniejsze z nich to niewielki rozmiar, trwałość, różnorodność kolorów, niski koszt i łatwa dostępność oraz możliwość łatwego łączenia się z różnymi innymi elementami elektronicznymi w obwodach cyfrowych.

Jednak główną zaletą diod LED jest to, że ze względu na ich niewielkie rozmiary, część z nich można skoncentrować w jednej kompaktowej obudowie, tworząc tzw. wskaźnik siedmiosegmentowy.

Wskaźnik siedmiosegmentowy składa się z siedmiu diod LED (stąd jego nazwa), ułożonych w prostokącie, jak pokazano na rysunku. Każda z siedmiu diod LED nazywana jest segmentem, ponieważ po podświetleniu segment stanowi część cyfry (dziesiętnej lub 12-cyfrowej). Czasami w tym samym opakowaniu używana jest ósma dodatkowa dioda LED. Służy ona do wyświetlania przecinka dziesiętnego (DP), umożliwiając w ten sposób wyświetlenie, jeśli dwa lub więcej wskaźników 7-segmentowych jest połączonych razem w celu przedstawienia liczb większych niż dziesięć.

Każdy z siedmiu segmentów wyświetlacza LED jest podłączony do odpowiedniego pola stykowego umieszczonego bezpośrednio na prostokątnej plastikowej obudowie wskaźnika. Piny LED są oznaczone literami od a do g, reprezentującymi każdy pojedynczy segment. Pozostałe styki segmentów LED są ze sobą połączone i tworzą wspólne wyjście.

Zatem odchylenie w przód zastosowane do odpowiednich pinów segmentów LED w określonej kolejności spowoduje, że niektóre segmenty zaświecą się, podczas gdy pozostałe pozostaną ciemne, umożliwiając zaświecenie żądanego symbolu wzoru liczbowego i wyświetlenie go na wyświetlaczu. Dzięki temu możemy przedstawić każdą z dziesięciu cyfr dziesiętnych od 0 do 9 na wyświetlaczu 7-segmentowym.

Wspólny pin jest zwykle używany do określenia typu wyświetlacza 7-segmentowego. Każda dioda LED wyświetlacza ma dwa zaciski łączące, z których jeden nazywany jest „anodą”, a drugi odpowiednio „katodą”. Dlatego siedmiosegmentowy wskaźnik LED może mieć dwa rodzaje konstrukcji obwodów - ze wspólną katodą (OC) i ze wspólną anodą (OA).

Różnica między tymi dwoma typami wyświetlaczy polega na tym, że w konstrukcji OK katody wszystkich 7 segmentów są ze sobą bezpośrednio połączone, a w konstrukcji wspólnej anody (CA) anody wszystkich 7 segmentów są ze sobą połączone. Obydwa schematy działają w następujący sposób.

  • Wspólna katoda (OC) - połączone ze sobą katody wszystkich segmentów LED mają poziom logiczny „0” lub są połączone wspólnym przewodem. Poszczególne segmenty są oświetlane poprzez podanie sygnału logicznego wysokiego lub logicznego 1 na ich pin anodowy poprzez rezystor ograniczający, aby przesunąć w przód poszczególne diody LED.
  • Wspólna anoda (CA) - anody wszystkich segmentów LED są połączone i mają poziom logiczny „1”. Poszczególne segmenty wskaźnika świecą, gdy każda konkretna katoda jest podłączona do masy, logicznego „0” lub sygnału o niskim potencjale przez odpowiedni rezystor ograniczający.

Ogólnie rzecz biorąc, bardziej popularne są siedmiosegmentowe wskaźniki ze wspólną anodą, ponieważ wiele obwodów logicznych może wymagać więcej prądu, niż może dostarczyć zasilacz. Należy również pamiętać, że wyświetlacz ze wspólną katodą nie zastępuje w obwodzie bezpośredniego wyświetlacza ze wspólną anodą. I odwrotnie – jest to równoznaczne z włączeniem diod LED w przeciwnym kierunku i w związku z tym nie będzie emitowane żadne światło.

Chociaż miernik 7-segmentowy można traktować jak pojedynczy wyświetlacz, nadal składa się on z siedmiu oddzielnych diod LED w jednym opakowaniu i jako takie diody te wymagają zabezpieczenia nadprądowego. Diody LED emitują światło tylko wtedy, gdy są spolaryzowane w kierunku przewodzenia, a ilość emitowanego przez nie światła jest proporcjonalna do prądu przewodzenia. Oznacza to tylko, że intensywność diody LED wzrasta w przybliżeniu liniowo wraz ze wzrostem prądu. Aby więc uniknąć uszkodzenia diody LED, ten prąd przewodzenia musi być monitorowany i ograniczany do bezpiecznej wartości za pomocą zewnętrznego rezystora ograniczającego.

Takie wskaźniki siedmiosegmentowe nazywane są statycznymi. Ich istotną wadą jest duża liczba pinów w opakowaniu. Aby wyeliminować tę wadę, stosuje się dynamiczne schematy sterowania dla wskaźników siedmiosegmentowych.

Wskaźnik siedmiosegmentowy zyskał dużą popularność wśród radioamatorów, ponieważ jest wygodny w użyciu i łatwy do zrozumienia.

Na tej lekcji poznamy schematy podłączenia siedmiosegmentowych wskaźników LED do mikrokontrolerów oraz sposoby sterowania wskaźnikami.

Wskaźniki siedmiosegmentowe LED pozostają jednym z najpopularniejszych elementów wyświetlania informacji cyfrowych.

Przyczyniają się do tego ich następujące cechy.

  • Niska cena. Jeśli chodzi o wyświetlacz, nie ma nic tańszego niż cyfrowe wskaźniki LED.
  • Różnorodność rozmiarów. Najmniejsze i największe wskaźniki to diody LED. Znam wskaźniki LED o wysokości cyfr od 2,5 mm do 32 cm.
  • Świecić w ciemności. W niektórych zastosowaniach ta właściwość jest prawie decydująca.
  • Mają różne kolory świecenia. Są nawet dwukolorowe.
  • Dość niskie prądy sterujące. Nowoczesne wskaźniki LED można podłączyć do pinów mikrokontrolerów bez dodatkowych kluczy.
  • Nadaje się do trudnych warunków pracy (zakres temperatur, wysoka wilgotność, wibracje, agresywne środowisko itp.). Pod względem tej jakości wskaźniki LED nie mają sobie równych wśród innych typów elementów wyświetlających.
  • Nieograniczona żywotność.

Rodzaje wskaźników LED.

Siedmiosegmentowy wskaźnik LED wyświetla znak za pomocą siedmiu diod LED – segmentów cyfr. Ósma dioda LED oświetla punkt dziesiętny. Zatem wskaźnik siedmiosegmentowy składa się z 8 segmentów.

Segmenty są oznaczone literami łacińskimi od „A” do „H”.

Anody lub katody każdej diody LED są połączone we wskaźniku i tworzą wspólny przewód. Dlatego istnieją wskaźniki ze wspólną anodą i wspólną katodą.

Wskaźnik LED ze wspólną anodą.

Wskaźnik LED ze wspólną katodą.

Statyczne sterowanie diodami LED.

Wskaźniki LED należy podłączyć do mikrokontrolera poprzez rezystory ograniczające prąd.

Obliczanie rezystorów jest takie samo jak dla poszczególnych diod LED.

R = (zasilanie U - segment U) / segment I

Dla tego obwodu: I segment = (5 – 1,5) / 1000 = 3,5 mA

Nowoczesne wskaźniki LED świecą dość jasno nawet przy prądzie 1 mA. W przypadku obwodu ze wspólną anodą zaświecą się segmenty, na których pinach sterujących mikrokontroler wygeneruje niski poziom.

Na schemacie połączeń wskaźnika ze wspólną katodą zmienia się polaryzacja zasilania i sygnałów sterujących.

Zaświeci się segment, na którego pinie sterującym zostanie wygenerowany wysoki poziom (5 V).

Tryb multipleksowy do sterowania wskaźnikami LED.

Do podłączenia każdego siedmiosegmentowego wskaźnika do mikrokontrolera potrzeba ośmiu pinów. Jeśli są 3–4 wskaźniki (cyfry), zadanie staje się praktycznie niemożliwe. Po prostu nie ma wystarczającej liczby pinów mikrokontrolera. W takim przypadku wskaźniki można łączyć w trybie multipleksowym, w trybie sygnalizacji dynamicznej.

Wyniki segmentów każdego wskaźnika o tej samej nazwie są łączone. W rezultacie powstaje matryca diod LED podłączona pomiędzy pinami segmentu i wspólnymi pinami wskaźnika. Oto obwód do multipleksowego sterowania trzycyfrowym wskaźnikiem ze wspólną anodą.

Do podłączenia trzech wskaźników potrzeba było 11 pinów, a nie 24, jak w trybie sterowania statycznego.

W przypadku wyświetlacza dynamicznego w danym momencie świeci się tylko jedna cyfra. Sygnał wysokiego poziomu (5 V) jest dostarczany na wspólny pin jednego z bitów, a sygnały niskiego poziomu są wysyłane na piny segmentu dla tych segmentów, które powinny się zaświecić w tym bicie. Po pewnym czasie zapala się kolejne wyładowanie. Wysoki poziom jest przykładany do jego wspólnego pinu, a sygnały stanu tego bitu są wysyłane do pinów segmentu. I tak dalej dla wszystkich cyfr w nieskończonej pętli. Czas cyklu nazywany jest czasem regeneracji wskaźnika. Jeśli czas regeneracji będzie wystarczająco krótki, oko ludzkie nie zauważy załączenia się wyładowań. Będzie się wydawać, że wszystkie wyładowania stale świecą. Aby uniknąć migotania wskaźników, uważa się, że częstotliwość cyklu regeneracji powinna wynosić co najmniej 70 Hz. Staram się używać co najmniej 100 Hz.

Obwód sygnalizacji dynamicznej dla diod LED ze wspólną katodą wygląda następująco.

Zmienia się polaryzacja wszystkich sygnałów. Teraz do wspólnego przewodu aktywnego wyładowania przykładany jest niski poziom, a do segmentów, które powinny się zapalić, wysoki poziom.

Obliczanie dynamicznych elementów wyświetlacza wskaźników diodowych (LED).

Obliczenia są nieco bardziej skomplikowane niż w przypadku trybu statycznego. Podczas obliczeń należy określić:

  • średni prąd segmentów;
  • prąd impulsowy segmentów;
  • rezystancja rezystora segmentowego;
  • prąd impulsowy wspólnych zacisków wyładowań.

Ponieważ Cyfry wskaźnika zapalają się kolejno, jasność blasku określa średni prąd. Musimy go wybrać w oparciu o parametry wskaźnika i wymaganą jasność. Prąd średni określi jasność wskaźnika na poziomie odpowiadającym sterowaniu statycznemu przy tym samym prądzie stałym.

Wybierzmy średni prąd segmentu 1 mA.

Teraz obliczmy prąd impulsowy segmentu. Aby zapewnić wymagany prąd średni, prąd impulsowy musi być N razy większy. Gdzie N jest liczbą cyfr wskaźnika.

Segmentuję chochlik. = Segmentuję średnio *N

W naszym schemacie I segmentuję. chochlik. = 1 * 3 = 3 mA.

Obliczamy rezystancję rezystorów ograniczających prąd.

R = (zasilanie U - segment U) / segment I. chochlik.

R = (5 – 1,5) / 0,003 = 1166 omów

Wyznaczamy prądy impulsowe wspólnych zacisków wyładowań. Jednocześnie może świecić 8 segmentów, co oznacza, że ​​należy pomnożyć prąd impulsu jednego segmentu przez 8.

Kategoryzuję imp. = Segmentuję chochlik. * 8

Dla naszego obwodu I kategoria imp. = 3 * 8 = 24 mA.

  • Wybieramy rezystancję rezystora na 1,1 kOhm;
  • kołki mikrokontrolera sterującego segmentem muszą zapewniać prąd o natężeniu co najmniej 3 mA;
  • kołki mikrokontrolera do wyboru cyfry wskaźnika muszą zapewniać prąd co najmniej 24 mA.

Przy takich wartościach prądu wskaźnik można podłączyć bezpośrednio do pinów płytki Arduino, bez użycia dodatkowych kluczy. W przypadku jasnych wskaźników takie prądy są wystarczające.

Schematy z dodatkowymi kluczami.

Jeżeli wskaźniki wymagają większego prądu, konieczne jest zastosowanie dodatkowych klawiszy, szczególnie w przypadku sygnałów wyboru cyfr. Całkowity prąd rozładowania jest 8 razy większy od prądu jednego segmentu.

Schemat podłączenia wskaźnika LED ze wspólną anodą w trybie multipleksowanym z przełącznikami tranzystorowymi do wyboru wyładowań.

Aby wybrać bit w tym obwodzie, konieczne jest wygenerowanie sygnału o niskim poziomie. Odpowiedni klucz otworzy się i zasili wskaźnik rozładowania.

Schemat podłączenia wskaźnika LED ze wspólną katodą w trybie multipleksowanym z przełącznikami tranzystorowymi do wyboru wyładowań.

Aby wybrać bit w tym obwodzie, konieczne jest wygenerowanie sygnału wysokiego poziomu. Odpowiedni klucz otworzy i zamknie wspólny zacisk rozładowania do masy.

Mogą istnieć obwody, w których konieczne będzie zastosowanie przełączników tranzystorowych dla obu segmentów i wspólnych pinów bitowych. Takie schematy można łatwo zsyntetyzować na podstawie dwóch poprzednich. Wszystkie pokazane obwody stosowane są przy zasilaniu wskaźnika napięciem równym napięciu zasilania mikrokontrolera.

Klucze do wskaźników o podwyższonym napięciu zasilania.

Istnieją duże wskaźniki, w których każdy segment składa się z kilku diod LED połączonych szeregowo. Do zasilania takich wskaźników wymagane jest źródło o napięciu większym niż 5 V. Przełączniki muszą zapewniać przełączanie podwyższonego napięcia sterowanego sygnałami poziomu mikrokontrolera (zwykle 5 V).

Obwód kluczy łączących sygnały wskaźników z masą pozostaje niezmieniony. A przełączniki zasilania powinny być zbudowane według innego schematu, na przykład takiego.

W tym obwodzie aktywny bit jest wybierany przez wysoki poziom sygnału sterującego.

Pomiędzy przełączeniami cyfr wskaźnika należy na krótki czas (1-5 μs) wyłączyć wszystkie segmenty. Czas ten jest niezbędny do zakończenia przejściowych procesów przełączania kluczy.

Strukturalnie kołki wyładowcze można połączyć w jednym przypadku wskaźnika wielocyfrowego lub wskaźnik wielocyfrowy można złożyć z oddzielnych wskaźników jednocyfrowych. Ponadto istnieje możliwość złożenia wskaźnika z pojedynczych diod LED połączonych w segmenty. Zwykle robi się to, gdy konieczne jest złożenie bardzo dużego wskaźnika. Wszystkie powyższe schematy będą obowiązywać dla takich opcji.

W kolejnej lekcji podłączymy siedmiosegmentowy wskaźnik LED do płytki Arduino i napiszemy bibliotekę do sterowania nim.

Kategoria: . Możesz dodać go do zakładek.

Albo termometry z dużymi cyframi, ciężko jest znaleźć odpowiednie wskaźniki (np. ALS), a czasami potrzebny jest rozmiar, który nie jest dostępny na rynku. Aby to zrobić, każdy element (segment) liczb jest często składany z kilku zwykłych okrągłych diod LED. Oferujemy bardziej zaawansowaną i wygodną wersję tego rozwiązania, wykorzystującą mikroukład 74HC595. W wyniku projektu powstały znaki o wysokości prawie 10 centymetrów, które są widoczne z dużej odległości. W razie potrzeby dużą liczbę cyfr można połączyć ze sobą sekwencyjnie za pomocą specjalistycznego złącza.

Schemat

Obwód ten jest jednocyfrowym kontrolerem wyświetlacza 7-segmentowego wykorzystującym duży zestaw 5 diod LED na segment i rejestr przesuwny ułatwiający sterowanie wejściem mikrokontrolera. Każda z diod LED wykorzystanych w tym projekcie ma średnicę 5mm.

Układ ULN2003 pomaga wzmocnić prąd przepływający przez diody LED. Rezystory R1 - R8 ograniczają prąd diod LED, które są połączone szeregowo w obwodzie.

Dobry dzień! Po mojej długiej i wymuszonej przerwie będziemy dalej doskonalić kurs programowania Arduino. Na jednej z poprzednich lekcji pracowaliśmy już z sekwencją diod LED, teraz czas przejść do kolejnego etapu szkolenia. Tematem dzisiejszego artykułu będzie wskaźnik 7-segmentowy.

Zapoznanie się ze wskaźnikiem 7-segmentowym będzie składać się z dwóch części. W pierwszej części krótko omówimy część teoretyczną, popracujemy ze sprzętem i napiszemy proste programy.

Ostatnim razem, gdy pracowaliśmy z sekwencją 8 diod, dzisiaj będzie ich również 8 (7 pasków LED i 1 kropka). W odróżnieniu od poprzedniej sekwencji elementy tego zestawu nie są ułożone w kolejności (jeden po drugim), lecz ułożone w określonej kolejności. Dzięki temu za pomocą tylko jednego elementu można wyświetlić 10 cyfr (od 0 do 9).

Kolejna znacząca różnica, która odróżnia ten wskaźnik od prostych diod LED. Ma wspólną katodę (a raczej dwie równoważne nogi 3 i 8, na których podłączona jest katoda). Wystarczy podłączyć jedną z katod do masy ( GND). Wszystkie elementy wskaźnikowe posiadają indywidualne anody.

Mała dygresja. Wszystko powyższe dotyczy wskaźników 7-segmentowych ze wspólną katodą. Istnieją jednak wskaźniki ze wspólną anodą. Łączenie takich wskaźników różni się znacznie, dlatego proszę nie mylić „grzesznego z sprawiedliwym”. Musisz jasno zrozumieć, jaki rodzaj urządzenia siedmiosegmentowego masz w rękach!

Oprócz różnic między prostymi diodami LED a wskaźnikami 7-segmentowymi istnieją również cechy wspólne. Na przykład: wskaźniki, podobnie jak diody LED, można zamontować w rzędzie (sekwencja), aby wyświetlać liczby dwu-, trzy-, czterocyfrowe (cyfry). Nie radzę jednak zbytnio przejmować się samodzielnym składaniem zestawów segmentowych. W sprzedaży „obok” wskaźników jednocyfrowych sprzedawane są również wskaźniki wielocyfrowe.

Mam nadzieję, że nie zapomniałeś o konieczności stosowania rezystorów ograniczających prąd przy podłączaniu diod LED. To samo dotyczy wskaźników: każdy element wskaźnika musi mieć podłączony własny rezystor. 8 elementów (7 + 1) – 8 rezystorów.

Miałem pod ręką jednostkę siedmiosegmentową oznaczoną 5161AS (wspólna katoda). Pinout:



Schemat

Jak mówiłem wcześniej, aby załączyć segment „A”, podłączamy masę do dowolnego wspólnego pinu (3 lub 8), a na pin 7 dostarczamy napięcie 5V. Jeśli wskaźnik ma wspólną anodę, to do anody przykładamy 5 V i masę do wyjścia segmentu!

Złóżmy stanowisko testowe. Łączymy przewody w kolejności zaczynając od pierwszej nóżki, która prowadzi do 2-go pinu płytki Arduino. Masę podłączamy do pinu 8 wskaźnika.

Po złożeniu stojaka można przystąpić do pisania oprogramowania.

Aby sprawdzić wskaźnik, uruchommy napisany program. Wybierzmy element „A” i flashujmy go.


Teraz sflashujmy cyfrę 2. Aby to zrobić, włączmy jeszcze kilka elementów.

Aby wyprowadzić jedną cyfrę, musisz napisać n-liczbę linii kodu. To trudne, nie sądzisz?

Jest inny sposób. Aby wyświetlić na wskaźniku dowolną liczbę, należy ją najpierw przedstawić jako określony ciąg bitów.

Tabela korespondencji.

Jeżeli wyświetlacz ma wspólną anodę, to 1 należy zastąpić 0, a 0 1!

Kolumna szesnastkowa jest reprezentacją liczby w postaci bajtowej (porozmawiamy o tym bardziej szczegółowo w drugiej części).

Liczbę w systemie binarnym zapisuje się w następujący sposób: 0b00000000. 0b- system binarny. Zero oznacza, że ​​wszystkie diody LED są wyłączone.

Podczas podłączania użyliśmy pinów od 2 do 9. Aby włączyć pin 2, wpisz do niego jeden = 0b00000001. Czwarty bit od prawej strony odpowiada za kropkę. Ostatni bit odpowiada linii na środku wskaźnika.

Napiszmy przykład wyprowadzenia liczby 0.

Aby zmniejszyć liczbę wpisywanych linii, użyjemy pętli, która pozwala „iterować” wszystkie 8 bitów. Zmienny Włącz_segment przypisana jest wartość odczytywanego bitu. Następnie wyjście prądowe zostaje ustawione na odpowiedni tryb ( obecność lub brak sygnału).

Uwaga: Funkcja bitRead() odczytuje stan określonego bitu i zwraca wartość stanu (0 lub 1).bitOdczyt(x, n)gdzie x jest liczbą, której bity należy odczytać; n jest numerem bitu, którego stan należy odczytać. Numerowanie rozpoczyna się od najmniej znaczącego (skrajnego na prawo) bitu o numerze 0.

A na koniec pierwszej części napiszemy mały licznik.

W dzisiejszym artykule porozmawiamy o wskaźnikach 7-segmentowych i o tym, jak „zaprzyjaźnić się” z Arduino. Istnieje kilka opcji. Najłatwiej jest oczywiście pójść do i kup gotowy wskaźnik ze zintegrowaną tarczą (tak nazywa się pasująca karta), ale nie szukamy łatwych sposobów, więc pójdziemy nieco trudniejszą ścieżką. Początkujący - nie przejmujcie się, ten artykuł, podobnie jak moje poprzednie artykuły ( I ) tylko dla Ciebie. Niech guru piszą dla tych samych doświadczonych guru, a ja jestem początkujący - piszę dla początkujących.

Dlaczego wskaźnik 7-segmentowy? Przecież jest tyle różnych ekranów, z dużą liczbą znaków, linii, różnymi przekątnymi i rozdzielczościami, czarno-białymi i kolorowymi, z których najtańszy kosztuje kilka dolarów... A tu: „stary” jeden, skandalicznie prosty, ale wymagający ogromnej liczby pinów, 7-segmentowy wskaźnik, ale mimo to ten „starzec” też ma przewagę. Faktem jest, że za pomocą podanych tutaj szkiców można ożywić nie tylko wskaźnik o wysokości cyfry 14 mm, ale także poważniejsze (choć domowe) projekty, a cyfry licznika w tym przypadku są dalekie od limitu. Może to nie być tak interesujące dla mieszkańców stolic, ale ludność Nowokatsapetovki lub Niżnej Kedrowki będzie bardzo szczęśliwa, jeśli w klubie lub radzie wiejskiej pojawi się zegar, który może również wyświetlać datę i temperaturę, i będą rozmawiać o twórcy tego zegara przez bardzo długi czas. Ale takie zegarki to temat na osobny artykuł: odwiedzający będą chcieli - Napiszę. Wszystko, co napisano powyżej, można potraktować jako wprowadzenie. Podobnie jak mój poprzedni artykuł, ten artykuł będzie się składał z części, tym razem z dwóch. W pierwszej części będziemy po prostu „zarządzać” wskaźnikiem, a w drugiej postaramy się go zaadaptować do czegoś choć trochę przydatnego. Więc kontynuujmy:

Część pierwsza. Eksperymentalno-edukacyjny

Podstawą tego projektu jest ARDUINO UNO, które jest nam już dobrze znane z poprzednich artykułów. Przypomnę, że najłatwiej go kupić tutaj: lub tu: dodatkowo potrzebny będzie 4-cyfrowy, 7-segmentowy wskaźnik. Mam w szczególności GNQ-5641BG-11. Dlaczego ten? Tak, po prostu dlatego, że 5 lat temu kupiłem go przez pomyłkę, byłem zbyt leniwy, aby go wymieniać, więc cały ten czas leżał i czekał na skrzydłach. Myślę, że każdy, kto ma wspólną anodę da radę (a ze wspólną katodą jest to możliwe, ale trzeba będzie odwrócić dane tablicy i inne wartości portów - czyli zmienić je na przeciwne), o ile nie jest zbyt mocny, aby nie spalić Arduino. Dodatkowo 4 rezystory ograniczające prąd po około 100 omów każdy i kawałek kabla (10 cm mi wystarczył) na 12 pinów (żył) można „odrwać” od szerszego, co też zrobiłem. Możesz nawet przylutować je oddzielnymi przewodami, nie będzie żadnych problemów. Będziesz także potrzebować szpilek do tablicy (11 sztuk), chociaż jeśli będziesz ostrożny, możesz się bez nich obejść. Szkic wskaźnika widać na rys. 1, a jego schemat na rys. 2. Zwrócę też uwagę, że lepiej jest dostarczać do każdego segmentu tego wskaźnika napięcie nie większe niż 2,1 V (ograniczone rezystorami 100-omowymi), a w tym przypadku zużyje nie więcej niż 20 mA. Jeśli zaświeci się liczba „8”, pobór nie przekroczy 7x20=140 mA, co jest całkiem akceptowalne dla wyjść Arduino. Dociekliwy czytelnik zada pytanie: „Ale 4 wyładowania po 140 mA każde to już 4x140 = 560 mA, a to już za dużo!” Odpowiem - zostało 140. Jak? Czytaj! Rozmieszczenie pinów na wskaźniku widać na rysunku 3. A połączenie wykonujemy według tabeli 1.


Ryż. 1 - Szkic wskaźnika


Ryż. 2 - Obwód wskaźnika


Ryż. 3 - Lokalizacja pinu

Tabela 1

Przypnij Arduino Uno

Kołek wskaźnika

Notatka

Odcinek G

Odcinek F

Odcinek E

Odcinek D

Odcinek C

Odcinek B

Odcinek A

Wspólną anodę segmentu nr 1 podłączyć przez rezystor 100 Ohm.

Wspólną anodę segmentu nr 2 podłączyć przez rezystor 100 omów.

Wspólną anodę segmentu nr 3 podłączyć przez rezystor 100 Ohm.

Wspólną anodę segmentu nr 6 podłączyć przez rezystor 100 Ohm.



Wypełniamy prosty szkic, który jest prostą „tabelą liczącą” od 0 do 9:


Teraz trochę wyjaśnień. DDRD to rejestr portu D (DDRB - odpowiednio port B) za „strasznym” słowem „rejestr” jest tylko „ukryta” funkcja, która wskazuje, czy port będzie czytał coś swoim pinem (odbierze informację), czy odwrotnie odwrotnie będzie można tam coś zrobić potem pisać (podawać informacje). W tym przypadku linia DDRD=B11111111; wskazuje, że wszystkie piny portu D są wyprowadzane, tj. informacje z nich wyjdą. Litera „B” oznacza, że ​​do rejestru wpisana jest liczba binarna. Zniecierpliwiony czytelnik od razu zapyta: „Czy możliwe jest użycie dziesiętnego!?!” Spieszę zapewnić, że jest to możliwe, ale o tym nieco później. Gdybyśmy chcieli wykorzystać połowę portu na wejście, a połowę na wyjście, moglibyśmy to określić w następujący sposób: DDRD=B11110000; jedynki pokazują te piny, które będą dawać informacje, a zera pokazują te, które otrzymają te informacje. Główna wygoda rejestru polega również na tym, że nie trzeba rejestrować wszystkich pinów 8 razy, tj. oszczędzamy 7 linii w programie. Teraz spójrzmy na następujący wiersz:

PORTB=B001000; // ustaw pin 11 portu B na wysoki

PORTB to rejestr danych portu B, tj. Wpisując do niego liczbę, wskazujemy, który pin portu będzie miał jedynkę, a który zero. W uzupełnieniu komentarza dodam, że jeśli wziąć Arduino Uno tak, że widać kontroler i piny cyfrowe na górze, to wpis do rejestru będzie jasny, tj. które „zero” (lub „jeden”) odpowiada któremu pinowi, tj. skrajne prawe zero portu B odpowiada za 8. pin, a skrajne lewe za 13. (który ma wbudowaną diodę LED). Odpowiednio dla portu D, prawy jest dla pinu 0, lewy dla pinu 7.
Mam nadzieję, że po tak szczegółowych wyjaśnieniach wszystko jest jasne, ale skoro jest jasne, proponuję wrócić do znanego nam i ukochanego od dzieciństwa systemu liczb dziesiętnych. I jeszcze jedno – szkic składający się z 25 linii może wydawać się niewielki, ale dla początkującego jest nadal nieco uciążliwy. Zmniejszymy to.

Uzupełnijmy jeszcze prostszy szkic, tę samą „tabelę liczącą”:


Wideo 1.
Tylko 11 linii! To jest nasz sposób, „sposób dla nowicjuszy”! Należy pamiętać, że zamiast liczb binarnych w rejestrach zapisywane są liczby dziesiętne. Oczywiście w przypadku liczb dziesiętnych nie są potrzebne żadne litery na początku. Myślę, że nie zaszkodzi umieścić wszystkie liczby w tabelach.

Tabela 2. Zgodność wyświetlanego znaku z danymi portu

Wspólna anoda

Wspólna katoda

System binarny

System dziesiętny

System binarny

System dziesiętny

Tabela 3. Zgodność wyświetlanej cyfry z danymi portu

Wspólna anoda

Wspólna katoda

System binarny

System dziesiętny

System binarny

System dziesiętny



Uwaga! Dane w tabelach 2 i 3 obowiązują tylko w przypadku okablowania zgodnie z tabelą 1.
Teraz załadujmy szkic z „tabelą liczącą” od 0 do 9999:




Ryż. 4 - Stół liczący

Szkic w akcji można zobaczyć na stronieWideo 2.

W tym szkicu jest więcej komentarzy niż samego kodu. Nie powinno być żadnych pytań... Poza tym, co to za „cykl migotania”, co tak naprawdę tam migocze i dlaczego? I jest też na to jakaś zmienna...
A cała rzecz w tym, że segmenty o tej samej nazwie wszystkich czterech kategorii są połączone w jednym punkcie. A1, A2, A3 i A4 mają wspólną katodę; Wspólna anoda A1, B1,…..G1. Tak więc, stosując jednocześnie „1234” do 4-cyfrowego wskaźnika, otrzymamy „8888” i będziemy tym bardzo zaskoczeni. Aby temu zapobiec, musisz najpierw zapalić „1” w swojej kategorii, następnie ją wyłączyć, zapalić „2” w swojej kategorii itp. Jeśli zrobisz to bardzo szybko, migotanie cyfr zleje się niczym klatki na kliszy, a oko praktycznie tego nie zauważy. A maksymalna wartość migoczącej zmiennej w tym przypadku steruje szybkością zmiany liczb na wskaźniku. Nawiasem mówiąc, to dzięki temu „migotaniu” maksymalny pobór prądu wynosi tylko 140 mA zamiast 560. Teraz sugeruję przejście do czegoś bardziej przydatnego.

Część druga. Przynajmniej trochę przydatne

W tej części wyprowadzimy znaki z komputera osobistego na 7-segmentowy wskaźnik za pomocą ARDUINO MEGA. Dlaczego nagle pojawił się pomysł „zmiany koni na przeprawie”? Są dwa powody: po pierwsze, nigdy wcześniej nie brałem pod uwagę ARDUINO MEGA w moich artykułach; a po drugie, w ARDUINO UNO wciąż nie wiem, jak mogę dynamicznie zamienić port COM i port D. Ale jestem nowicjuszem - można mi wybaczyć. Oczywiście możesz kupić ten kontroler tutaj: . Aby zrealizować plan musiałem wziąć lutownicę i przelutować kabel od strony Arduino, a także napisać nowy szkic. Jak kabel jest lutowany widać na rysunku 5. Rzecz w tym, że ARDUINO MEGA i ARDUINO UNO mają różne piny portów, a Mega ma o wiele więcej portów. Odpowiedniość zastosowanych pinów można zobaczyć w tabeli 4.



Ryż. 5 - Nowe okablowanie

Tabela 4

Port Mega


Uwaga! Ta tabela dotyczy tylko tego projektu!

Należy również zauważyć, że port C Arduino Mega „zaczyna się” od pinu 37, a następnie w kolejności malejącej, a port A zaczyna się od pinu 22, a następnie w kolejności rosnącej.



Ryż. 6 - Widok ogólny



Małe funkcje implementacyjne: wyprowadzimy 4 znaki. Znaki muszą być liczbami. Jeśli wpisałeś „1234” i zobaczymy „1234”, jeśli wpisałeś „123456” nadal zobaczymy „1234”, jeśli wpisałeś „ytsuk”, „fyva1234”, „otiog485909oapom” - nic nie zobaczymy. Jeśli wpisałeś „pp2345mm”, zobaczymy „23”, tj. małe, wbudowane „foolproofing”.

Rzeczywisty szkic:



Jak działa ten program, możesz zobaczyć na stronieWideo 3.



Recenzja przygotowana przez Pawła Siergiejewa