Innholdsfortegnelse:
- Trinn 1: Video
- Trinn 2: Deler og materialer
- Trinn 3: Kabling - SAA1099
- Trinn 4: Kabling - TTL -oscillator
- Trinn 5: Kabling - Iref og Chip -grensesnitt
- Trinn 6: Kabling - lydkomponenter
- Trinn 7: Kabling - Lydkontakt
- Trinn 8: Kabling - Strøm til brødbrett
- Trinn 9: Kabling - Datalinjer
- Trinn 10: Valgfri LED (er)
- Trinn 11: Kode
- Trinn 12: Test det
- Trinn 13: Bruke dine egne MIDI -filer - konverteringsprogram
- Trinn 14: Konvertering av MIDI -filer
- Trinn 15: Bruke den konverterte MIDI -filen
- Trinn 16: Fin
Video: Retro lydbrikke med en Arduino - SAA1099: 16 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
I denne instruksen vil jeg vise deg hvordan du bruker en Arduino Uno med en vintage lydsyntesebrikke, for å spille midifiler i firkantet bølget godhet!
Hvis du bare vil ha en rask oversikt over hva dette prosjektet gjør, kan du se videoen ovenfor. Ellers fortsett!
Trinn 1: Video
Hvis du foretrekker alle instruksjonene dine i klare, konsise videoer, har vi dekket deg!
For oss andre kan du fortsette, litt mer detaljert og skriftlige instruksjoner.
Trinn 2: Deler og materialer
For dette trenger du disse tingene:
(Linkene er for eBay -varer)
- En Arduino (Uno, Nano, Leonardo, de burde alle jobbe)
- Minst et mellomstort brødbrett
- SAA1099 stereolydgeneratorbrikke
- Breadboard-jumper-ledninger (Alternativt liker jeg å bruke dupont-kvinnelige til kvinnelige hoppere, med 20 mm toppstifter satt inn i hver ende- mye mer robust)
- 8Mhz TTL -oscillator (AliExpress -lenke som levert av zweigelt)
- Stereo (eller mono) lydkontakt
- 2 x 1K motstander (mye på 100)
- 1 x 10K motstand (mye på 50)
- 2 x 100pF kondensatorer
- (Valgfritt) Noen lysdioder, minst 1 (hvilken som helst farge, her er 100 forskjellige farger for en dollar!)
Ved å bruke koblingene som er oppgitt, er den totale kostnaden $ 23,25, inkludert frakt. Selvfølgelig kommer det meste fra halvveis over hele verden, så frakten tar vanligvis omtrent en måned. Hvis du vil ha raskere forsendelse, må du sannsynligvis betale litt mer.
Trinn 3: Kabling - SAA1099
Hvis skjemaer er noe for deg, så er du her! Vi andre kan enten gå gjennom trinn for trinn, eller se videoen.
- Plasser SAA1099 på enden av brødbrettet, med hakket på flisen mot enden.
- Nå, makt. VDD (pin 18) på SAA1099 går til strøm, deretter pin VSS (pin 9) til bakken.
- Sett deretter en ledning mellom CS (pin 2) og bakken for å holde den trukket lavt
Jeg vil også anbefale å ta en titt på databladet, som jeg har lagt ved.
Trinn 4: Kabling - TTL -oscillator
- Vi legger TTL -oscillatoren på brødbrettet ved siden av brødbrettet, slik at klokkeutgangsnålen er nærmest klokkeinngangen på SAA1099 (Pin 8)
- Du kan fortsette å koble strøm og jord til TTL -oscillatoren. (Jeg ventet til senere i videoen min, så jeg har ikke et bilde). Bildet ovenfor viser hvilke pinner som er hvilke.
Trinn 5: Kabling - Iref og Chip -grensesnitt
- Koble 10K -motstanden mellom Iref (pin 6) og 5V.
- Koble digital pin 8 til WR (pin 1) på SAA1099.
- Koble digital pin 9 til A0 (pin 3) på SAA1099.
Trinn 6: Kabling - lydkomponenter
- Koble en 100pF kondensator mellom OUTR (pin 4) og GND
- Koble en 1K motstand mellom OUTR (pin 4) og 5V
- Vi gjør det samme for OUTL (pin 5)
- Koble en 100pF kondensator mellom OUTL (pin 5) og GND
- Koble en 1K motstand mellom OUTL (pin 5) og 5V
Merk! Sørg for at ingen av ledningene fra motstandene/kondensatorene berører hverandre, ellers fungerer ikke ting og kan (foreløpig) potensielt blåse opp i ansiktet ditt.
Trinn 7: Kabling - Lydkontakt
- Koble en liten startkabel mellom 5V og en tom rad på brødbrettet.
- Plasser lydkontakten, slik at jumperen fra 5V kobles til "Sleeve" -pinnen på Audio Jack
- Koble L og R (eller lydpinnen, hvis du har en Mono -kontakt) til henholdsvis OUTL (pin 5) og OUTR (pin 4) på SAA1099.
Merk! På Mono -lydkontakter spiller det ingen rolle hva som skjer, så lenge en pinne kobles til 5V, og en til OUTL eller OUTR. Det høres helt greit ut. Med mindre det ikke gjør det, kan det være lurt å sjekke ledningene igjen.
Trinn 8: Kabling - Strøm til brødbrett
- Koble begge sider av Breadboard -strømbussen til hverandre ved hjelp av hoppetråder.
- Koble den ene siden til 5V- og GND -pinnene på Arduino, og pass på at du ikke har blandet ledningene noe sted. Hvis du gjorde det, kan den magiske røyken slippe unna.
Trinn 9: Kabling - Datalinjer
Koble D0 til D7 på Arduino til D0 (pin 10) til D7 (pin 17) på SAA1099, i rekkefølge
Jeg finner ut at DuPont kvinnelige-hunstikkswirer, med 15-20MM toppnål i hver ende, fungerer mye bedre enn mannlige-mannlige dupont-ledninger. I tillegg kan du også bruke dem som hunn-kvinne eller mann-kvinne. Begge er lett å finne på eBay i store mengder, for små endringer. En god julegave til den håpefulle Arduino -junkien!
Trinn 10: Valgfri LED (er)
Jeg vil ikke gå over trinn for trinn hvordan du bygger alt her, men det er flere gode steder å legge til lysdioder. Først og fremst koblet jeg en 3 mm rød LED mellom WR (pin 1) og GND, for å vise hver gang Arduino sender en kommando til SAA1099.
Jeg har også koblet lysdioder til datalinjene før, som lar deg se de faktiske binære dataene på hver linje. Jeg brukte dette oppsettet i videoen min "Arduino og SAA1099 - Fireflies", i tillegg til ytterligere 6 lysdioder og litt ekstra kode for å lyse opp hver LED for hver kanal som var aktiv.
Jo flere lysdioder, jo kjøligere ser det ut!
Trinn 11: Kode
Nå som du har bygget kretsen, må du dobbeltsjekke tilkoblingene! Du vil ikke sprenge din dyre arduino og Soundchip! (Hvis du gjør det, vel. Det er ikke min sak)
Forutsatt at du er tilregnelig og har sjekket alt, kan vi begynne å programmere det.
- Biblioteket er på
- Du vil ha SAATunes.zip -filen, så fortsett og last ned den.
- Åpne nå Arduino IDE.
- Under "Skisse", "Inkluder bibliotek" klikker du på "Legg til.zip -bibliotek"
- Naviger til hvor du lastet ned SAATunes -biblioteket. (Jeg bryr meg ikke om det var skrivebordet ditt, nedlastinger eller (sett inn noe pinlig) mappe- Bare finn det)
- Velg det, og klikk "Åpne"
- Det skal fortelle deg at det er lagt til bibliotekene dine.
Trinn 12: Test det
- Åpne eksempelet SAATunes-programmet, under "Fil", "Eksempler", "SAATunes", "SAATunes-Uno".
- Koble Arduino til datamaskinen og til en eller annen høyttaler.
- Last opp programmet til Arduino.
Du bør høre et akkord, deretter Beethovens raseri over en tapt krone. Hvis klassisk ikke er din greie, ikke vær redd, for vi lærer snart hvordan vi bruker MIDI -filer etter eget valg.
Hvis du ikke hører noe, må du sjekke noen ting: Først, er høyttaleren på? Snu den helt opp. Er arduinoen virkelig på? Lastet programmet opp riktig? Kontroller alle ledninger med skjematisk og datablad, og prøv igjen.
Trinn 13: Bruke dine egne MIDI -filer - konverteringsprogram
Klar til å prøve noe annet enn Beethoven? Veldig bra, her går du.
For å konvertere MIDI -filer til C ++ Bytestreams trenger vi et program av Len Shustek. Han er skaperen av biblioteket jeg baserte koden min på, og biblioteket mitt bruker det samme bytream -formatet som han gjør.
- Du finner programmet på
- Programmet du ønsker er "miditones.exe". Fortsett og last ned det.
Trinn 14: Konvertering av MIDI -filer
Advarsel! Her er det ascii -drager! Du vil kanskje synes det er lettere å se videoen, der du kan se nøyaktig hva jeg snakker om. Hvis du tør å gå inn, så fortsett!
For å bruke MIDI til Bytestream konverteringsprogram, må du åpne et ledetekstvindu. Beklager Mac- og Linux -brukere, det kan hende du må finne en løsning.
- Åpne startmenyen, og skriv "CMD", og trykk deretter enter.
- Vi skal lære litt MS-DOS magi nå. Bruk kommandoen "CD" til å navigere til hvor du lastet ned "miditones.exe" -filen til. I de fleste tilfeller vil kommandoene være "cd -nedlastinger".
- Kjør "miditones.exe" -programmet ved å skrive "miditones". Det bør vise deg en hjelpeliste som viser de vanligste kommandoene.
Nå trenger vi en MIDI -fil for å konvertere. Finn en et sted på interwebs, helst uten perkusjon eller noen spesielle effekter i tillegg til forekomster/hastighet. (Hvis du ikke vet hva det er, ikke bekymre deg, det går bra)
- Last ned MIDI -filen din til samme sted som du har "miditones" -programmet.
- Nå, ved hjelp av ledetekstvinduet, skriver du "miditones -d -v [filnavn]" (Erstatt [filnavn] med navnet på MIDI -filen din).
- miditones vil generere en. C -fil med C ++ bytestream i samme mappe, med samme navn som MIDI -filen.
Trinn 15: Bruke den konverterte MIDI -filen
Nå som du har konvertert MIDI -filen, la oss mate den i små byte til arduinoen!
- Forutsatt at du allerede har SAATunes-Uno-eksemplet åpent, la oss gå videre og "lagre som" noe annet, så vi kan redigere det.
- Når du har lagret det, klikker du på den lille "pil ned" -ikonet øverst til høyre.
- Klikk på "ny fane", og gi den navnet "[navn].h" (Erstatt [navn] med navnet på MIDI -sangen din, eller hva du vil)
- Nå åpner du. C -filen som miditones opprettet tidligere. Du kan bruke notisblokk for å åpne den.
- Bruk CNTRL/A for å velge alt, og kopier det deretter.
- Lim den inn i den nye "[navn].h" -fanen i arduino -editoren.
Alt er bra her, så la oss komme tilbake til programmet.
- Finn hvor det står "#include" RagePenny.h "", og kopier/lim den inn på en ny linje nedenfor.
- Endre "RagePenny.h" til hva du kalte den nye filen.
- Kommenter nå "#include" RagePenny.h "", ved å legge til to skråstreker (//) foran den.
- Last opp programmet!
Hvis alt gikk bra, burde det være å spille din egen MIDI -fil. Hvis ikke, sjekk på nytt for å kontrollere at navnene på den nye fanen og navnet du endret i "#include" RagePenny.h "" er de samme. Sjekk de andre trinnene, og sørg for at du gjorde alt riktig. Noen MIDI -filer fungerer bare ikke, men de er sjeldne.
Trinn 16: Fin
Forhåpentligvis har alt gått bra med deg, og du jammer ut til MIDI -filer på et gammelt stykke teknologi gitt nytt liv!
Men hvis du ikke er det, ikke gi opp! Send en kommentar på min måte, så hjelper jeg deg gjerne. Selvfølgelig, gi meg gjerne forslag i kommentarene.
Glade chiptunes!
Anbefalt:
Lag din egen Retro Nixie -klokke med en RTC !: 7 trinn (med bilder)
Lag din egen Retro Nixie -klokke med en RTC !: I dette prosjektet vil jeg vise deg hvordan du lager en retro nixie -klokke. Det betyr at jeg vil vise deg hvordan du kan kontrollere nixie -rør med en høyspent likestrøm, og så vil jeg kombinere 4 nixie -rør med en Arduino, en sanntidsklokke (RTC) og en kopp
Retro-spillemaskin med bringebær-PI, RetroPie og hjemmelaget etui: 17 trinn (med bilder)
Retro-spillemaskin med Raspberry PI, RetroPie og hjemmelaget sak: For en tid siden fant jeg en Linux-distribusjon for Raspberry Pi som heter RetroPie. Jeg fant ut umiddelbart at det er en god idé med en flott implementering. Ett-spillers retro-spillsystem uten unødvendige funksjoner. Strålende etter bestemte jeg meg for å
LED Pixel Art Frame med Retro Arcade Art, appstyrt: 7 trinn (med bilder)
LED Pixel Art Frame med Retro Arcade Art, App Controlled: LAG EN APP -KONTROLLERT LED ART -FRAME MED 1024 LEDS DET VISER RETRO 80 -tallet ARCADE GAME ART PartsPIXEL Makers Kit - $ 59Adafruit 32x32 P4 LED Matrix - $ 49.9512x20 tommers akrylark, 1/8 " tomme tykk - Gjennomsiktig lett røyk fra Tap Plastics
Retro spillkonsoll (N64 Mod) med KODI: 7 trinn (med bilder)
Retro spillkonsoll (N64 Mod) Med KODI: Å spille retro -spill på gamle skolekonsoller er veldig gøy, men å kjøpe de enkelte konsollene og alle spillene som følger med det er for tungvint og dyrt! For ikke å snakke om du er høyskole/universitetsstudent og flytter leilighet før
Håndmalt arkadekabinett med retro/romtema: 6 trinn (med bilder)
Håndmalt Retro/Space Themed Arcade Cabinet: Velkommen til min guide for å lage ditt eget Space/Retro Gaming tema Bordplate Retro arkadeskap! For dette instruksjonsmateriellet trenger du: Raspberry Pi 3 eller 2 Board (RSComponents eller Pimoroni) &pund; 28- 34 Micro USB-kabel til strøm Raspberry Pi 28-1