Getto Pixels - bouwen van een open source BlinkM (2 / 5 stap)

Stap 2: De Code - Project CYZ_RGB (Nee, ik weet niet wat het betekent ofwel)


Het eerste wat we moeten doen op de manier aan het creëren van onze getto pixel, is onze kleine computer (de ATTiny45 uC) sommige instructies kan geven.  Dit heet 'Firmware' en je het laden op de chip met behulp van een programmeur. Hang daar, ik uitleggen allemaal in een minuut.  Eerst heb ik te maken van een inleiding. U ziet, ik ben niet slim genoeg om te doen een echte ingebedde systemen programmeren, dus ik zou graag om u kennismaken met een project dat (eh?) is... CYZ_RGB.  Gestart door Matteo Caprari en meer recentelijk uitgebreid door John Laur, is CYZ_RGB een vrij directe vervanging voor de officiële firmware voor BlinkM. Natuurlijk, je hoeft niet om het te draaien op officiële blinkM hardware, u kunt het op elke compatibele uC laden en verbinden van een LED.

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!...

Gerelateerde Artikelen

Bouwen van een pixel nanobot

Bouwen van een pixel nanobot

helpen bij de voorbereiding jezelf voor nanotechnologie. In de nabije toekomst kan u het opbouwen van zeer kleine robots om te opereren in de microscopische en zelfs moleculaire en cellulaire ruimte.Hebt u een oude computer waarop snelle Basic of een
Hoe het bouwen van een Multi-Touch-oppervlak

Hoe het bouwen van een Multi-Touch-oppervlak

multi-aanrakingsgebaren zijn de nieuwste en beste manier om te communiceren met uw computer.  Echter, commerciële systemen zijn niet overal verkrijgbaar en zijn duur.  Gelukkig, je kunt het zelf doen beter en voor minder kosten.Beginsel componenten (
Bouwen van een 1:1 schaal Portal pistool met verlichting

Bouwen van een 1:1 schaal Portal pistool met verlichting

Inleiding:Dit Instructable zal detail het proces ging ik door terwijl de bouw van mijn eigen Diafragma wetenschap Handheld Portal apparaat [AKA de "Portal Gun"] uit het ventiel wild Portal & Portal 2. Hoewel de Portal Gun de belangrijkste fo
Fenrir: Een Open source hond robot

Fenrir: Een Open source hond robot

Stationaire been bewegingRotatie transformatieWandelen DemoDe gebruikersinterfaceDit is een mini opensource zoogdier viervoeter robot, of u kunt denken aan het als robot hond vier been. Het doel van dit project is dat mensen de mogelijkheid te creëre
Lora schild en RPi gebruiken om te bouwen van een gateway LoRaWAN

Lora schild en RPi gebruiken om te bouwen van een gateway LoRaWAN

Wij zullen hierheen, de Lora Shileld, de MEGA2560 en de Raspberry Pi te bouwen een enkellijns LoRaWAN gatewaygebruiken.LoRa Technologie is een draadloze modulatie voor long-bereik, laag energieverbruik, lage-data-rate toepassingen. Door het bereiken
Bouwen van een 'blackbox' datalogger voor het toevoegen op scherm weergave meters aan uw video's

Bouwen van een 'blackbox' datalogger voor het toevoegen op scherm weergave meters aan uw video's

Dit project bevat instructies over hoe te bouwen van het apparaat, alsmede een link naar de projectcode op github die worden geüpload voor het moeten zullen laten uitvoeren.Een Arduino gebaseerd datalogger met het oog op de synchronisatie van gegeven
Bouwen van een 30$ laser Scanner

Bouwen van een 30$ laser Scanner

IntroductieDit instructable zal u begeleiden om te bouwen van een 3D-scanner voor minder dan $30, of zelfs $12 als u al een USB webcam.Het zien van het prijskaartje en de beperkingen van commerciële scanners, die heb ik besloten om mezelf te bouwen m
Bouwen van een 3D-laserprinter - Stereolithography thuis

Bouwen van een 3D-laserprinter - Stereolithography thuis

Hier is hoe te maken van een 3D-Printer van Stereolithografie. Het is nog steeds een beetje van een work in progress, maar tot nu toe het werkt vrij goed. Dit is voornamelijk een experiment dat begon als een Delta Robot Stereolithography Printer maar
Hoe het bouwen van een 8-bits Computer

Hoe het bouwen van een 8-bits Computer

bouwen van een 8-bits TTL Computergeluiden graag een ontmoedigend en ingewikkelde taak, of ten minste het deed voor mij toen ik begon op mijn reis naar het begrijpen van de architectuur van een fundamentele CPU. Wanneer het neer over het komt, is een
Hoe het bouwen van een draadloze hexapod robot

Hoe het bouwen van een draadloze hexapod robot

hier is een video van het in actie.Facebook-pagina, zodat u up-to-date op v2 blijven kuntHebt u dit instructable?  Stuur me foto's en ik zal het toevoegen op deze pagina!Wanneer voltooid, zul je een wandelende robot die is ongeveer 2 voet breed en ma
Bouwen van een modulaire Robot Chassis met Actobotics

Bouwen van een modulaire Robot Chassis met Actobotics

Ik hield van mijn vroege kinderjaren robots. De eerste film robots ik herinner me ooit echt wens eerst, waar de drie bots "Stille Running", (nog steeds een van mijn favoriete films!) Die goofy beetje wandelen dozen bereikte een hoogtepunt van mi
Hoe het bouwen van een aangepaste "bed of nails" tester voor uw 3D-printer elektronica

Hoe het bouwen van een aangepaste "bed of nails" tester voor uw 3D-printer elektronica

Als u een heleboel PCB (Printed Circuit Board) zijn productie, wil je een soort van QA-om ervoor te zorgen dat uw planken zijn functioneel en zonder gebreken. De meest populaire methode voor het testen van in-circuit is het gebruik van een bed van sp
Robot hersenen: Het bouwen van een enige raadscomputer in een avond

Robot hersenen: Het bouwen van een enige raadscomputer in een avond

op uw Picaxe of Arduino uit geheugen lopen? Maar een PC is overkill voor de job? Neem een kijkje op deze opensource enige raadscomputer die kan worden geprogrammeerd in talen zoals C, Basic, Forth, Pascal of Fortran.Dit bord maakt gebruik van goedkop
Het bouwen van een robot die uw muiscursor volgt

Het bouwen van een robot die uw muiscursor volgt

In dit instructable ik zal u tonen hoe te bouwen en besturen van een robot kunnen tekenen en schrijven op een vlakke ondergrond, zoals geïllustreerd in de video hierboven.Dit project u moet voltooien:Een computerEen download van Verwerking IDE: een e