Stap 4: Opbouw van het - programma van de MCU ATtiny13 en geef het een testlooppas.
Zonder deze specifieke intructable uit verhoudingen te blazen, het volstaat te zeggen dat u niet-vrije software niet nodig en dan een Arduino board, hoeft u niet veel extra hardware of - wat draadjes en misschien een extra 8-pins IC socket of gewoon een solderless breadboard te monteren de ATtiny13 u programmeert. Het uiteindelijke doel is om ervoor te zorgen dat ATtiny13 is een van de platen die in de Arduino IDE komen wanneer u Tools opent -> Raad van bestuur (zie afbeelding hieronder) voordat de schets met het programma te compileren (zie onderstaande ZIP-bestand). Vervolgens uploaden u het gecompileerde binaire bestand naar ATtiny met behulp van hetzij een Arduino board als een programmeur of een gespecialiseerde AVR-programmer als je er een hebt.
Ik heb geprobeerd te markeren de Arduino schets met zo veel commentaar mogelijk voor uw bewerken plezier :) De werkelijke boodschap is recorder in dit deel van de code:
PROGMEM byte kolom [17] = {}
33, / /--X---X / / 0
63, / /--XXXXXX / / 1
33, / /--X---X / / 2
0, // -------- // 3
24, / /---XX---/ / 4
60, / /--XXXX--/ / 5
30, / /---XXXX-/ / 6
15, / /---XXXX / / 7
30, / /---XXXX-/ / 8
60, / /--XXXX--/ / 9
24, / /---XX---/ / 10
0, // -------- // 11
62, / /--XXXXX-/ / 12
1, // -------X // 13
1, // -------X // 14
62, / /--XXXXX-/ / 15
0 // -------- // 16};
Helaas, ik ben niet zeker hoe te slaan de juiste opmaak op Instructables pagina bewerkgereedschap, maar als je naar het stukje code met behulp van een monospace lettertype kijkt, zou je onmiddellijk herkennen de vorm van de symbolen in het commentaar uit delen van de lijnen. De werkelijke kolom is gecodeerd met integer vertegenwoordiging van de binaire versie naar de rechts wanneer "-" is eigenlijk van "0" en "X" op de "1". Ik hoop dat het zinvol en u hoeft niet veel moeite omzetten in "Ik hart U" "Ik hart bier" voor de aankomende St. Patty's festiviteiten. Genieten op een verantwoorde manier en zorg ervoor dat de hoeveelheid gescande kolommen vergroten aangezien "BEER" nogal een beetje langer dan "U", natuurlijk is :)
Anyway, ik hoop dat u gratie mijn chickening uit het creëren van een instructable binnen de instructable over het instellen van de Arduino IDE en verwijzen naar de blog post in plaats daarvan en op dit punt op tijd u de software hebt gebrand in de ATtiny13 chip.
Steek de ATtiny13 in de IC-aansluiting u hebt voorbereid op de vorige stap, dan de batterij en schud de aansluiting meerdere malen te sluiten de bal tilt schakelaar. De LED's begint te knipperen in een soort van willekeurige mode, wat natuurlijk alleen willekeurige totdat u start met het verplaatsen van de LED's in de ruimte waardoor het mechanische scannen van de kolommen.
Een kleine opmerking over het oplossen van problemen die eventueel in dit stadium: Hoewel de ontwikkeling van dit project, heb ik een paar bedrading ongelukken. Charlieplexing wordt meestal geassocieerd met gecompliceerde bedrading en dingen kunnen krijgen ontstoken rond per ongeluk. Ik heb een kleine schets (die ik kan niet vinden nu, overigens) waarvan de LEDs niet in de pseudo-willekeurige was verlichting
maar in zeer ordelijke manier van 1 tot 6 en terug, gewoon om te zien dat ik heb de volgorde van de LEDs recht. Het is gewoon hetzelfde deel van de code u zou wijzigen om het bericht te wijzigen en 1,2,4,8,16 en 32 voor de codes van de LED patten gebruikt aan het licht slechts een LED per kolom gewijzigd. Als het niet zinvol bij het lezen van dit, het schrijven van deze gehele getallen in binaire vorm en u ziet meteen. "0" - LED UIT, "1" - LED OP.