Stap 4: Ontwerpen van de stuurprogramma 's
We zullen hier worden bespreken hoe hardware helpt ons de bovenstaande problemen oplossen en bespreken we de software truc een beetje later.
Dus weet ik dat mijn LED Etch-a-schets vier 8 x 8 LED matrices vergt. Dat betekent dat ik heb 256 LEDs die moeten afzonderlijk worden aangepakt. Dat is vrij een beetje. Dus hoe te doen we het? Goed eerst we begrijpen hoe de matrix LED werkt. De bijzondere matrix die ik gebruikte heet een gemeenschappelijke kathode LED matrix. Kan zij doen begrijpen wat dit betekent als ik een beetje aan de naam toevoegen. Laat noemen het een common Kathode rij LED. Dus nu we weten dat alle van de kathoden in elke rij op dezelfde lijn (Zie de eerste afbeelding). Dit laat ons toe om te bepalen een honkslag O.L.V. gewoon leveren een positieve spanning naar de kolom en tot de rij die correspondeert met de LED die wij willen verlicht. Voorbeeld willen we de LED licht op (4,4) wij zou grond van toepassing op rij 4- en een positieve spanning naar kolom 4 zoals gezien in het tweede beeld. Uit dit weten wij dat wij moeten zo controle over alle lijnen van de kolom. Maar hoe zit het met de rij-regels? Als we gewoon al deze op grond gebonden dan zou wij nooit kunnen hebben verschillende LEDs verlicht op elke rij. Dit vertelt ons dat we ook moeten controleren van de regels van de rij.
We kijken het gehele 16 x 16 display als een 8 x 32 vertoning als dat is hoe het zal worden bekabeld. U kunt dit zien in de derde afbeelding hierboven. Een weergave van dit type die zullen we moeten bepalen 32 lijnen voor de kolommen en 8 voor de rijen te bepalen. Controle van de rij is geen probleem; We hebben acht pinnen op de uC voor ons beschikbaar. Het enige ding om bezorgd te zijn over is hoe de huidige zinken zonder beschadiging van de uC. Ik zal het adres van die in een seconde. Maar eerst laten we erachter te komen hoe we gaan controleren 32 lijnen als we duidelijk niet 32 uC pinnen beschikbaar hebben.
De truc is het gebruik van het handige 74HC595 seriële-in parallel-out 8-bit shift register, of, zoals ik naar het vanaf nu, de 595 verwijzen zal. Deze IC laat ons toe om serieel Stuur een byte van de gegevens worden opgeslagen in het register en toen gesignaleerd dat de gegevens in parallel (tegelijkertijd) op de pennen verschijnen. Het staat ook voor meerdere 595s worden trapsgewijze of verbonden samen om een groter dan 8 bits invoer te accepteren. Ik ga niet voor het verzenden van tijd over de theorie achter dit apparaat, want er zijn vele middelen beschikbaar online die zal doen. Maar op dit punt ben ik zeker dat je kunt raden waar we naartoe gaan met dit. Als we vier van deze 595s samen trapsgewijs kunt we serieel alle 32 kolom lijnen met slechts een paar uC pinnen.
Snel laten we terug naar de rijen. Zoals hierboven vermeld moeten we oppassen niet te sturen van alle de stroom door de uC aan de grond zodat we gebruik van een ULN2803 bij elke matrix maken zullen. Hierdoor kunnen we bepalen de regels van de rij en tegelijkertijd het zinken van de huidige.
We praten over hoe deze ICs wordt gebruikt in combinatie met de software met succes controle de de LED-matrices. Maar eerst laten we alles goed bekabeld.