Ghetto pixlar - bygga en öppen källkod BlinkM (2 / 5 steg)
Steg 2: Koden - projektet CYZ_RGB (nej, jag vet inte vad det betyder antingen)
Om du huvudet över till CYZ_RGB google kod sida, ska du ladda ner firmware från projektet. Det finns två olika konfigurationer, Master och slav, jag är inte ens säker på om Master fungerar, eller vad den gör, jag använder den slav bygger som är bra för mina behov, med ett undantag!
Jag tror att det förutsätts att du kommer att köra CYZ_RGB på officiella BlinkM hårdvara, eller vissa slags direkt klon av det och därför koden skrivs att stödja gemensamma katod RGB lysdioder (vilka BlinkM användning). Jag har ett överskott på gemensam anod RGB lysdioder, så jag var tvungen att göra en liten ändring av koden att stödja detta.
Om du bryr dig: i filen cyz/io.h, där bitarna anges att aktivera eller inaktivera specifika portar, har jag bytte bit tilldelningen. När en färg kommer på i koden, går pinnen låg, så att det kan sjunka nuvarande från gemensamma anoden.
Jag har tagit min vanliga anod Hex filen nedan, om den är användbar. Inte den är över är det identisk med den senast bygga av slav config på google code page.
Nu har du den hex-fil som du ska bränna på din uC, så låt oss tala om programmerare och programmering. Det finns många bra instructables i ämnet, men min favorit och den som fick igång med AVR: s är detta en, The Ghetto utvecklingsmiljö. Jag använder samma programmeraren, USBtinyISP från Adafruit, och det är häftigt. Jag började med en hemlagad mål styrelse (vaggan) men har nu köpt en tiny25/45/85 programmerare styrelse från TinkerStore, som är bara gjord av awesome. Du skulle vara bra med en hemlagad vagga, eller bara programmering i en skärbräda.
Följ instruktionerna på Ghetto utvecklingsmiljön för att ladda koden på markerna, men noterar att du använder en ATtiny45, så ditt avrdude kommando måste återspegla den del (t45). Självklart, du också ange namnet på den CYZ_RGB hex filen som du använder för.
Du bör också vara medveten om säkringar. Detta är inställningar i de marker som ändrar hur de beter sig. Jag använder en bit (windows) programvara som kallas Burn-O-Mat från AVR8 för att kontrollera min säkring inställningar (du kan också använda den som ett GUI för avrdude). Det verkar som från fabrik, min Tiny45 har "Klocka dela upp av åtta" säkringen redan, detta måste vara unset för chip att köra tillräckligt snabbt för smidig bleknar. En marker jag använde hade också möjlighet att lagra data i EEPROM inaktiveras, så jag var tvungen att växla denna säkring till (du förmodligen behöver inte göra det)
Nu har du läst JML instructable, följande rad...
avrdude - c usbtiny -p t45-U flash:w:cyzrgb_slave_CA.hex
... bör inte missfoster du ut. Om du är en riktig keenie, du har förmodligen alla redo gjort det, om inte, gå vidare och programmera ditt chip nu.
Förutsatt att det finns inga fel i produktionen, bör du vara bra att gå.
Medan vi är på humör för programmering, bör du ta din Arduino som vi har att läsa in en skiss på att alltför. Arduino är kommer att användas för att styra Ghetto pixlar, och bildar en bro mellan dem och din dator. Till att börja med kan vi använda BlinkM communicator skissen för att testa, men i tid kommer du antagligen att skriva din egen mer anpassade till din ansökan. BlinkM communicator skissa är här, och du bör ladda den på din Arduino nu. Medan du är på webbplatsen BlinkM, Hämta multitrack sequencer, du behöver det för att testa också.
Med din nyligen programmerat Chip och din Arduino vid din sida är det dags att få det med Das Blinkenlights!...