Wat mogelijk is om elke led een pinnetje te geven, en te voorkomen dat je moet gaan multiplexen, is een FPGA/CPLD gebruiken om de aansturing van de LEDs te doen, dat is enorm flexibel en volledig aan te passen, maar wel heel wat werk.
Met een willekeurige µC ga je dan de lichtpatronen uitrekenen, en die schuif je dan de de FPGA/CPLD in (gewoon de dimwaarde voor elke led kan doorgeven en de CPLD/FPGA handelt alle dimming en aansturing af).
De meer gebruikte manier is multiplexing, daarbij splits je de leds op in een aantal rijen en kolommen (ene pootje hangt voor de rijen samen, andere pootje voor de kolommen). De rijen en kolommen stuur je aan via een schuifregister en een darlington (om de stroom te kunnen leveren), dat bestaat ook in 1 chipje (bijvoorbeeld de TPIC6C595). Als voor een led zowel zijn rij als zijn kolom worden aangestuurd (ene naar + en andere naar massa) zal de led oplichten, truuk is dan dat je een na een de kolommen aanstuurt, terwijl je op de rijen de '1'en en '0'en op het juiste moment uitstuurt.
Standaard schuifregistertje gaat gemakkelijk tot 1MHz, je moet je leds aan 100Hz laten dimmen om geen hinderlijke flikkering meer te zien, dus je schuifregister zal wel snel genoeg zijn, de bottleneck zal meer in de µC zitten, is die in staat om snel genoeg alle data aan te leveren.
[
Voor 17% gewijzigd door
naftebakje op 28-07-2008 15:53
]
Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.