LEDDE matrisen med Game Controller - en första Project (1 / 7 steg)
Steg 1: Multiplexing grunderna
Lysdioderna är ordnade i en rektangel. Anoderna är lödda ihop i en riktning och katoder är lödda ihop vinkelrätt mot anoderna. När alla katoder är hög och anoder är låg en negativ spänning appliceras till varje LED, och om spänningen är låg tillräckligt (se "att välja lysdioder" i avsnittet komponenter), det kommer inte uppdelning. Om du vill aktivera en särskild LED, vända sin katod linje låg och anoden hög. Till exempel om du vill aktivera LED (4,2) i diagrammet, skulle du ställa segB till hög och Dig4 låga.
Installationen använder POV (Persistence of Vision) rita en bild på matrisen. Varje LED som krävs för att rita bilden sätts på en i taget, och loopas mycket snabbt, vilket ger en illusion av att alla lysdioder är på samtidigt (se programmering avsnitt).
I detta projekt, jag använde den Arduino Mega 2560, och tilldelats katoder och anoder 16 16 utgångar. Jag använde den högspänning-utgången (5V) som strömkällan. Detta gjordes för enkelhet i ett första projekt. Dock om du kan, bör du undvika att använda en digital signal som kraftkälla. Det finns några skäl för detta. Digitala utgångar är signaler, och är inte utformad för att ge mycket ström. Du kan bryta den per rad eller övergripande nuvarande gräns på din mikrokontroller (40mA per rad leverans/handfat för Atmega) om din krets drar mycket ström. Också, de digitala utgångarna till Arduino och praktiskt taget varje kartong är direkt anslutna till mikrokontroller utan säkring. Detta gör mikrokontroller sårbara för fel i dina ledningar. En enkel kortslutning, exempelvis kan potentiellt göra stiften eller mikrokontroller oanvändbart. Dock bör den huvudsäkring som gränser övergripande nuvarande dra förhindra detta.
Den idealiska lösningen är att använda de digitala utgångarna för att slå på/av en transistor på varje rad, och använda en extern strömkälla till driva kretsen. Detta ökar ledningar komplexitet, och du behöver naturligtvis en extern strömkälla för detta. Om du bygger detta som praxis innan du bygga mer komplexa projekt som en kub, bör du överväga att gå sträckan transistor. Om du gör detta som ett litet projekt, din lysdioder kommer inte vara för stor eller om du är begränsas på tid / kostnad, då kan du hoppa över med transistorer.
Om du använder en extern strömkälla, kan du överväga att använda SKIFT register och funktionen shift_out till öka antalen av din utgångsstift. Detta ökar elkablar och programmering komplexitet, även om det är nästan omöjligt att konstruera projekt som behöver kontrollera av ett stort antal lysdioder, som en kub, utan den.