Stap 2: Start de code hacken...
De code bedoeld arduino code, omzetten in een werkblad wijzigen
scheiding van specifieke gegevens uit, manipuleren van tabellen, vervolgens samenstellen dingen terug, en terug in een teksteditor plakken. Als u wilt opvullen met voorloopnullen om te houden van de kolommen in een rij, moet u formatteren van sommige kolommen voor het gebruik van voorloopnullen, dan later hebt uit te wisselen die nullen voor ruimten of de compiler zal piepen op je. Je moet ook wel voorzichtig met het plakken van gegevens in het werkblad. Soms moet u om ervoor te zorgen dat u alleen de gegevens, niet de formule of koppeling plakken. Andere tijden die u moet voorzichtig zijn om te kopiëren van de relaties van een rij-, kolom- of matrix. Uiteindelijk heb ik verschillende processen en geselecteerde werkblad werkbladen voor alle gegevens. Ik had 8 kaarten van gegevens (4 voor gemeenschappelijke kathode, en 4 voor gemeenschappelijke anode) nodig. Ik zal waarschijnlijk uiteindelijk veranderen in 2 kaarten, en een lijn aan te passen de startende z-value(z=z+1,2,3), en een andere voor de remming van de overloop probleem (meer dan 192 dan z = z-192).
Er zijn verschillende bestanden die bevatten verschillende stukjes code die maken deze LED kubus werken, en er zijn een paar tabellen met informatie die u bewerken kan als u wilt wijzigen hoe het werkt. Het bestand cubeplex.h bevat de tabel van flushbuffer, die is wat ik ervoor gekozen om te wijzigen.
Hier zijn een paar lijnen van de steekproef van de flush buffer.
Als (_cube_buffer [0]! = 0) flushElement (copy_frame, 4, 8, _cube_buffer [0]);
Als (_cube_buffer [1]! = 0) flushElement (copy_frame, 16, 4, _cube_buffer [1]);
Als (_cube_buffer [2]! = 0) flushElement (copy_frame, 12, 16, _cube_buffer [2]);
Als (_cube_buffer [3]! = 0) flushElement (copy_frame, 8,12, _cube_buffer [3]);
Hier ziet u elke regel serienummer aan beide uiteinden, maar in het midden van de lijn, zijn er een paar nummers die uniek voor elke regel zijn. U kan ook opmerken dat er spaties opvulling van de aantallen, zodat dingen line-up mooi, dit is belangrijk wanneer u de gegevens later manipuleert.
Deze tabel van code stelt een relatie tussen paren van getal, en de reeks aan het licht van de LED. De getallen in de paren vertegenwoordigen de pennen van de microcontroller, maar later krijgen vertaald naar adressen voor poort voor snelle verlichting.
Elke LED kan gecontroleerd worden in deze tabel en geen cijfercombinaties zal worden herhaald. De volgorde moet blijven hetzelfde, maar het aantal paren die microcontroller pinnen vertegenwoordigen moet worden herschikt om te werken met gemeenschappelijke anode LEDs met het origineel (gemeenschappelijk anode) code en de bedrading. Ik gebruik normaal een tekst-editor voor het schrijven van programma's, maar in dit geval een teksteditor niet zou werken heel goed voor het manipuleren van de gegevens. Daar was ik omgaan met een tabel van getallen, 2 kolommen door 192 rijen, een werkblad lijken het meest geschikt.
Dit is niet de eerste keer dat ik dit heb gedaan, dit is de tweede keer dat ik dit heb gedaan, was het een beetje gemakkelijker deze keer. De andere keer dat ik dit deed was om 4 tabel om te compenseren voor hoe de kubus is gericht met de bedrading van de kubus te maken. Afhankelijk van hoe u verbinding maakt met de draden, er zijn 4 gemeenschappelijke manieren om het te doen, elke tabel werkt met elk van de 4 manieren die u dat die draden instellen kunt.
Om een gemeenschappelijk anode kubus werken met de gemeenschappelijke kathode software, u zou natuurlijk veronderstellen dat omkeren van de pinnen zou doen precies wat je wilt, maar als je hoe complex grote aantallen charlieplexed LED schema kijken kijkt, u veronderstellen zou dat omkeren de pinnen kan niet het juiste ding helemaal.
Wanneer u een onderzoeken de de LED torenspitsen, u vinden dat het gebruikt 4 pinnen te licht 12 LEDs, dit is ideaal in dat elke mogelijke combinatie van manieren om tot een positieve singe, en een enkele negatieve lood, haak zal resulteren in een LED verlicht wordt. De formule voor de berekening van hoeveel LEDs verlicht kan worden vanaf een bepaald aantal pennen van de microcontroller, is N kwadraat min N of N keer (N-1). Een enkele spits heeft 4 leidt, zodat het maximum het kan controleren 12 LEDs is (4 x 4 = 16, 16-4 = 12, of 4 keer 3 = 12. 4 RGB LED's betekent een totaal van 12 LEDs. De kubus is minder dan ideaal, in 16 pins gebruikt om te bepalen van 192 LEDs, nog het max aantal LEDs moeten een 240, als ze in een mode idee waren wired.
Wanneer u de code bekijkt, ziet u dat elke 4 lijnen is een groep, omdat deze microcontroller 4-pins een enkele spits controleren.
Nu laat kijken naar hoe om te gaan over het manipuleren van de gegevens met een spreadsheet en een teksteditor, om de gewenste resultaten te krijgen.