Innholdsfortegnelse:

Retro lydbrikke med en Arduino - SAA1099: 16 trinn (med bilder)
Retro lydbrikke med en Arduino - SAA1099: 16 trinn (med bilder)

Video: Retro lydbrikke med en Arduino - SAA1099: 16 trinn (med bilder)

Video: Retro lydbrikke med en Arduino - SAA1099: 16 trinn (med bilder)
Video: Upgrading a Casio MX-10: Part 1 2024, November
Anonim
Image
Image
Kabling - SAA1099
Kabling - SAA1099

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

Image
Image

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

Kabling - SAA1099
Kabling - SAA1099
Kabling - SAA1099
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

Kabling - TTL -oscillator
Kabling - TTL -oscillator
Kabling - TTL -oscillator
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

Kabling - Iref og Chip -grensesnitt
Kabling - Iref og Chip -grensesnitt
Kabling - Iref og Chip -grensesnitt
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

Kabling - lydkomponenter
Kabling - lydkomponenter
Kabling - lydkomponenter
Kabling - lydkomponenter
Kabling - lydkomponenter
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

Kabling - Lydkontakt
Kabling - Lydkontakt
Kabling - Lydkontakt
Kabling - Lydkontakt
Kabling - Lydkontakt
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

Kabling - Strøm til brødbrett
Kabling - Strøm til brødbrett
Kabling - Strøm til brødbrett
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

Kabling - Datalinjer
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)

Valgfri LED (er)
Valgfri LED (er)
Valgfri LED (er)
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

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

Test det!
Test det!
Test det!
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

Bruke dine egne MIDI -filer - konverteringsprogram
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

Konvertering av MIDI -filer
Konvertering av MIDI -filer
Konvertering av MIDI -filer
Konvertering av MIDI -filer
Konvertering av MIDI -filer
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

Bruke din konverterte MIDI -fil
Bruke din konverterte MIDI -fil
Bruke din konverterte MIDI -fil
Bruke din konverterte MIDI -fil
Bruke din konverterte MIDI -fil
Bruke din konverterte MIDI -fil

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

Fin!
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: