Spisu treści:

Diody Charlieplexing – teoria: 7 kroków (ze zdjęciami)
Diody Charlieplexing – teoria: 7 kroków (ze zdjęciami)

Wideo: Diody Charlieplexing – teoria: 7 kroków (ze zdjęciami)

Wideo: Diody Charlieplexing – teoria: 7 kroków (ze zdjęciami)
Wideo: ВСЁ ЗАДАНИЕ 7 ЗА 48 МИНУТ | КОДИРОВАНИЕ ИЗОБРАЖЕНИЙ, АУДИО И ВИДЕО ЕГЭ ИНФОРМАТИКА 2023 2024, Czerwiec
Anonim
Diody Charlieplexing – teoria
Diody Charlieplexing – teoria
Diody Charlieplexing – teoria
Diody Charlieplexing – teoria

Ta instrukcja jest mniej kompilacją własnego projektu, a bardziej opisem teorii charlieplexingu. Nadaje się dla osób z podstawami elektroniki, ale nie dla początkujących. Napisałem to w odpowiedzi na wiele pytań, które otrzymałem w moich wcześniej opublikowanych Instruktażach.

Co to jest „Charlieplexing”? Napędza wiele diod LED za pomocą zaledwie kilku pinów. Jeśli zastanawiasz się, Charlieplexing nosi imię Charlesa Allena z Maxim, który opracował tę technikę. Może to być przydatne w wielu sytuacjach. Być może będziesz musiał wyświetlić informacje o stanie na małym mikrokontrolerze, ale masz tylko kilka zapasowych pinów. Możesz chcieć pokazać fantazyjną matrycę punktową lub wyświetlacz zegara, ale nie chcesz używać wielu komponentów. Niektóre inne projekty demonstrujące charlieplexing, które możesz chcieć przyjrzeć, to: Jak sterować wieloma diodami LED z kilku pinów mikrokontrolera. przez Westfw:- https://www.instructables.com/id/ED0NCY0UVWEP287ISO/ I kilka moich własnych projektów, Zegarek Microdot:- https://www.instructables.com/id/EWM2OIT78OERWHR38Z/ Zegar Minidot 2: - https://www.instructables.com/id/E11GKKELKAEZ7BFZAK/ Innym fajnym przykładem użycia charlieplexingu jest: https://www.jsdesign.co.uk/charlie/ Zegar Minidot 2 wprowadza zaawansowany schemat charlieplexingu dla wygaszanie/ściemnianie, które nie będą tutaj omawiane. UPDATE 19 sierpnia 2008: Dodałem plik zip z obwodem, który może być w stanie wykorzystać matrycę charliplexing dla diod LED dużej mocy omówionych (w sumie:)) w sekcji komentarzy. Posiada przycisk + enkoder położenia do tworzenia interfejsu użytkownika, a także obwody do sterowania komputerem USB lub RS232. Każda z szyn napięciowych po stronie wysokiego napięcia może być ustawiona na jedno z dwóch napięć, powiedzmy 2,2 V dla CZERWONEJ diody LED i 3,4 V dla zielonego/niebieskiego/białego. Napięcie na wysokich bocznych szynach można ustawić za pomocą trimpot. Przewidywałbym, że 20-żyłowy kabel taśmowy IDC zostanie podłączony do płyty i 20-pinowe złącza IDC dodane wzdłuż taśmy, przy czym każda płytka LED ma połączenia z dowolnymi przewodami w matrycy. Obwód znajduje się w Eagle Cad i jest renderowany na poniższym obrazku. Obwód wysokiej strony jest realizowany za pomocą transoptorów, które moim zdaniem mogą być odpowiednie. Właściwie nie testowałem tego układu ani nie napisałem żadnego oprogramowania z powodu braku czasu, ale zgłosiłem to do komentarza, szczególnie interesuje mnie implementacja transoptora. Każdy, kto jest na tyle odważny, aby spróbować… opublikuj swoje wyniki. AKTUALIZACJA 27 sierpnia 2008: Dla tych, którzy nie używają EagleCad….dodany poniżej jest pdf ze schematem

Krok 1: Trochę teorii LED

Trochę teorii LED
Trochę teorii LED
Trochę teorii LED
Trochę teorii LED

Charlieplexing opiera się na wielu przydatnych aspektach diod LED i nowoczesnych mikrokontrolerów.

Po pierwsze, co się dzieje po podłączeniu diody LED do prądu. Poniższy schemat główny pokazuje tak zwaną krzywą If v Vf typowej diody LED o małej mocy 5 mm. If oznacza „prąd do przodu” Vf oznacza „napięcie do przodu” Innymi słowy, oś pionowa pokazuje prąd, który popłynie przez diodę LED, jeśli przyłożysz napięcie osi poziomej do jej zacisków. Działa to również w drugą stronę, jeśli zmierzysz, że prąd ma pewną wartość, możesz spojrzeć w poprzek osi poziomej i zobaczyć napięcie, jakie dioda pokaże na jej zaciskach. Drugi schemat przedstawia schematyczne przedstawienie diody LED z etykietami If i Vf. Z głównego diagramu oznaczyłem również obszary wykresu, które są interesujące. - Pierwszy obszar to obszar, w którym dioda LED jest wyłączona. Dokładniej, dioda LED emituje światło tak słabo, że nie będziesz w stanie go zobaczyć, chyba że masz jakiś super-duper wzmacniacz obrazu. - Drugi obszar ma diodę LED, która emituje tylko słabą poświatę. - Trzeci obszar to obszar, w którym zwykle działa dioda LED, która emituje światło zgodnie z oceną producenta. - Czwarty obszar to obszar, w którym dioda LED działa poza swoimi granicami działania, prawdopodobnie świeci bardzo jasno, ale niestety tylko przez krótki czas, zanim magiczny dym z wnętrza ucieknie i nie będzie działać ponownie……tj. w tym obszarze przepala się, ponieważ przepływa przez nią zbyt dużo prądu. Należy zauważyć, że krzywa If/Vf lub krzywa działania diody LED jest krzywą „nieliniową”. Oznacza to, że nie jest to linia prosta… ma zagięcie lub załamanie. Wreszcie ten schemat dotyczy typowej czerwonej diody LED o średnicy 5 mm zaprojektowanej do działania przy 20 mA. Różne diody LED różnych producentów mają różne krzywe działania. Na przykład na tym schemacie przy 20mA napięcie przewodzenia diody LED będzie wynosić około 1,9V. W przypadku niebieskiej diody LED 5 mm przy 20 mA napięcie przewodzenia może wynosić 3,4 V. W przypadku białej diody LED Luxeon o dużej mocy przy 350 mA napięcie przewodzenia może wynosić około 3,2 V. Niektóre pakiety diod LED mogą składać się z kilku diod LED połączonych szeregowo lub równolegle, zmieniając ponownie krzywą Vf/If. Zazwyczaj producent określa prąd roboczy, przy którym można bezpiecznie używać diody LED, oraz napięcie przewodzenia przy tym prądzie. Zwykle (ale nie zawsze) w arkuszu danych pojawia się wykres podobny do poniższego. Musisz spojrzeć na arkusz danych dla diody LED, aby określić, jakie jest napięcie przewodzenia przy różnych prądach roboczych. Dlaczego ten wykres jest tak ważny? Ponieważ pokazuje, że gdy napięcie jest na diodzie LED, prąd, który popłynie, będzie zgodny z wykresem. Obniż napięcie i popłynie mniej prądu….. a dioda LED będzie „wyłączona”. Jest to część teorii charlieplexingu, do której przejdziemy w następnym kroku.

Krok 2: Prawa (elektroniki)

Prawa (elektroniki)
Prawa (elektroniki)
Prawa (elektroniki)
Prawa (elektroniki)
Prawa (elektroniki)
Prawa (elektroniki)

Jeszcze nie doszliśmy do magii charlieplexingu….musimy przejść do podstaw praw elektroniki. Pierwsze prawo zainteresowania mówi, że całkowite napięcie w dowolnej serii połączonych elementów w obwodzie elektrycznym jest równe sumie jednostki napięcia na komponentach. Jest to pokazane na głównym schemacie poniżej. Jest to przydatne podczas korzystania z diod LED, ponieważ przeciętny pin wyjściowy akumulatora lub mikrokontrolera nigdy nie będzie dokładnie odpowiednim napięciem, aby uruchomić diodę LED z zalecanym prądem. Na przykład mikrokontroler będzie zwykle działał przy napięciu 5 V, a jego piny wyjściowe będą miały napięcie 5 V, gdy jest włączony. Jeśli po prostu podłączysz diodę LED do pinu wyjściowego mikro, zobaczysz z krzywej działania na poprzedniej stronie za dużo prądu popłynie w diodzie i będzie się nagrzewać i przepalać (prawdopodobnie uszkadza również mikro). Jeśli jednak wprowadzimy drugi element szeregowo z diodą LED, możemy odjąć część 5V, aby pozostawione napięcie było akurat właściwe, aby dioda LED działała z odpowiednim prądem roboczym. Jest to zwykle rezystor, a używany w ten sposób nazywany jest rezystorem ograniczającym prąd. Ta metoda jest stosowana bardzo powszechnie i prowadzi do tzw. „prawa omów”…. tak nazwane na cześć pana Ohma. Prawo Ohma wynika z równania V = I * R gdzie V jest napięciem, które pojawi się na rezystancji R, gdy prąd I przepływa przez rezystor. V jest w woltach, ja w amperach, a R w omach. Więc jeśli mamy 5 V do wydania i chcemy, aby dioda LED pracowała z napięciem 1,9 V, aby działała przy 20 mA, to chcemy, aby rezystor miał wartość 5,9 = 3,1 V w poprzek. Widzimy to na drugim schemacie. Ponieważ rezystor jest połączony szeregowo z diodą, przez rezystor popłynie ten sam prąd co diodę, czyli 20mA. Więc przestawiając równanie, możemy znaleźć opór, którego potrzebujemy, aby to zadziałało. V = I * RsoR = V / Ipodstawiając wartości w naszym przykładzie otrzymujemy: R = 3,1 / 0,02 = 155 omów(uwaga 20mA = 0,02Amps)Wciąż ze mną do tej pory… fajne. Teraz spójrz na diagram 3. Ma diodę LED umieszczoną między dwoma rezystorami. Zgodnie z pierwszym prawem wspomnianym powyżej, na drugim diagramie mamy taką samą sytuację. Mamy napięcie 1,9 V na diodzie LED, więc działa zgodnie ze specyfikacją. Mamy też każdy rezystor odejmujący 1,55V każdy (łącznie 3,1). Sumując napięcia razem mamy 5 V (pin mikrokontrolera) = 1,55 V (R1) + 1,9 V (LED) + 1,55 V (R2) i wszystko się równoważy. Korzystając z prawa omów, stwierdzamy, że rezystory muszą mieć 77,5 omów każdy, co stanowi połowę wartości obliczonej z drugiego diagramu. Oczywiście w praktyce ciężko byłoby znaleźć rezystor 77,5 omów, więc po prostu podstawiłbyś najbliższą dostępną wartość, powiedzmy 75 omów i skończyło się na nieco większym prądzie w dioda LED lub 82ohm, aby była bezpieczna i miała trochę mniej. Dlaczego na ziemi mielibyśmy robić ten rezystor, który napędza prostą diodę LED… cóż, jeśli masz jedną diodę LED, to wszystko jest trochę głupie, ale jest to instrukcja dotycząca charlieplexingu i przydaje się w następnym kroku.

Krok 3: Przedstawiamy „Dysk komplementarny”

Przedstawiamy „Dysk komplementarny”
Przedstawiamy „Dysk komplementarny”

Inną nazwą, która lepiej opisuje „charlieplexing” jest „popęd komplementarny”.

W przeciętnym mikrokontrolerze możesz w oprogramowaniu układowym nakazać mikroustawieniu pinu wyjściowego na „0” lub „1”, albo aby przedstawił napięcie 0V na wyjściu lub napięcie 5V na wyjściu. Poniższy schemat przedstawia teraz diodę „sandwich” z odwróconym partnerem… lub dopełniającą diodę LED, a więc napęd uzupełniający. W pierwszej połowie schematu mikro wyprowadza napięcie 5V na pin A i 0V na pin B. Prąd będzie więc płynął od A do B. Ponieważ dioda LED2 jest zorientowana wstecz do diody LED1, żaden prąd nie będzie przez nią przepływał i nie będzie blask. To się nazywa odwrotne stronniczość. Mamy odpowiednik sytuacji z poprzedniej strony. Możemy w zasadzie zignorować LED2. Strzałki pokazują aktualny przepływ. Dioda LED to w istocie dioda (stąd Light Emitting Diode). Dioda to urządzenie, które umożliwia przepływ prądu w jednym kierunku, ale nie w drugim. Pokazuje to schemat diody LED, prąd będzie płynął w kierunku strzałki……ale jest zablokowany w drugą stronę. Jeśli poinstruujemy mikro, aby teraz wyprowadził 5 V na pin B i 0 V na pin A, mamy odwrotnie. Teraz dioda LED1 jest spolaryzowana wstecznie, dioda LED2 jest spolaryzowana w kierunku przewodzenia i pozwoli na przepływ prądu. Dioda LED2 będzie się świecić, a dioda LED1 będzie ciemna. Teraz może być dobrym pomysłem przyjrzenie się schematom różnych projektów wymienionych we wstępie. Powinieneś zobaczyć całe mnóstwo tych komplementarnych par w macierzy. Oczywiście w poniższym przykładzie napędzamy dwie diody LED z dwoma pinami mikrokontrolera… można by powiedzieć, po co się męczyć. Cóż, w następnej sekcji dotrzemy do bebechów charlieplexingu i jak efektywnie wykorzystuje piny wyjściowe mikrokontrolera.

Krok 4: Wreszcie…. Macierz Charlieplex

Wreszcie…. Macierz Charlieplex
Wreszcie…. Macierz Charlieplex
Wreszcie…. Macierz Charlieplex
Wreszcie…. Macierz Charlieplex

Jak wspomniano we wstępie, charliplexing to poręczny sposób sterowania wieloma diodami LED za pomocą tylko kilku pinów w mikrokontrolerze. Jednak na poprzednich stronach tak naprawdę nie zaoszczędziliśmy żadnych pinów, napędzając dwie diody LED za pomocą dwóch pinów… Wielkie okrzyki!

Cóż, możemy rozszerzyć ideę napędu komplementarnego na macierz charlieplex. Poniższy schemat przedstawia minimalną matrycę charlieplex składającą się z trzech rezystorów i sześciu diod LED i wykorzystującą tylko trzy piny mikrokontrolera. Czy teraz widzisz, jak przydatna jest ta metoda? Jeśli chciałbyś sterować sześcioma diodami LED w normalny sposób… potrzebowałbyś sześciu pinów mikrokontrolera. W rzeczywistości za pomocą N pinów mikrokontrolera można potencjalnie sterować N * (N - 1) diodami LED. Dla 3 pinów jest to 3 * (3-1) = 3 * 2 = 6 diod LED. Sprawy szybko się układają dzięki większej liczbie pinezek. Za pomocą 6 pinów możesz sterować 6 * (6 - 1) = 6 * 5 = 30 diod LED….wow! Teraz do kawałka charlieplexinga. Spójrz na poniższy schemat. Mamy trzy komplementarne pary, jedną parę między każdą kombinacją mikropinów wyjściowych. Jedna para między A-B, jedna para między B-C i jedna para między A-C. Gdybyś odłączył pin C na razie mielibyśmy taką samą sytuację jak poprzednio. Przy 5V na pinie A i 0V na pinie B, dioda LED1 będzie świecić, dioda LED2 jest spolaryzowana wstecznie i nie przewodzi prądu. Przy 5V na pinie B i 0V na pinie A dioda LED2 będzie się świecić, a dioda LED1 jest spolaryzowana wstecznie. Dotyczy to pozostałych mikro-pinów. Jeśli odłączymy pin B i ustawimy pin A na 5V, a pin C na 0V to dioda LED5 będzie się świecić. Odwracając tak, że pin A ma 0 V, a pin C 5 V, dioda LED6 będzie się świecić. To samo dla pary komplementarnej między pinami B-C. Poczekaj, słyszę, jak mówisz. Przyjrzyjmy się bliżej drugiemu przypadkowi. Mamy 5V na pinie A i 0V na pinie C. Odłączyliśmy pin B (środkowy). OK, więc prąd płynie przez LED5, prąd nie płynie przez LED6, ponieważ jest odwrócony (podobnie jak LED2 i LED4)….ale jest też ścieżka, którą prąd pobiera z pinu A, przez LED1 i LED3 nie ma? Dlaczego te diody też się nie świecą. Oto sedno schematu charlieplexing. Rzeczywiście, prąd płynie zarówno przez LED1, jak i LED3, jednak napięcie na obu tych połączeniach będzie równe tylko napięciu na LED5. Zazwyczaj miałyby na nich połowę napięcia, które ma LED5. Więc jeśli mamy 1,9V na LED5, to tylko 0,95V na LED1 i 0,95V na LED3. Z krzywej If/Vf wspomnianej na początku tego artykułu widać, że prąd przy tej połowie napięcia jest znacznie niższy niż 20mA…..i te diody LED nie będą się żarzyć w widoczny sposób. Nazywa się to bieżącą kradzieżą. W ten sposób większość prądu popłynie przez wybraną przez nas diodę LED, najbardziej bezpośrednią ścieżką przez najmniejszą liczbę diod LED (tj. jedną diodę LED), a nie przez dowolną kombinację szeregową diod LED. Jeśli spojrzysz na przepływ prądu dla dowolnej kombinacji umieszczenia 5 V i 0 V na dowolnych dwóch pinach napędowych matrycy Charlieplex, zobaczysz to samo. Tylko jedna dioda LED będzie się świecić na raz. Jako ćwiczenie spójrz na pierwszą sytuację. 5 V na pinie A i 0 V na pinie B, odłącz pin C. LED1 to najkrótsza droga do poboru prądu, a dioda LED 1 będzie się świecić. Mały prąd przepłynie również przez diodę LED5, a następnie z powrotem diodę LED4 do styku B…..ale znowu te dwie diody LED połączone szeregowo nie będą w stanie wyprowadzić wystarczającego prądu w porównaniu do diody LED 1, aby świecić jasno. W ten sposób urzeczywistnia się moc charlieplexingu. Zobacz drugi schemat, który jest schematem mojego zegarka Microdot…..30 diod LED, tylko z 6 pinami. Mój zegar Minidot 2 to w zasadzie rozszerzona wersja Microdota… te same 30 diod LED ułożonych w tablicę. Aby utworzyć wzór w tablicy, każda dioda LED, która ma być oświetlona, jest na krótko włączana, a następnie mikro przechodzi do następnej. Jeśli ma się zaświecić, włącza się ponownie na krótki czas. Dzięki szybkiemu skanowaniu przez diody LED zasada zwana „trwałością widzenia” pozwoli szeregowi diod LED na pokazanie statycznego wzoru. Artykuł Minidot 2 zawiera wyjaśnienie tej zasady. Ale poczekaj….. Wygląda na to, że trochę przesłoniłem w powyższym opisie. Co to za biznes „odłącz pin B”, „odłącz pin C”. Proszę o następną sekcję.

Krok 5: Trójstany (nie trójkołowe)

Trójstany (nie trójkołowe)
Trójstany (nie trójkołowe)
Trójstany (nie trójkołowe)
Trójstany (nie trójkołowe)

W poprzednim kroku wspomnieliśmy, że mikrokontroler można zaprogramować na wyjście napięcia 5V lub 0V. Aby matryca charlieplex działała, wybieramy dwa piny w matrycy i odłączamy wszelkie inne piny.

Oczywiście ręczne odłączenie pinów jest trochę trudne do wykonania, szczególnie jeśli skanujemy rzeczy bardzo szybko, aby wykorzystać efekt trwałości efektu widzenia do pokazania wzoru. Jednak piny wyjściowe mikrokontrolera mogą być również zaprogramowane jako piny wejściowe. Kiedy mikropin jest zaprogramowany jako wejście, przechodzi w stan zwany „wysokiej impedancji” lub „trójstanowy”. Oznacza to, że ma bardzo wysoką rezystancję (rzędu megaomów lub milionów omów) w stosunku do szpilki. Jeśli występuje bardzo wysoka rezystancja (patrz schemat), możemy zasadniczo uznać, że pin jest odłączony, i tak działa schemat Charliplex. Drugi schemat pokazuje piny matrycy dla każdej kombinacji możliwej do podświetlenia każdej z 6 diod LED w naszym przykładzie. Zazwyczaj trójstanowy jest oznaczony przez „X”, 5 V jest pokazane jako „1” (dla logicznego 1), a 0 V jako „0”. W mikrofirmie dla "0" lub "1" programujesz piny jako wyjście, a jego stan jest dobrze zdefiniowany. W przypadku trójstanu programujesz go jako wejście, a ponieważ jest to wejście, tak naprawdę nie wiemy, jaki może być stan… stąd „X” dla nieznanego. Chociaż możemy przydzielić pin jako trójstanowy lub wejście, nie musimy go czytać. Po prostu wykorzystujemy fakt, że pin wejściowy w mikrokontrolerze ma wysoką impedancję.

Krok 6: Kilka praktycznych spraw

Magia charlieplexingu opiera się na fakcie, że indywidualne napięcie prezentowane na wielu diodach LED połączonych szeregowo zawsze będzie mniejsze niż na pojedynczej diodzie LED, gdy pojedyncza dioda LED jest równoległa do kombinacji szeregowej. Jeśli napięcie jest mniejsze, to prąd jest mniejszy i miejmy nadzieję, że prąd w połączeniu szeregowym będzie tak niski, że dioda LED nie będzie świecić. Jednak nie zawsze tak jest. Powiedzmy, że masz dwie czerwone diody LED z typowym napięcie przewodzenia 1,9 V w matrycy i niebieska dioda LED z napięciem przewodzenia 3,5 V (powiedzmy LED1=czerwony, LED3=czerwony, LED5=niebieski w naszym przykładzie z 6 diodami LED). Jeśli zapalisz niebieską diodę LED, otrzymasz 3,5/2 = 1,75 V dla każdej czerwonej diody LED. Może to być bardzo blisko przyciemnionego obszaru działania diody LED. Może się okazać, że czerwone diody LED będą świecić słabo, gdy świeci się kolor niebieski. Dlatego dobrym pomysłem jest upewnienie się, że napięcie przewodzenia dowolnych diod LED o różnych kolorach w matrycy jest mniej więcej takie samo przy prądzie roboczym, lub też użyj tego samego koloru Diody LED w matrycy. W moich projektach Microdot/Minidot nie musiałem się tym martwić, użyłem wysokowydajnych niebiesko-zielonych diod SMD, które na szczęście mają prawie takie samo napięcie przewodzenia jak czerwone/żółte. Gdybym jednak zaimplementował to samo z diodami LED 5mm, wynik byłby bardziej problematyczny. W tym przypadku zaimplementowałbym osobno niebiesko-zieloną matrycę charlieplex i czerwono-żółtą matrycę. Musiałbym użyć więcej pinów….ale proszę bardzo. Innym problemem jest przyjrzenie się twojemu obecnemu pobieraniu z mikro i jak jasno chcesz mieć diodę LED. Jeśli masz dużą matrycę i szybko ją skanujesz, każda dioda świeci tylko przez krótki czas. Będzie to wyglądało stosunkowo słabo w porównaniu do statycznego wyświetlacza. Możesz oszukać, zwiększając prąd przez diodę LED, zmniejszając rezystory ograniczające prąd, ale tylko do pewnego punktu. Jeśli zbyt długo będziesz pobierał zbyt dużo prądu z mikro, uszkodzisz piny wyjściowe. Jeśli masz wolno poruszającą się matrycę, powiedzmy wyświetlacz stanu lub cyklon, możesz utrzymać prąd na bezpiecznym poziomie, ale nadal mieć jasny wyświetlacz LED, ponieważ każda dioda LED świeci przez dłuższy czas, prawdopodobnie statycznie (w przypadku wskaźnik stanu). Niektóre zalety charlieplexingu: - używa tylko kilku pinów na mikrokontrolerze do sterowania wieloma diodami LED - zmniejsza liczbę komponentów, ponieważ nie potrzebujesz wielu chipów / rezystorów sterowników itp. Niektóre wady: - twoje mikro oprogramowanie będzie musiało obsługiwać ustawienia zarówno stan napięcia, jak i stan wejść/wyjść pinów - trzeba uważać na mieszanie różnych kolorów - układ PCB jest trudny, ponieważ matryca LED jest bardziej złożona.

Krok 7: Referencje

W sieci jest wiele odniesień do charlieplexingu. Oprócz linków na początku artykułu, niektóre z nich to: Oryginalny artykuł Maxima, który ma wiele do powiedzenia na temat obsługi wyświetlaczy 7-segmentowych, co jest również możliwe. https://www.maxim-ic.com/appnotes.cfm/appnote_number/1880Wpis wikihttps://en.wikipedia.org/wiki/Charlieplexing

Zalecana: