Widzenie we śnie wielu kolorowych ozdobnych igieł. Rodzaje strzykawek i igieł. Strzykawki medyczne: konstrukcja i wymiary. Tępa igła - wymarzona książka

Widzenie we śnie wielu kolorowych ozdobnych igieł.  Rodzaje strzykawek i igieł.  Strzykawki medyczne: konstrukcja i wymiary.  Tępa igła - wymarzona książka
Widzenie we śnie wielu kolorowych ozdobnych igieł. Rodzaje strzykawek i igieł. Strzykawki medyczne: konstrukcja i wymiary. Tępa igła - wymarzona książka

Podłączenie wyświetlacza siedmiosegmentowego do Arduino to świetny projekt poziom wejścia, pozwalające lepiej poznać płytkę Arduino. Ale jest to całkiem łatwe. Dlatego nieco skomplikujemy zadanie i podłączymy czterocyfrowy wskaźnik siedmiosegmentowy.



W w tym przypadku Zastosujemy czterocyfrowy moduł wskaźników LED ze wspólną katodą.


Każdy segment modułu wskaźnika jest multipleksowany, co oznacza, że ​​dzieli jedno miejsce podłączenia anody z innymi segmentami wyładowania. A każdy z czterech bitów modułu ma swój własny punkt połączenia ze wspólną katodą. Dzięki temu każdą cyfrę można włączać i wyłączać niezależnie. Dodatkowo ta metoda multipleksowania pozwala mikrokontrolerowi używać tylko jedenastu lub dwunastu pinów zamiast trzydziestu dwóch.



Segmenty LED wskaźnika wymagają podłączenia rezystorów ograniczających prąd przy zasilaniu od 5 V do logiczny wniosek. Wartość rezystora przyjmuje się zwykle w przedziale od 330 do 470 omów. Zaleca się również zastosowanie tranzystorów w celu zapewnienia dodatkowego prądu, ponieważ każdy pin mikrokontrolera może dostarczyć maksymalnie 40 mA. Jeśli włączysz wszystkie segmenty rozładowania (numer 8), pobór prądu przekroczy ten limit. Poniższy rysunek pokazuje schemat połączeń czterocyfrowego siedmiosegmentowego wskaźnika wykorzystującego tranzystory rezystorowe ograniczające prąd.



Poniżej znajdują się schematy podłączenia wskaźnika do pinów Arduino. Zastosowano tu tranzystory bipolarne npn BC547. Potencjometr 10 KOhm podłączony do wejścia płytki A0 pozwala na zmianę wartości wyświetlanej na wskaźniku od 0 do 1023.




Na płycie Arduino wyjścia cyfrowe D2-D8 służą w tym przypadku do sterowania segmentami „a” do „g”, a wyjścia cyfrowe D9-D12 służą do sterowania bitami D0 do D3. Należy zauważyć, że w tym przykładzie kropka nie jest używana, ale na poniższym szkicu jest możliwe jej użycie. Pin D13 płytki Arduino jest zarezerwowany do sterowania segmentem punktowym.



Poniżej znajduje się kod umożliwiający sterowanie czterocyfrowym wskaźnikiem segmentowym za pomocą płytki Arduino. W nim tablica liczbowa określa kody liczb od 0 do 9 w formie binarnej. Ten szkic obsługuje zarówno wskaźniki ze wspólną katodą (domyślnie), jak i wskaźniki ze wspólną anodą (w tym celu należy odkomentować jedną linię na końcu szkicu).


// bity reprezentujące segmenty od A do G (i kropki), dla liczb 0-9 const int numeral = ( //ABCDEFG /dp B11111100, // 0 B01100000, // 1 B11011010, // 2 B11110010, // 3 B01100110, // 4 B10110110, // 5 B00111110, // 6 B11100000, // 7 B11111110, // 8 B11100110, // 9 ); // piny dla punktu i każdego segmentu // DP,G,F,E,D,C,B,A const int segmentPins = ( 13,8,7,6,5,4,3,2 ); const int nbrDigits= 4; // liczba cyfr wskaźnika LED // cyfry 0 1 2 3 const int digitalPins = ( 9,10,11,12 ); void setup() ( for(int i=0; tj< 8; i++) { pinMode(segmentPins[i], OUTPUT); // устанавливаем выводы для сегментов и точки на выход } for(int i=0; i < nbrDigits; i++) { pinMode(digitPins[i], OUTPUT); } } void loop() { int value = analogRead(0); showNumber(value); } void showNumber(int number) { if(number == 0) { showDigit(0, nbrDigits-1) ; // отображаем 0 в правом разряде } else { // отображаем значение, соответствующее каждой цифре // крайняя левая цифра 0, правая на единицу меньше, чем число позиций for(int digit = nbrDigits-1; digit >= 0; cyfra--) ( if(liczba > 0) ( showDigit(liczba % 10, cyfra) ; liczba = liczba / 10; ) ) ) ) // Wyświetl podaną liczbę na tę kategorię Wskaźnik 7-segmentowy void showDigit(int liczba, int cyfra) ( digitalWrite(digitPins, HIGH); for(int segment = 1; segment< 8; segment++) { boolean isBitSet = bitRead(numeral, segment); // isBitSet будет истинным, если данный бит будет 1 // isBitSet = ! isBitSet; // опционально // раскомментируйте опциональную строчку выше для индикатора с общим анодом digitalWrite(segmentPins, isBitSet); } delay(5); digitalWrite(digitPins, LOW); }

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? W końcu jest tak wiele różnych ekranów, z duża ilość znaki, linie, różne przekątne i rozdzielczości, czarno-białe i kolorowe, z których najtańszy kosztuje kilka dolarów... A tu: „stary”, skandalicznie prosty, ale wymagający ogromnej liczby pinów 7-segmentowy wskaźnik , ale nadal jest zaleta i ten „stary człowiek”. 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. Lub 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 można zobaczyć na rysunku 1, a jego schemat na rysunku 2. Zwrócę też uwagę, że lepiej jest podać nie więcej niż 2,1 V na każdy segment tego wskaźnika (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 – zostanie 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 „przerażającym” 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; // zainstalować wysoki poziom 11-pinowy port B

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. Zero znajdujące się najbardziej na prawo portu B odpowiada za 8-my pin, a skrajne lewe – za 13-ty (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. Naturalnie, dla liczby dziesiętne nie są potrzebne żadne litery z przodu. 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.
Załadujmy teraz 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, ściśle rzecz biorąc, 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, przesyłając jednocześnie do 4 wskaźnik cyfrowy„1234” 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 za pomocą komputer osobisty na wyświetlacz 7-segmentowy 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 to działa? ten program możesz popatrzećWideo 3.



Recenzja przygotowana przez Pawła Siergiejewa

Istnieją parametry, w przypadku których wygodniej byłoby podać obiektywną informację, a nie tylko wskazanie. Na przykład temperatura powietrza na zewnątrz lub godzina budzika. Tak, wszystko to można zrobić za pomocą świecących żarówek lub diod LED. Jeden stopień – jedna płonąca dioda LED lub żarówka itp. Ale licząc te świetliki - cóż, nie! Ale, jak mówią, najbardziej proste rozwiązania- najbardziej niezawodny. Dlatego twórcy bez długiego zastanawiania się wzięli i ułożyli proste paski LED we właściwej kolejności.

Na początku XX wieku, wraz z pojawieniem się lamp próżniowych, pojawiły się pierwsze wskaźniki wyładowań gazowych

Za pomocą takich wskaźników możliwe było wyświetlanie informacji cyfrowych cyframi arabskimi. Wcześniej na takich lampach wykonywano różne oznaczenia urządzeń i innych urządzenia elektryczne. Obecnie elementy wyładowcze prawie nigdy nie są nigdzie używane. Ale retro jest zawsze modne, dlatego wielu radioamatorów kolekcjonuje dla siebie i swoich bliskich wspaniałe zegarki na wskaźnikach wyładowań gazowych.


Wadą lamp wyładowczych jest to, że zużywają dużo prądu. Można dyskutować o trwałości. Na naszej uczelni w pomieszczeniach laboratoryjnych nadal stosowane są mierniki częstotliwości wykorzystujące wskaźniki wyładowań gazowych.

Wskaźniki siedmiosegmentowe

Wraz z pojawieniem się diod LED sytuacja uległa radykalnej zmianie. lepsza strona. Same diody LED pobierają niewiele prądu. Jeśli je zorganizujesz we właściwej pozycji, możesz wyświetlić absolutnie dowolne informacje. Aby podkreślić wszystko cyfry arabskie, tylko siedem świecących pasków LED – segmentów, ułożonych w określony sposób:

Do prawie wszystkich takich wskaźników siedmiosegmentowych dodawany jest również ósmy segment - kropka, dzięki czemu można pokazać wartość całkowitą i ułamkową dowolnego parametru

Teoretycznie otrzymujemy wskaźnik ośmiosegmentowy, ale w staroświecki sposób nazywany jest on także wskaźnikiem siedmiosegmentowym.

Jaki jest wynik? Każdy pasek wskaźnika siedmiosegmentowego jest podświetlany diodą LED lub grupą diod LED. Dzięki temu podświetlając określone segmenty, możemy wyświetlić cyfry od 0 do 9, a także litery i symbole.

Typy i oznaczenie na schemacie

Są jednobitowe, dwubitowe, trzybitowe i czterobitowe siedem wskaźników segmentowych. Nigdy nie widziałem więcej niż czterech kategorii.

Na diagramach wskaźnik siedmiosegmentowy wygląda mniej więcej tak:

Tak naprawdę oprócz zacisków głównych każdy wskaźnik siedmiosegmentowy posiada również wspólny zacisk ze wspólną anodą (OA) lub wspólną katodą (OC)

Obwód wewnętrzny Wskaźnik siedmiosegmentowy ze wspólną anodą będzie wyglądał następująco:


i ze wspólną katodą taką jak ta:


Jeśli mamy wskaźnik siedmiosegmentowy ze wspólną anodą (OA), to w obwodzie musimy dostarczyć do tego pinu moc „plus”, a jeśli ze wspólną katodą (OC), to „minus” lub masę.

Jak sprawdzić wskaźnik siedmiosegmentowy

Mamy następujące wskaźniki:


Do sprawdzenia nowoczesnego wskaźnika siedmiosegmentowego wystarczy nam multimetr z funkcją testowania diody. Najpierw szukamy ogólnego wniosku – może być albo OA, albo OK. Tutaj tylko losowo. Cóż, następnie sprawdzamy działanie pozostałych segmentów wskaźnika zgodnie z powyższymi schematami.

Jak widać na poniższym zdjęciu, testowany segment świeci się. W ten sam sposób sprawdzamy pozostałe segmenty. Jeśli wszystkie segmenty się świecą, taki wskaźnik jest nienaruszony i można go wykorzystać w swoich projektach.


Czasami napięcie na multimetrze nie wystarcza do przetestowania segmentu. Dlatego bierzemy zasilacz i ustawiamy go na 5 woltów. Aby ograniczyć prąd płynący przez segment, sprawdzamy rezystor 1-2 kiloomów.


W ten sam sposób sprawdzamy wskaźnik z chińskiego amplitunera


W obwodach wskaźniki siedmiosegmentowe są podłączone do rezystorów na każdym pinie

W naszym nowoczesny świat wskaźniki siedmiosegmentowe zastąpiono wskaźnikami ciekłokrystalicznymi, które mogą wyświetlać absolutnie każdą informację

ale aby z nich skorzystać, potrzebne są pewne umiejętności w projektowaniu obwodów takich urządzeń. Dlatego też wskaźniki siedmiosegmentowe są nadal stosowane, ze względu na ich niski koszt i łatwość użycia.