Inhoudsopgave:

Bouw een ArduinoBoy: 8 stappen
Bouw een ArduinoBoy: 8 stappen

Video: Bouw een ArduinoBoy: 8 stappen

Video: Bouw een ArduinoBoy: 8 stappen
Video: Muziek maken met Gameboys 2024, September
Anonim
Bouw een ArduinoBoy
Bouw een ArduinoBoy
Bouw een ArduinoBoy
Bouw een ArduinoBoy

De Gameboy. Hoogstwaarschijnlijk heb je er in je kindertijd een gehad. En zelfs als je dat niet deed, speelde je hoogstwaarschijnlijk met de GameBoy van je beste vriend, of misschien bezat je de naaste concurrent, de Sega Game Gear of Nomad. Geweldige kleine game-apparaten, maar nu je volwassen bent, heb je er wel eens over nagedacht wat je er nu mee gaat doen? Bewaar het op zolder om uit te graven en je kinderen te laten zien hoe gamen was in de 20e eeuw? Verkopen aan een verzamelaar? Herbeleef gameherinneringen door voor de zoveelste keer terug te gaan door de Legend of Zelda: Link's Awakening?

Heb je er ooit over nagedacht om er een muziekinstrument van te maken? Timothy "trash80" Lamb is een chiptune-componist die momenteel in Los Angeles, Californië woont. Een chiptune-componist is een persoon die de geluidsgenerator-IC's (geïntegreerde circuits) gebruikt in videogameconsoles en handhelds om muziek te maken. Mr. Lamb is ook de maker van een apparaat dat bekend staat als de ArduinoBoy; een combinatie van open source hardware en software die elk lid van de GameBoy-familie met een cartridge-slot en een link-kabelpoort kan veranderen in een MIDI-geluidsgenerator. Nu moet worden opgemerkt dat trash80 niet de eerste was die een dergelijk systeem creëerde. De twee grote zelfgemaakte GameBoy-apps die worden gebruikt door professionele chiptune-componisten, Nanoloop en Little Sound Disk Jockey, of LSDJ, hebben al geruime tijd MIDI-mogelijkheden. Het probleem is dat beide apps afhankelijk zijn van Microchip PIC-hardware voor het verzenden en ontvangen van MIDI-signalen. Geen minachting bedoeld voor de standaard microcontroller van de elektrotechnische industrie, maar de PIC is echt een stuk professionele hardware en kan een beetje intimiderend zijn voor degenen die niet regelmatig met elektronica rotzooien. Er is ook weinig tot geen ondersteuning voor gebruikers van minder populaire besturingssystemen als het gaat om het programmeren van deze apparaten (de enige officiële PIC-ontwikkelingssuite is voor Windows, geen Linux- of Mac-ondersteuning). Door het veel eenvoudigere Arduino-platform te gebruiken, omzeilt de ArduinoBoy deze beperkingen, waardoor het voor een potentiële chiptune-componist veel gemakkelijker wordt om de tools te bouwen die hij of zij nodig heeft. En hoewel de ArduinoBoy is gemaakt om te werken met het eigen zelfgemaakte GameBoy-geluidsgeneratorprogramma van trash80, mGB, kan hij ook prima overweg met Nanoloop en LSDJ. Hoewel trash80 zijn werk op een Google Code-webpagina heeft gedeeld, heeft hij geen stapsgewijze instructies over hoe je er zelf een kunt maken (het staat op zijn takenlijst). Ik besloot hem hierbij te helpen. Hoewel dit niet per se een stap voor stap is, zou deze Instructable je een algemeen idee moeten geven van wat je moet doen en je enkele van mijn valkuilen moeten laten zien, zodat je ze kunt vermijden.

Stap 1: Onderdelen, gereedschappen en code

Onderdelen, gereedschappen en code
Onderdelen, gereedschappen en code

Onderdelen

  • Een Arduino, generieke Arduino of de onderdelen om zelf te maken. Persoonlijk gebruik ik Modern Device Compay's Really Bare Bones Board-kit, die ofwel kan worden geassembleerd zoals het is en aan je project kan worden bevestigd met behulp van vrouwelijke printplaat-pinsockets, of kan worden gekannibaliseerd voor onderdelen om de Arduino een permanent onderdeel van het project te maken.
  • Twee 220Ω, zeven 2KΩ en één 270Ω weerstanden. Voor dit project zijn 1/4 of 1/8 watt weerstanden ideaal.
  • Een 6N138 opto-isolator.
  • Een 1N914 kleine signaaldiode. Wees niet verbaasd als je ze alleen in hoeveelheden van 10 of meer kunt kopen.
  • Eén drukknop die alleen aan is als de knop wordt ingedrukt. Voor degenen die Engineer spreken, dat is een SPST uit-(aan) drukknop.
  • Twee 5-pins vrouwelijke 180 graden DIN-connectoren. Zorg ervoor dat u deze exacte connectoren krijgt. Er zijn veel verschillende ontwerpen voor DIN-connectoren en er zijn er maar weinig die compatibel zijn met elkaar.
  • Vier tweepolige aansluitblokken. Hoewel je al je draden gewoon rechtstreeks op de printplaat kunt solderen, zal het gebruik van klemmenblokken of een andere vorm van connectoren de montage, demontage en kannibalisatie van onderdelen veel gemakkelijker maken.
  • Eén pc-kaart voor algemeen gebruik.
  • Eén GameBoy-linkkabel.
  • Een apparaat dat MIDI-out kan leveren, zoals een toetsenbord of een computer met de benodigde software en adapter.
  • Eén programmeerbare GameBoy-cartridge.
  • Soldeer.
  • Extra draad. Solide voor breadboard-werk en bedrading van de pc-kaart, gestrand voor draden die u vaak verwacht te verplaatsen.
  • Een koffer om alles in te stoppen.
  • Stapel Diversen.

Gereedschap

  • Soldeerbout.
  • Desoderingsbol, pomp of lont. Voor de zekerheid.
  • Helpende handen soldeergereedschap.
  • Veiligheidsbril. Je bril gaat het niet redden.
  • Brandblusser, of op zijn minst een glas water. Nogmaals, voor het geval dat.
  • Draadsnijders.
  • Draadstrippers.
  • Punttang.
  • Soldeerloze breadboard.
  • Programmeer- of USB-kabel(s) voor zowel de Arduino als de programmeerbare GameBoy-cartridge, indien van toepassing.
  • Roterend gereedschap en/of iets anders dat u nodig heeft om gaten en sleuven te maken in uw geval naar keuze.

Code Je hebt twee verschillende stukjes code nodig voor dit project, die beide te vinden zijn op de ArduinoBoy Google Code-pagina van trash80. U vindt ze aan de rechterkant van de pagina onder het kopje Aanbevolen downloads. Je laadt de ArduinoBoy-code in de Arduino, terwijl mGB in de programmeerbare spelcassette wordt geladen.

Stap 2: Laten we eens kijken naar het schema

Laten we eens kijken naar het schema
Laten we eens kijken naar het schema

Een schema is eenvoudigweg elk document dat weergeeft hoe een mechanisch of elektrisch apparaat in elkaar zit. Die foto's van uw zitmaaier met alle onderdelen gedemonteerd met kleine stippellijnen die laten zien hoe ze allemaal in elkaar passen? De blauwdrukken waar de aannemer van je huis of appartement zo geobsedeerd door was? Schema's; beide.

Wat schema's betreft, is het schema van trash80 voor de ArduinoBoy een stuk kleurrijker en mist het rechte lijnen, maar is het perfect leesbaar. Tenzij je volledig anaal bent over technische conventies, zou je geen problemen moeten hebben. Misschien wilt u dit uitprinten, want we zullen er vaak op terugkomen.

Stap 3: Breadboard-test

Breadboard-test
Breadboard-test

Voordat we bij de daadwerkelijke constructie van de voltooide ArduinoBoy komen, willen we eerst zeker weten dat al onze onderdelen goed zijn. Daarvoor gebruiken we ons soldeerloze breadboard, waarmee we verbindingen tussen elektronische onderdelen kunnen maken zonder ze aan elkaar te hoeven solderen. Het is makkelijk. Kijk maar naar het schema en sluit de onderdelen aan zoals afgebeeld.

Onthoud dat er op elke pagina een commentaargedeelte is. Als je ergens vastloopt, post dan hieronder en ik zal proberen je zo goed mogelijk te helpen.

Stap 4: Eerste test

Het is tijd voor twee zeer belangrijke tests: de rooktest en de functietest. De eerste test is vrij eenvoudig. Sluit eenvoudig uw GameBoy aan op het apparaat, schakel de GameBoy in en kijk naar de LED's van de ArduinoBoy. Als de pin13-LED kort knippert, gevolgd door de resterende LED's die in sequentiële volgorde oplichten, waarbij ze twee keer van de hoogste pin naar de laagste en terug vegen, eindigend met twee flitsen van de LED's tegelijk, dan is de kans groot dat uw ArduinoBoy aan het werk is volgorde. Test ook de modusselectieknop. Wanneer u erop drukt, moet de momenteel verlichte LED uitgaan en de volgende in de reeks gaat branden. Als in plaats daarvan de lampjes weigeren te branden, onderdelen abnormaal warm aanvoelen, rook ziet of ruikt en/of een onderdeel van het circuit explodeert of in brand vliegt, raadpleeg dan het schema, controleer alles nogmaals uw aansluitingen en bedrading, vervang de beschadigde onderdelen en voer de rooktest opnieuw uit. De tweede test is een beetje zenuwslopend, vooral omdat als hier iets misgaat, het niet alleen de Arduino zal zijn die zal worden geroosterd. Laad mGB in je GameBoy, sluit de ArduinoBoy aan op je GameBoy en sluit de MIDI-uitgang van je MIDI-compatibele apparaat aan op de MIDI-ingang van de ArduinoBoy met breadboard. Schakel de GameBoy in en vervolgens het MIDI-apparaat en houd uw brandblusser bij de hand, zodat er niets gebeurt. Probeer een paar noten te spelen op je MIDI-apparaat op kanaal 1, 2, 3, 4 of 5. Als je GameBoy een geluid maakt dat doet denken aan een instrument of een geluidseffect, spring dan uit je stoel en staar omhoog naar de hemel, armen uitgestrekt, brullend "IT'S ALIVE" terwijl hij manisch lacht. Een opmerking over zowel het testen als het gebruik van je ArduinoBoy: er zijn websites die gratis MIDI-bestanden van populaire liedjes aanbieden, en je zult in de verleiding komen, sterk in de verleiding te komen, om ze te gebruiken voor zowel testen als in je compositiesessies. Weersta die verleiding. Ten eerste zijn sommige van de MIDI-tracks die door deze sites worden aangeboden niet goed gemaakt. Ik vond ooit een MIDI-kopie van de "19-2000" van de Gorillaz, en een van de instrumenten viel niet uit of vervaagde niet, dus uiteindelijk zou dit ene instrument de rest van de instrumenten overweldigen totdat je de speler stopte en opnieuw startte. Bovendien moedigt het gebruik van deze vooraf gemaakte nummers je aan om vooraf gemaakte nummers te blijven gebruiken. Je maakt er niets origineels van. Je kunt beter meteen je eigen muziek leren componeren.

Stap 5: Soldeer het op

Soldeer het op
Soldeer het op
Soldeer het op
Soldeer het op

Dus je ArduinoBoy werkt. Goed, het is tijd om het op het prototype van de printplaat te solderen. "Wacht wacht!" je schreeuwt tegen jezelf. "Het werkt nu prima en ik weet dat ik er voorzichtig mee zal zijn. Waarom zou je het misschien verknoeien? Waarom zou je solderen?" Oke dan. Maar denk hier even over na: jij en je ArduinoBoy maken geweldige muziek. Zo geweldig zelfs dat je van chiptune een legitieme vorm van muziek maakt. Jij brengt chiptune in de mainstream. Je wordt beroemd. Zo beroemd zelfs dat je wordt uitgenodigd om op Wrigley Field te spelen, net voordat de Cubs het veld betreden. Je gebruikt nog steeds je breadboarded ArduinoBoy. Jij en de bemanning regelen alles precies zo, totdat een van jullie merkt dat het belangrijkste van je muziekinstrumenten, de ArduinoBoy, is verdwenen. Je vindt het eindelijk in de handen van een jonge jongen die erin slaagde langs de beveiliging te sluipen. In zijn nieuwsgierigheid heeft hij alle componenten van het breadboard verwijderd, en helaas heb je geen schema bij de hand. Met nog 5 minuten te gaan voordat de show begint, moet je je optreden annuleren. Het publiek wordt gek en vernietigt in hun woede een groot deel van het stadion, waardoor ook de wedstrijd wordt afgelast. De Cubs verliezen hun make-up spel en hun kans op de World Series alweer, en ze hebben jou de schuld. Laat dit zeer ingewikkelde scenario u niet overkomen: maak uw projecten altijd permanent. Nadat u eerst alle onderdelen van het soldeerloze breadboard hebt verwijderd, plaatst u ze op het pc-bord en zoekt u uit hoe u ze allemaal gaat monteren. Er zijn een paar dingen waar je rekening mee moet houden:

  • Probeer al uw IC's op dezelfde manier onder ogen te zien. Zo zie je in één oogopslag of ze allemaal goed gemonteerd zijn.
  • Schroefklemmen, IC-sockets en draadconnectoren zijn je vrienden. Als er iets kapot gaat, wil je de onderdelen gemakkelijk kunnen verwijderen en vervangen. Het kan ook zijn dat je je ArduinoBoy op een later tijdstip moet kannibaliseren om iets anders te bouwen. Door stopcontacten en andere connectoren toe te voegen, kunt u dit eenvoudig doen.
  • Houd rekening met de ruimte waarmee je moet werken. Houd onderdelen ver uit de buurt van montagegaten, zodat u gemakkelijk bevestigingsmateriaal en gereedschap op die locaties kunt krijgen. Als je het bord in een zeer kleine ruimte plaatst, zoals een Altoids-blikje, moet je ook rekening houden met de ruimte die onderdelen zoals knoppen in beslag nemen. Mogelijk moet u delen van uw bord vrijhouden, zodat de knop ruimte heeft in de behuizing.

Als je alles eenmaal aan elkaar hebt gesoldeerd, is het een kwestie van het boren en snijden van de juiste gaten in het geval van jouw keuze en het monteren van de printplaat erin. Als je een metalen behuizing gebruikt zoals ik deed, zorg er dan voor dat je een stuk papier of iets gebruikt om de onderkant van de behuizing te bekleden, zodat er geen kortsluiting is in een deel van het circuit. Rubberen ringen zouden ook een goed idee zijn.

Stap 6: Uw ArduinoBoy gebruiken

Uw ArduinoBoy gebruiken
Uw ArduinoBoy gebruiken

Uw ArduinoBoy zou, indien correct gemonteerd, zich niet anders moeten gedragen dan enig ander MIDI-invoerapparaat. Bij gebruik met mGB heeft het 5 afzonderlijke MIDI-kanalen. Kanalen 1 en 2 zijn stabiele toongenerators, 3 is een toongenerator die in mijn beperkte tests een patroon van drie noten lijkt te hebben (het timbre van de noot verandert elke keer dat je op dit kanaal speelt, volgens een patroon), kanaal 4 biedt basgeluiden (gebruik als een drum, basgitaar of synth), en kanaal 5 is ruis (meestal gebruikt in GameBoy-spellen voor explosies en stromend water).

Sluit uw MIDI-out-apparaat aan op de poort die is aangesloten op de opto-isolator, uw ArduinoBoy op uw GameBoy en uw herprogrammeerbare cartridge ook op uw GameBoy. Stel je ArduinoBoy in op mGB-modus door op de knop te drukken totdat de LED die is aangesloten op digital 8 oplicht. Vanaf nu kun je je GameBoy als MIDI-instrument gebruiken. Aanpassingen aan het gegenereerde geluid kunnen worden gemaakt op de GameBoy met behulp van de mGB-interface, met name timbre, octaaf, kanaal en nootaanval. De andere ArduinoBoy-modi worden gebruikt met andere GameBoy-programma's voor het maken van chiptunes, met name Nanoloop en LSDJ en vallen buiten het bestek van deze Instructable.

Stap 7: Valkuilen die u kunt vermijden

Valkuilen die u kunt vermijden
Valkuilen die u kunt vermijden
Valkuilen die u kunt vermijden
Valkuilen die u kunt vermijden
Valkuilen die u kunt vermijden
Valkuilen die u kunt vermijden

Tijdens het voltooien van dit project heb ik een paar ontwerp- en constructiefouten gemaakt die, hoewel ze de prestaties van de kernfunctie van de ArduinoBoy niet nadelig beïnvloedden, de constructie wel uitdagender maakten en de uiteindelijke presentatie een beetje slordig. Hier zijn mijn fouten en een paar veelvoorkomende problemen, en hoe je ze kunt vermijden of corrigeren. Metal Case Work Van alle ontwerpbeslissingen die ik heb genomen, was de beslissing om een Altoids-muntblikje als koffer te gebruiken misschien wel de meest rampzalige. Het probleem zit hem niet in het blik zelf, maar in het gereedschap dat ik ter beschikking had bij het voorbereiden van de koffer en het feit dat ik heel weinig werk met dun plaatwerk heb gedaan. Gebruik allereerst het juiste gereedschap voor de klus. Tinknipsels, of in ieder geval degene die ik gebruikte, verscheuren het metaal in plaats van het netjes te snijden, waardoor er moeilijk te verwijderen scherpe randen achterblijven die niet plat op de behuizing blijven. Gebruik in plaats daarvan een knabbelschaar. Boor bij het boren van gaten ook altijd vanaf de kant van de afwerking, of de kant die u het vaakst (buiten) ziet, waar mogelijk. Wanneer u een gat boort, laat u waarschijnlijk bramen in het metaal achter en zorgt ervoor dat het metaal in het gat buigt vanuit de richting waarin u boort. Door van buitenaf te boren, laat je de bramen aan de binnenkant van de behuizing zitten, waardoor de buitenkant er netter uitziet en veiliger is voor verstrooide mensen. Prototype Board Goedkope materialen zijn niet altijd de beste om mee te werken. De prototypeborden die ik gebruikte om mijn ArduinoBoy te bouwen, kwamen van RadioShack en hoewel ze perfect bruikbaar zijn, zijn ze moeilijk te solderen omdat ze goedkoop zijn gemaakt. Geen geplateerde gaten, dus soldeer wordt niet in de gaten gezogen, wat resulteert in deze grote soldeerklodders op het bord die de gesoldeerde delen niet goed op hun plaats houden. Doe je best om planken met geplateerde gaten te vinden. Als je dat niet kunt, heb ik gehoord dat een beetje soldeervloeimiddel dat vlak voor het solderen in het gat wordt gesmeerd, gesmolten soldeer in het gat zal lonten, net alsof het geplateerd is. Wat betreft goedkope proto-boards, houd er rekening mee dat, omdat het soldeer zich aan de bovenkant verzamelt, ze vatbaar kunnen zijn voor … Short Toen ik klaar was met het aan elkaar solderen van mijn ArduinoBoy, merkte ik dat de LED's niet goed oplichtten. Probleem was niet mijn bedrading, dat was perfect, maar mijn solderen. Kleine, vrijwel onmogelijk te zien hoeveelheden soldeer en stof overbrugden de gaten op het bord, waardoor sommige LED's niet oplichtten en andere LED's aan elkaar vastbonden. Als dit je overkomt, steek dan een mes tussen de soldeerverbindingen en maak grondig schoon met wattenstaafjes, keukenpapier en ontsmettingsalcohol. Super Glue Probeer zoals je zou kunnen, je kunt nooit superlijm gebruiken zonder wat op je vingers te krijgen. Gewoon een algemene waarschuwing voor iedereen die er is. Begrijp me niet verkeerd, het is geweldig spul als twee delen snel moeten plakken en plakken, maar ga er nooit vanuit dat je het kunt gebruiken zonder je vingers aan elkaar te lijmen.

Stap 8: Waar ga ik vanaf hier?

Waar moet ik heen?
Waar moet ik heen?

Heb je moeite om aan de slag te gaan met het hele chiptune-componeren? Inspiratie, tips, trucs en een plek nodig om te pronken met je nieuwste deuntje? Voor alles wat met chiptunes te maken heeft, en bij uitbreiding retro-gaming, is er 8bitcollective.com. Ze hebben een levendige gemeenschap van chiptune-componisten die je graag willen helpen in je carrière.

Wilt u de mogelijkheden van uw ArduinoBoy uitbreiden? Je ArduinoBoy heeft een ingebouwde functie die mGB niet echt gebruikt: MIDI out, in het bijzonder MIDI-synchronisatie. Nanoloop en LSDJ zijn echter niet alleen compatibel met de ArduinoBoy-hardware, maar ze kunnen deze ongebruikte functie ook gebruiken, waardoor je de geluiden van je GameBoy kunt synchroniseren met andere programmeerbare MIDI-instrumenten, zoals drums. Oké, je bent nu een succesvolle chiptune-componist en -performer, maar nu heb je een heleboel optredens te gaan en wil je de last zo veel mogelijk verlichten. Wat ga je doen? Welnu, zolang je alleen de MIDI-poort van de ArduinoBoy gebruikt, kun je de grootte ervan aanzienlijk verkleinen. Gebruik gewoon een zo klein mogelijke Arduino-kloon die je kunt vinden en laat de MIDI-uitgang weg. Het lijkt tenslotte te werken voor trash80. Wat mij betreft, ik ben op zoek naar een paar verbeteringen aan mijn prototype en tegelijkertijd meer te leren over hoe het werkt en hoe ik er echte muziek mee kan componeren. Ik denk erover om een paar PCB's in Eagle CAD te ontwerpen voor twee verschillende versies: een die doorlopende componenten en DIP-pakket-IC's gebruikt, zoals deze, en een andere die waar mogelijk componenten voor oppervlaktemontage gebruikt, zodat ik de reflow van de kookplaat kan uitproberen soldeermethode en maak (hopelijk) de kleinste volwaardige ArduinoBoy ooit gemaakt. Wat je ook besluit te doen met je ArduinoBoy, veel plezier. Als je geen plezier hebt, doe je duidelijk iets verkeerd. Onthoud dat, zoals al het andere in het leven, het componeren van chiptunes niet gaat over het verslaan van iemand anders. Het gaat erom jezelf te verslaan, elk deuntje dat je componeert beter te maken dan het vorige. Niemand is ooit beroemd geworden door iets te doen waar ze niet van hielden. Vragen? Opmerkingen? Huwelijksvoorstellen? Doodsbedreigingen? Post ze hieronder.

Aanbevolen: