Stap 2: De Code - Project CYZ_RGB (Nee, ik weet niet wat het betekent ofwel)
Als u hoofd over aan de CYZ_RGB google codepagina, kun je om de firmware te downloaden uit het project. Er zijn twee verschillende configuraties, Master en Slave, ik ben niet zelfs zeker als Master werkt, of wat het doet, ik gebruik de slave-builds die prima voor mijn behoeften, met één uitzondering zijn!
Ik denk dat het wordt aangenomen dat zal u CYZ_RGB op de officiële BlinkM hardware, of sommige soort van kloon van het direct, en dus de code is geschreven ter ondersteuning van gemeenschappelijke kathode RGB LED's (van welke BlinkM gebruik). Ik heb een overschot van gemeenschappelijke Anode RGB LED's, dus ik had een kleine verandering aanbrengen in de code om dit te ondersteunen.
Als u de zorg: in het cyz/io.h bestand, waar de bits zijn ingesteld op, of uitschakelen specifieke poorten, heb ik geruild de bits toewijzing. Wanneer een kleur op in de code komt, gaat de pin laag, zodat het huidige van de gemeenschappelijke anode zinken kan.
Ik heb mijn gemeenschappelijke anode Hex bestand hieronder, ook in het geval dat het nuttig is. Buiten de verandering hierboven is het identiek aan de laatste build van de slave-config op de google-codetabel.
Nu heb je het hexadecimaal bestand die u gaat branden op uw uC, dus laten we praten over programmeurs en programmering. Er zijn vele grote instructables over het onderwerp, maar mijn favoriet en degene die kreeg me begon met de AVR is dit één, The Ghetto-ontwikkelomgeving. Ik gebruik de zelfde programmeur, de USBtinyISP van Adafruit, en het is geweldig. Ik begon met een huisgemaakte targetbord (wieg) maar heb nu een tiny25/45/85 programmeur bestuur van TinkerStore, die gewoon uit awesome bestaat gekocht. U zou fijn met een zelfgemaakte houder, of gewoon programmering in een breadboard.
Volg de instructies op de getto-ontwikkelomgeving voor het laden van de code op de chips, maar merk op dat u gebruik van een ATtiny45, maakt zodat uw avrdude-opdracht moet weerspiegelen dat deel (t45). Natuurlijk, is u ook opgeven voor de naam van de CYZ_RGB hexadecimaal bestand die u ook gebruikt.
Ook moet u rekening houden met zekeringen. Dit zijn de instellingen in de chips die wijzigen hoe ze zich gedragen. Ik gebruik een stuk (windows) software genaamd Burn-O-Mat ' set van AVR8 te controleren van mijn instellingen van de fuse (u kunt ook gebruiken als een GUI voor avrdude). Het lijkt erop dat uit de fabriek, van mijn Tiny45 hebben de "Klok verdelen door Eight" zekering al ingesteld, dit moet worden met unset voor de chip te lopen snel genoeg voor soepele verdwijnt. Een chip mij watertje using had ook de mogelijkheid voor het opslaan van gegevens in EEPROM uitgeschakeld, dus ik moest die zekering te in-/ uitschakelen (u waarschijnlijk zal niet nodig om dat te doen)
U hebt nu de GDE instructable, de volgende regel gelezen...
avrdude - c usbtiny -p t45-U flash:w:cyzrgb_slave_CA.hex
... je moet niet buitenissig uit. Bent u een echte keenie, u hebt waarschijnlijk al klaar gedaan, als dat niet het geval is, ga je gang en nu uw chip program.
Ervan uitgaande dat er staan geen fouten in de uitvoer, moet u goed om te gaan.
Terwijl we in de programmering stemming, moet u uw Arduino grijpen zoals we got 've te laden van een schets op dat ook. De Arduino gaat worden gebruikt om de Pixels van het getto, en vormt een brug tussen hen en uw computer. Om mee te beginnen, we kunnen de schets BlinkM communicator gebruiken voor het testen, maar in tijd zult u waarschijnlijk willen schrijven uw eigen meer geschikt is voor uw toepassing. De schets BlinkM communicator is hier, en je moet het laden op je Arduino nu. Terwijl u op de site van BlinkM, downloaden de multitrack sequencer, moet u die voor het te testen.
Met uw vers geprogrammeerde Chip en je Arduino aan uw zijde is het tijd om het te krijgen op met Das Blinkenlights!...