INHOUDSOPGAWE:
- Stap 1: Video
- Stap 2: Onderdele en materiaal
- Stap 3: Bedrading - SAA1099
- Stap 4: Bedrading - TTL -ossillator
- Stap 5: Bedrading - Iref en Chip -koppelvlak
- Stap 6: Bedrading - Klankonderdele
- Stap 7: Bedrading - Audio Jack
- Stap 8: Bedrading - Krag na broodpaneel
- Stap 9: Bedrading - Data lyne
- Stap 10: Opsionele LED (s)
- Stap 11: Kodeer
- Stap 12: Toets dit
- Stap 13: Gebruik u eie MIDI -lêers - omskakelingsprogram
- Stap 14: Omskakeling van MIDI -lêers
- Stap 15: Gebruik u omgeskakelde MIDI -lêer
- Stap 16: Fin
Video: Retro klankskyf met 'n Arduino - die SAA1099: 16 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
In hierdie instruksies sal ek jou wys hoe om 'n Arduino Uno met 'n vintage klanksintese -chip te gebruik om midi -lêers in vierkantige golwende goed te speel!
Kyk na die video hierbo as u net 'n vinnige oorsig wil hê van wat hierdie projek doen. Andersins, gaan voort!
Stap 1: Video
As u al u instruksies in duidelike, bondige video's verkies, het ons u gedek!
Vir die res van ons kan u voortgaan met 'n bietjie meer detail en skriftelike instruksies.
Stap 2: Onderdele en materiaal
Hiervoor benodig u hierdie dinge:
(Die skakels is vir eBay -items)
- 'N Arduino (Uno, Nano, Leonardo, hulle behoort almal te werk)
- Ten minste 'n mediumgrootte broodbord
- Die SAA1099 Stereo Sound Generator -chip
- Brooddraaddraaddraad (Alternatiewelik hou ek daarvan om dupont-vroulike tot vroulike springers te gebruik, met 20 mm-koppenne aan weerskante geplaas- baie stewiger)
- 8Mhz TTL -ossillator (AliExpress -skakel soos verskaf deur zweigelt)
- Stereo (of mono) klankaansluiting
- 2 x 1K weerstande (lot van 100)
- 1 x 10K weerstand (lot van 50)
- 2 x 100pF -kondensators
- (Opsioneel) Sommige LED's, ten minste 1 (enige kleur, hier is 100 verskillende kleure vir 'n dollar!)
Die totale koste is $ 23,25, ingesluit gestuur, met behulp van die skakels. Die meeste daarvan kom natuurlik halfpad regoor die wêreld, so die aflewering duur gewoonlik ongeveer 'n maand. As u vinniger gestuur wil hê, moet u waarskynlik 'n bietjie meer betaal.
Stap 3: Bedrading - SAA1099
As skematika jou ding is, kom maar! Die res van ons kan óf stap vir stap deurloop, óf na die video kyk.
- Plaas die SAA1099 aan die einde van die broodbord, met die kerf op die chip na die einde.
- Nou, krag. VDD (pen 18) op die SAA1099 gaan aan, en pen VSS (pen 9) na die grond.
- Plaas 'n draad tussen CS (pen 2) en grond om dit laag te hou
Ek beveel ook aan om die datablad wat ek aangeheg het, te bekyk.
Stap 4: Bedrading - TTL -ossillator
- Ons plaas die TTL -ossillator op die broodbord langs die broodbord, sodat die klokuitsetpen die naaste aan die klokinvoer op die SAA1099 is (pen 8)
- U kan voortgaan en krag en grond aan die TTL -ossillator koppel. (Ek het tot later in my video gewag, so ek het nie 'n prentjie nie). Die foto hierbo toon watter penne is.
Stap 5: Bedrading - Iref en Chip -koppelvlak
- Koppel die 10K -weerstand tussen Iref (pen 6) en 5V.
- Koppel digitale pen 8 aan WR (pen 1) op die SAA1099.
- Koppel digitale pen 9 aan A0 (pen 3) op die SAA1099.
Stap 6: Bedrading - Klankonderdele
- Koppel 'n 100pF -kondensator tussen OUTR (pen 4) en GND
- Koppel 'n 1K -weerstand tussen OUTR (pen 4) en 5V
- Ons sal dieselfde doen vir OUTL (pen 5)
- Koppel 'n 100pF -kondensator tussen OUTL (pen 5) en GND
- Koppel 'n 1K -weerstand tussen OUTL (pen 5) en 5V
Let wel! Maak seker dat nie een van die drade van die weerstande/kapasitors raak nie, anders werk dinge nie en kan dit (voorlopig) in u gesig opblaas.
Stap 7: Bedrading - Audio Jack
- Koppel 'n klein draad tussen 5V en 'n leë ry op die broodbord.
- Plaas u klankaansluiting sodat die trui van 5V aansluit by die "mou" -pen op die klankaansluiting
- Koppel die L en R (of klankpen, as u 'n Mono -aansluiting het) aan die OUTL (pen 5) en OUTR (pen 4) se penne op onderskeidelik die SAA1099.
Let wel! Op Mono -klankaansluitings maak dit regtig nie saak wat daar gebeur nie, solank 'n pen aan 5V gekoppel is, en een aan OUTL of OUTR. Dit sal netjies klink. Tensy dit nie die geval is nie, kan u in elk geval die bedrading weer ondersoek.
Stap 8: Bedrading - Krag na broodpaneel
- Verbind beide kante van die Breadboard -kragbus met behulp van jumperdrade.
- Koppel die een kant aan die 5V- en GND -penne op die Arduino, en maak seker dat u die drade nêrens gemeng het nie. As u dit gedoen het, kan die magiese rook ontsnap.
Stap 9: Bedrading - Data lyne
Koppel D0 tot en met D7 op die Arduino aan D0 (pen 10) tot en met D7 (pen 17) op die SAA1099, in volgorde
Ek vind dat DuPont vroulike-vroulike trui drade, met 15-20MM kopstukke aan weerskante, baie beter werk as die man-man dupont drade. Boonop kan u dit ook as vroulik of vroulik gebruik. Albei kan maklik in groot hoeveelhede op eBay gevind word, vir klein hoeveelhede verandering. 'N Goeie Kersgeskenk vir die aspirant -Arduino -junkie!
Stap 10: Opsionele LED (s)
Ek sal nie stap vir stap gaan oor hoe om alles hier te bou nie, maar daar is verskeie goeie plekke om LED's by te voeg. Eerstens het ek 'n 3 mm rooi LED tussen WR (pen 1) en GND verbind, om elke keer te wys dat die Arduino 'n opdrag na die SAA1099 stuur.
Ek het ook al voorheen LED's aan die data lyne gekoppel, waarmee u die werklike binêre data op elke reël kan sien. Ek het hierdie opstelling gebruik in my video "Arduino en SAA1099 - Vuurvliegies", asook nog 6 LED's en 'n paar ekstra kode om elke LED vir elke aktiewe kanaal aan te steek.
Hoe meer LED's, hoe koeler lyk dit!
Stap 11: Kodeer
Noudat u die kring gebou het, moet u die verbindings nagaan! U wil nie u duur arduino en Soundchip opblaas nie! (As jy dit doen, wel. Dit is nie my saak nie)
As ons verstandig is en alles nagegaan het, kan ons dit begin programmeer.
- Die biblioteek is op
- U wil die SAATunes.zip -lêer hê, en laai dit af.
- Maak nou die Arduino IDE oop.
- Onder "Skets", "Sluit biblioteek in", klik op "Voeg.zip -biblioteek by"
- Gaan na waar u ook al die SAATunes -biblioteek afgelaai het. (Dit gee nie om of dit jou lessenaar, aflaai of lêer is nie (vind iets verleentheid)- vind dit net)
- Kies dit en klik op "Open"
- Dit moet u vertel dat dit by u biblioteke gevoeg is.
Stap 12: Toets dit
- Maak die voorbeeld SAATunes-program oop onder "File", "Voorbeelde", "SAATunes", "SAATunes-Uno".
- Koppel jou Arduino aan op die rekenaar en in 'n luidspreker.
- Laai die program op na die Arduino.
U behoort 'n akkoord te hoor, dan Beethoven's Rage oor 'n verlore sent. As Klassiek nie u ding is nie, moenie bang wees nie, want ons sal binnekort leer hoe om MIDI -lêers van ons eie keuse daarmee te gebruik.
As u niks hoor nie, kyk na 'n paar dinge: Eerstens, is u luidspreker aan? Draai dit heeltemal op. Is die arduino dan regtig aan? Het die program korrek opgelaai? Kontroleer al die bedrading met die skematiese en datablad, en probeer dan weer.
Stap 13: Gebruik u eie MIDI -lêers - omskakelingsprogram
Klaar om iets anders as Beethoven te probeer? Baie goed, hier gaan jy.
Om MIDI -lêers na C ++ Bytestreams om te skakel, benodig ons 'n program van Len Shustek. Hy is die skepper van die biblioteek waarop ek my kode afgemaak het, en my biblioteek gebruik dieselfde bystroom -formaat wat hy doen.
- U kan die program vind op
- Die program wat u wil hê, is "miditones.exe". Laai dit af.
Stap 14: Omskakeling van MIDI -lêers
Waarskuwing! Hier is ascii jakkalse! Miskien vind u dit makliker om na die video te kyk, waar u presies kan sien waaroor ek praat. As u dit waag om in te gaan, gaan dan voort!
Om die omskakelingsprogram MIDI na Bytestream te gebruik, moet u 'n opdragvenster oopmaak. Jammer Mac- en Linux -gebruikers, u sal moontlik 'n oplossing moet vind.
- Maak die beginkieslys oop en tik "CMD" en druk op enter.
- Ons gaan nou 'n bietjie MS-DOS-magie leer. Gebruik die "CD" -opdrag en gaan na waarheen u die "miditones.exe" -lêer afgelaai het. In die meeste gevalle is die opdragte 'cd -aflaai'.
- Begin die "miditones.exe" -program deur "miditones" te tik. Dit moet u 'n hulplys wys met die mees algemene opdragte.
Nou moet ons 'n MIDI -lêer omskakel. Soek een iewers op die interwebs, verkieslik sonder perkussie of spesiale effekte behalwe instellings/snelheid. (As u nie weet wat dit is nie, moenie bekommerd wees nie, dit sal goed gaan)
- Laai u MIDI -lêer af op dieselfde plek waar u die 'miditones' -program het.
- Tik nou "miditones -d -v [lêernaam]" met die opdragpromptvenster (vervang [lêernaam] met die naam van u MIDI -lêer).
- miditones sal 'n. C lêer genereer met die C ++ bytestream in dieselfde gids, met dieselfde naam as die MIDI lêer.
Stap 15: Gebruik u omgeskakelde MIDI -lêer
Noudat u u MIDI -lêer omskep het, laat ons dit in klein grepe na die arduino voer!
- Gestel u het reeds die SAATunes-Uno-voorbeeld oop, laat ons maar iets anders stoor, sodat ons dit kan wysig.
- Sodra u dit gestoor het, klik op die klein pyltjie -ikoon in die regter boonste hoek.
- Klik op "nuwe oortjie" en noem dit "[naam].h" (Vervang [naam] met die naam van u MIDI -liedjie, of wat u ook al wil)
- Maak nou die. C -lêer oop wat die miditones vroeër geskep het. U kan die notaboek gebruik om dit oop te maak.
- Gebruik CNTRL/A om alles te kies en kopieer dit dan.
- Plak dit in u nuwe "[naam].h" -oortjie in die arduino -redakteur.
Alles is goed hier, dus laat ons terugkeer na die program.
- Vind waar dit staan "#include" RagePenny.h "", en kopieer/plak dit op 'n nuwe reël hieronder.
- Verander die 'RagePenny.h' na wat u ook al u nuwe lêer genoem het.
- Lewer nou kommentaar op die "#include" RagePenny.h "" deur twee skuinsstrepe (//) voor te voeg.
- Laai die program op!
As alles goed verloop, moet u u eie MIDI -lêer speel. As dit nie die geval is nie, moet u seker maak dat die name van die nuwe oortjie en die naam wat u in die '#include' RagePenny.h '' dieselfde is. Gaan die ander stappe na en maak seker dat u alles reg gedoen het. Sommige MIDI -lêers werk eenvoudig nie, maar dit is skaars.
Stap 16: Fin
Hopelik het dit goed gegaan met u, en loop u uit na MIDI -lêers met 'n ou tegnologie wat nuwe lewe gegee het!
As u dit egter nie doen nie, moenie moed opgee nie! Stuur 'n opmerking na my toe, en ek help u graag. U kan my natuurlik voorstelle gee in die kommentaar.
Gelukkige chiptunes!
Aanbeveel:
Maak u eie Retro Nixie -klok met 'n RTC !: 7 stappe (met foto's)
Maak u eie Retro Nixie -klok met 'n RTC !: In hierdie projek sal ek u wys hoe u 'n retro nixie -klok kan maak. Dit beteken dat ek jou sal wys hoe jy nixie -buise met 'n hoogspanning -GS -kragtoevoer kan beheer, en dan kombineer ek 4 nixie -buise met 'n Arduino, 'n Real Time Clock (RTC) en 'n koppie
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer
Retro-speelmasjien met framboos PI, RetroPie en tuisgemaakte tas: 17 stappe (met foto's)
Retro-speelmasjien met Raspberry PI, RetroPie en tuisgemaakte koffer: 'n Ruk gelede het ek 'n Linux-verspreiding vir Raspberry Pi met die naam RetroPie gevind. Ek het dadelik uitgevind dat dit 'n goeie idee is met 'n uitstekende implementering. Een-doel retro-spelstelsel sonder onnodige funksies. Kort daarna het ek besluit om
LED Pixel Art Frame met Retro Arcade Art, App Controlled: 7 stappe (met foto's)
LED Pixel Art Frame Met Retro Arcade Art, App Controlled: MAAK 'N APP CONTROLLED LED ART FRAME MET 1024 LEDs THAT DISPLAYS RETRO 80s ARCADE GAME ART PartsPIXEL Makers Kit - $ 59Adafruit 32x32 P4 LED Matrix - $ 49.9512x20 Inch Acrylic Sheet, 1/8 " duim dik - Deursigtige ligte rook van kraanplastiek
Retro -spelkonsole (N64 -mod) met KODI: 7 stappe (met foto's)
Retro -spelkonsole (N64 Mod) Met KODI: Om retro -speletjies op ou skoolkonsoles te speel, is baie lekker, maar om die individuele konsoles te koop, en al die speletjies wat daarmee gepaard gaan, is te omslagtig en duur! Om nog maar te praat van as u 'n kollege/universiteitstudent is en voor die aand woonstelle verhuis