Charlieplexing 7 segment visar (4 / 5 steg)
Steg 4: Charlieplexed visar
Om vi istället använder Charlieplexing tekniken kan vi minska antalet anslutning till bara 9, detta oavsett om vi har 2, 3, 4, 5, 6, 7 eller till och med 8 visar.
Nackdelen med att använda Charlieplexing är att anslutningarna till displayerna är lite mer komplex och den programvara som kommer att skanna varje bildskärm taget också kommer att bli något mer komplex. Men hey! Om du kan spara 7 utgångsstift på mikrokontroller tror jag ett par fler rader kod är ett billigt pris. Som ni kan se i programvara steg i detta instructable skanningsprogramvaran är inte riktigt så komplicerat och kan enkelt implementeras i ditt språk val.
Hårdvaran är egentlig den samma som i standard multiplex exempel endast en del av anslutningarna ändras.
Den stora förändringen är att en ytterligare linje för segmenten har lagts. På den första visningen den nya linjen är ansluten till A-segmentet, på andra Visa segmentet B och så vidare. Alla andra segment är anslutna som vanligt. Alla A's tillsammans, alla B tillsammans (med undantag av tidigare nämnda specialerbjudanden)...
Transistor för första displayen kopplas sedan till den raden där A-segmentet borde ha varit. Transistorn för andra bildskärmen är ansluten till linjen där B-segmentet borde ha varit och så vidare.
Till adressen på bildskärmarna nu processorn har först ut ett högt värde på raden som dess transistorn är ansluten till, sedan utgång ett lågt värde på raderna som är anslutna till de segment som ska tändas och koppla bort (hög impedans) raderna för de segment som ska vara avstängd.
Den sista delen är det viktigaste här, eftersom om processorn skulle utgång en hög nivå för de segment som ska vara avstängd transistorerna ansluten till dessa segment skulle också aktiveras och orsaka några andra visar aktiveras samtidigt. Och det är inte bra. Multiplexering alltid bygger på att endast en skärm i taget är aktiverad. En efter en på ett snabbt sätt så hjärnan/ögonen blir lurade och tror att de är alla på samtidigt.
Eftersom varje bildskärm är ansluten i ett något annorlunda sätt än de andra måste skanningsprogramvaran hantera det genom speciell kod för varje bildskärm.