Stap 17: Beschrijving van de werking van het circuit.
De 8 x 8 LED matrix beeldscherm zijn (geloof het of niet) verbonden in een matrix. Dit betekent dat u niet alleen 2 aansluitingen voor elk geleid (van welke er zijn 64 LED's) in plaats daarvan, de LED's zijn aangesloten op zodanige wijze dat we elke LED in de matrix oplichten kan en om dit te doen, we alleen moet 16 verbindingen (in plaats van 128 doet het individueel)
Ziet u de afbeelding aan de linkerkant heeft 64 LED is aangesloten in een 8 x 8 LED matrix. Er zijn 8 kolommen waar de kathoden allemaal met elkaar zijn verbonden en ook 8 rijen waar de anoden allemaal met elkaar zijn verbonden. De afbeelding aan de rechterkant zal worden gebruikt om aan te tonen hoe we de matrix te doen wat wij willen.
(Zie foto 1)Laten we beginnen uit mooi en simpel. Wat als we wilden gewoon de top juiste LED inschakelen. Nou. We zouden moeten de juiste meeste kathode gemalen en sluit vervolgens de bovenste Anode aan onze voeding (+ 5v) door middel van een weerstand, net als deze volgende afbeelding:
(ZIE FOTO 2)U kunt ook verondersteld hebben dat als we aansluiten + 5v aan de bovenste rij van anoden dan elke anode de boven hebben zal + 5v aangesloten. De reden dat alleen de top juiste LED ingeschakeld is omdat we alleen aangesloten grond rechts meeste kolom van kathoden hebben. Wij moeten de combinatie van + 5v en gemalen om het circuit om te schakelen naar welke LED of LED's, dat wij willen.
Hoe zit het als we wilden voor zwenking op een gehele kolom van LED's? Wij zullen u zou verbinding maken met je matrix als volgt:
(Zie foto 3)
Of misschien wilt u een hele rij inschakelen?
(Zie foto 4)Ik zal het gebruiken van dit volgende circuit om dingen te verklaren een beetje verder.
(ZIE FOTO 5)Wij gebruiken om ons te helpen met het scannen van het display, een 7442 1 van 10 decoder.
(Zie foto 6)De 7442 is een 16 pin chip, natuurlijk heeft een + 5v aansluiting en grond om het de nodige energie. Het heeft ook vier ingangen namelijk A, B, C en D. ten slotte, heeft 10 uitgangen - 0, 1, 2, 3, 4, 5, 6, 7, 8 en 9. Het is nogal een simpele chip om mee te werken. De uitgangen hangt af van welke combinatie van 1's en 0's zijn op de "inputs". Alle uitgangen van deze chip zal worden een hoog met uitzondering van een logica. Dat zal afhangen van de ingang. Hier is een grafiek met u wat de output zal worden voor alle combinaties van ingangen
(Zie foto 7)
met een blik op de 7442 output, kunnen we een van de uitgangen laag (of vrij veel het verbinden met grond) door het geven van een bepaalde combinatie op de input. Als we uitvoer 0 wilden laag we dan 0000 zou invoeren of als we uitgang 6 wilden laag dan zouden wij input 0110 enz...
Wij eisen slechts 8 (van de 10) uitgangen van deze chip daarvoor gebruiken we deze 8 combinaties op de input:
000
001
010
011
100
101
110
111
Dit betekent dat we niet gebruiken van de vierde input lijn (D moeten), dus dat is waarom ik heb het aangesloten rechtstreeks op de grond en alleen de eerste drie ingangen (A, B en C) zijn aangesloten op de microcontroller, zodat we ze kunnen controleren. Dit betekent dus dat wij om het even wie van deze acht combinaties hebben op de "inputs zal":
0000
0001
0010
0011
0100
0101
0110
0111
Dus hopelijk ziet u dat met behulp van deze chip, wij kunnen 'Activeren' één kolom van kathoden tegelijk door het aansluiten van één kolom tegelijk op grond (logic 0) en doen dit is alleen vereist 3 I/O lijnen van de microcontroller - overwegende dat zonder de 7442, we 8 I/O lijnen moeten zouden, en we alleen zeven hebben te sparen (omdat PORTB wordt gebruikt voor de anoden en PORTA pin 5 mag niet een vermogen)
Dus nu werken we aan het opstellen van een beeld op het scherm. Hier is wat wij willen:
(Zie foto 8)
Nu u kan heel goed worden vragen "dat is een mooi plaatje, maar hoe we een tekening met al die LED is verlicht tegelijk als we alleen '' één kolom tegelijk activeert kunnen?"
We'll ik ben blij dat u vroeg die vraag! Er is een beetje van een truc om het.
Wat je ziet op de 8 x 8-matrix is een gezicht. MAAR niet alle kolommen staan op hetzelfde moment - infact slechts één kolom wordt getekend op een bepaald moment maar wij 'scannen' door de kolommen zo snel, dat voor het menselijk oog het net ziet als een constante afbeelding eruit.
Als we vertragen hoe snel wij via de display zouden scannen, zou je zoiets als de volgende foto zien.
(Zie foto 9)
U zult merken dat we activeren van een kolom, dan acht bits van gegevens plaats op de gegevensbus en dat gegevens op slechts één kolom wordt weergegeven. We verplaatsen naar de volgende kolom in lijn en vervolgens een verschillende acht bits van gegevens plaats op de gegevensbus voor die kolom. We Blijf dit doen totdat we aan het einde krijgen. Dat is een compleet frame.
Mochten wij om dit te doen een stuk sneller zou dan onze hersenen zien dit als één constante afbeelding. Vergelijkbaar met de werking van uw TV of een beeldscherm.
Ik hoop dat deze discription helpt!