Indholdsfortegnelse:
- Trin 1: Video
- Trin 2: Dele og materialer
- Trin 3: Ledningsføring - SAA1099
- Trin 4: Ledningsføring - TTL -oscillator
- Trin 5: Ledningsføring - Iref og Chip -grænseflade
- Trin 6: Kabelføring - lydkomponenter
- Trin 7: Ledningsføring - lydstik
- Trin 8: Kabelføring - Strøm til brødbræt
- Trin 9: Kabelføring - datalinjer
- Trin 10: Valgfri LED (er)
- Trin 11: Kode
- Trin 12: Test det
- Trin 13: Brug af dine egne MIDI -filer - konverteringsprogram
- Trin 14: Konvertering af MIDI -filer
- Trin 15: Brug af din konverterede MIDI -fil
- Trin 16: Fin
Video: Retro lydchip med en Arduino - SAA1099: 16 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
I denne instruktive vil jeg vise dig, hvordan du bruger en Arduino Uno med en vintage lydsyntesechip, til at afspille midifiler i firkantet bølget godhed!
Hvis du bare vil have et hurtigt overblik over, hvad dette projekt gør, kan du se ovenstående video. Ellers fortsæt!
Trin 1: Video
Hvis du foretrækker alle dine instruktioner i klare, præcise videoer, har vi dækket dig!
For os andre kan du fortsætte, lidt mere detaljeret og skriftlige instruktioner.
Trin 2: Dele og materialer
Til dette skal du bruge disse ting:
(Linkene er til eBay -varer)
- En Arduino (Uno, Nano, Leonardo, de burde alle arbejde)
- I hvert fald et mellemstort brødbræt
- SAA1099 Stereo Sound Generator -chip
- Breadboard jumperwires (Alternativt kan jeg godt lide at bruge dupont hun til hun jumpere, med 20 mm headerstifter indsat i hver ende- Meget mere robust)
- 8Mhz TTL Oscillator (AliExpress link som leveret af zweigelt)
- Stereo (eller mono) lydstik
- 2 x 1K modstande (lot på 100)
- 1 x 10K modstand (parti med 50)
- 2 x 100pF kondensatorer
- (Valgfrit) Nogle lysdioder, mindst 1 (enhver farve, her er 100 forskellige farver for en dollar!)
Ved hjælp af de medfølgende links er den samlede pris $ 23,25 inklusive forsendelse. Selvfølgelig kommer det meste fra halvvejs i hele verden, så forsendelse tager normalt omkring en måned. Hvis du vil have hurtigere forsendelse, skal du sandsynligvis betale lidt mere.
Trin 3: Ledningsføring - SAA1099
Hvis skemaer er din ting, så skal du gå! Vi andre kan enten gå trin for trin igennem eller se videoen.
- Placer SAA1099 for enden af brødbrættet, med hakket på chippen mod enden.
- Nu, magt. VDD (pin 18) på SAA1099 går til strøm, derefter pin VSS (pin 9) til jorden.
- Sæt derefter en ledning mellem CS (pin 2) og jord, for at holde den trukket lavt
Jeg vil også anbefale at tage et kig på databladet, som jeg har vedhæftet.
Trin 4: Ledningsføring - TTL -oscillator
- Vi sætter TTL -oscillatoren på brødbrættet ved siden af brødbrættet, så urudgangsstiften er tættest på urindgangen på SAA1099 (Pin 8)
- Du kan fortsætte med at tilslutte strøm og jord til TTL -oscillatoren. (Jeg ventede til senere i min video, så jeg har ikke et billede). Ovenstående billede viser hvilke stifter der er hvilke.
Trin 5: Ledningsføring - Iref og Chip -grænseflade
- Tilslut 10K modstanden mellem Iref (pin 6) og 5V.
- Tilslut digital pin 8 til WR (pin 1) på SAA1099.
- Tilslut digital pin 9 til A0 (pin 3) på SAA1099.
Trin 6: Kabelføring - lydkomponenter
- Tilslut en 100pF kondensator mellem OUTR (pin 4) og GND
- Tilslut en 1K modstand mellem OUTR (pin 4) og 5V
- Vi gør det samme for OUTL (pin 5)
- Tilslut en 100pF kondensator mellem OUTL (pin 5) og GND
- Tilslut en 1K modstand mellem OUTL (pin 5) og 5V
Bemærk! Sørg for, at ingen af ledningerne fra modstandene/kondensatorerne rører, ellers fungerer ting ikke og kan (foreløbig) potentielt sprænge i dit ansigt.
Trin 7: Ledningsføring - lydstik
- Tilslut en lille jumperledning mellem 5V og en tom række på brødbrættet.
- Placer dit lydstik, så jumperen fra 5V forbinder til "Sleeve" -stiften på lydstikket
- Tilslut L og R (eller lydstift, hvis du har et Mono -stik) til henholdsvis OUTL (pin 5) og OUTR (pin 4) på SAA1099.
Bemærk! På Mono -lydstik er det virkelig ligegyldigt, hvad der foregår, så længe en pin forbindes til 5V, og en til OUTL eller OUTR. Det lyder helt fint. Medmindre det ikke gør det, kan du i så fald kontrollere din ledning igen.
Trin 8: Kabelføring - Strøm til brødbræt
- Tilslut begge sider af Breadboard powerbussen til hinanden ved hjælp af jumperwires.
- Tilslut den ene side til 5V- og GND -benene på Arduino, og sørg for, at du ikke har blandet ledningerne op nogen steder. Hvis du gjorde det, kan den magiske røg slippe ud.
Trin 9: Kabelføring - datalinjer
Tilslut D0 til D7 på Arduino til D0 (pin 10) til D7 (pin 17) på SAA1099, i rækkefølge
Jeg finder ud af, at DuPont hun-hun-jumper-tråde, med 15-20MM headerstifter i hver ende, fungerer meget bedre end han-han-dupont-ledningerne. Plus du kan også bruge dem som kvinde-kvinde eller mand-kvinde. Begge findes let på eBay i store mængder, til små ændringer. En god julegave til den håbefulde Arduino -junkie!
Trin 10: Valgfri LED (er)
Jeg vil ikke gå trin for trin over, hvordan man bygger alt her, men der er flere gode steder at tilføje lysdioder. Først og fremmest tilsluttede jeg en 3 mm rød LED mellem WR (pin 1) og GND, for at vise hver gang Arduino sender en kommando til SAA1099.
Jeg har også før forbundet LED'er til datalinjerne, hvilket giver dig mulighed for at se de faktiske binære data på hver linje. Jeg brugte denne opsætning i min "Arduino og SAA1099 - Fireflies" video, samt 6 flere lysdioder og lidt ekstra kode til at tænde hver LED for hver kanal, der var aktiv.
Jo flere lysdioder, jo køligere ser det ud!
Trin 11: Kode
Nu hvor du har bygget kredsløbet, skal du dobbelttjekke forbindelserne! Du vil ikke sprænge din dyre arduino og Soundchip! (Hvis du gør det, ja. Det er ikke min sag)
Forudsat at du er fornuftig og har kontrolleret alt, kan vi begynde at programmere det.
- Biblioteket er på
- Du vil have SAATunes.zip -filen, så fortsæt og download den.
- Åbn nu Arduino IDE.
- Klik på "Tilføj.zip -bibliotek" under "Skitse", "Inkluder bibliotek".
- Naviger til det sted, hvor du downloadede SAATunes -biblioteket. (Jeg er ligeglad med, om det var dit skrivebord, downloads eller (indsæt noget pinligt) mappe- Find det bare)
- Vælg det, og klik på "Åbn"
- Det skulle fortælle dig, at det er blevet føjet til dine biblioteker.
Trin 12: Test det
- Åbn eksempelet SAATunes-program under "Fil", "Eksempler", "SAATunes", "SAATunes-Uno".
- Slut din Arduino til computeren og til en slags højttaler.
- Upload programmet til Arduino.
Du burde høre en akkord, derefter Beethovens vrede over en tabt krone. Hvis Klassisk ikke er din ting, skal du ikke være bange, for vi lærer snart, hvordan vi bruger MIDI -filer efter eget valg med det.
Hvis du ikke hører noget, skal du kontrollere et par ting: Først er din højttaler tændt? Vend det helt op. Så er arduinoen virkelig tændt? Uploadede programmet korrekt? Kontroller alle ledninger med skematisk og datablad, og prøv derefter igen.
Trin 13: Brug af dine egne MIDI -filer - konverteringsprogram
Klar til at prøve noget andet end Beethoven? Godt, her går du.
For at konvertere MIDI -filer til C ++ Bytestreams skal vi bruge et program af Len Shustek. Han er skaberen af biblioteket, jeg baserede min kode på, og mit bibliotek bruger det samme bytestream -format, som han gør.
- Du kan finde programmet på
- Det program, du ønsker, er "miditones.exe". Fortsæt og download det.
Trin 14: Konvertering af MIDI -filer
Advarsel! Her er der ascii -drager! Du finder det måske lettere at se videoen, hvor du kan se præcis, hvad jeg taler om. Hvis du tør komme ind, så fortsæt!
For at bruge konverteringsprogrammet MIDI til Bytestream skal du åbne et kommandopromptvindue. Beklager Mac- og Linux -brugere, du skal muligvis finde en løsning.
- Åbn startmenuen, og skriv "CMD", og tryk derefter på enter.
- Vi skal lære lidt MS-DOS magi nu. Brug kommandoen "CD" til at navigere til det sted, hvor du downloadede filen "miditones.exe". I de fleste tilfælde vil kommandoerne være "cd -downloads".
- Kør programmet "miditones.exe" ved at skrive "miditones". Det skulle vise dig en hjælpeliste, der viser de mest almindelige kommandoer.
Nu skal vi bruge en MIDI -fil til at konvertere. Find et sted på interwebs, helst uden slagtøj eller specielle effekter udover insturments/hastighed. (Hvis du ikke ved, hvad det er, skal du ikke bekymre dig, det går godt)
- Download din MIDI -fil det samme sted, hvor du har "miditones" -programmet.
- Brug nu kommandopromptvinduet til at skrive "miditones -d -v [filnavn]" (Erstat [filnavn] med hvad navnet på din MIDI -fil er).
- miditones vil generere en. C -fil med C ++ bytestream i den samme mappe, med samme navn som MIDI -filen.
Trin 15: Brug af din konverterede MIDI -fil
Nu hvor du har konverteret din MIDI -fil, lad os fodre den i små bytes til arduinoen!
- Forudsat at du allerede har SAATunes-Uno-eksemplet åbent, lad os gå videre og "gemme som" noget andet, så vi kan redigere det.
- Når du har gemt det, skal du klikke på det lille "pil ned" -ikon i øverste højre hjørne.
- Klik på "ny fane", og navngiv det "[navn].h" (Erstat [navn] med navnet på din MIDI -sang, eller hvad du nu vil)
- Åbn nu. C -filen, som miditones oprettede tidligere. Du kan bruge notesblok til at åbne den.
- Brug CNTRL/A til at vælge alt, og kopier det derefter.
- Indsæt det i din nye "[navn].h" fane i arduino -editoren.
Alt er godt her, så lad os vende tilbage til programmet.
- Find, hvor der står "#include" RagePenny.h "", og kopier/indsæt det på en ny linje herunder.
- Skift "RagePenny.h" til hvad du har navngivet din nye fil.
- Kommenter nu "#include" RagePenny.h "" ved at tilføje to skråstreger (//) foran den.
- Upload programmet!
Hvis alt gik godt, skulle det afspille din egen MIDI -fil. Hvis ikke, skal du kontrollere igen for at sikre, at navnene på den nye fane og det navn, du ændrede i "#include" RagePenny.h "" er de samme. Kontroller de andre trin, og sørg for, at du gjorde alt rigtigt. Nogle MIDI -filer virker bare ikke, men de er sjældne.
Trin 16: Fin
Forhåbentlig er alt gået godt med dig, og du jammer ud til MIDI -filer på et gammelt stykke teknologi givet nyt liv!
Men hvis du ikke er det, skal du ikke give op! Send en kommentar på min måde, så hjælper jeg gerne. Selvfølgelig er du velkommen til at give mig forslag i kommentarerne.
Glade chiptunes!
Anbefalede:
Lav dit eget Retro Nixie -ur med en RTC !: 7 trin (med billeder)
Lav dit eget Retro Nixie -ur med en RTC !: I dette projekt vil jeg vise dig, hvordan du opretter et retro nixie -ur. Det betyder, at jeg vil vise dig, hvordan du kan styre nixie -rør med en højspændings jævnstrømforsyning, og derefter vil jeg kombinere 4 nixie -rør med en Arduino, et Real Time Clock (RTC) og en cu
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Retro-spillemaskine med hindbær PI, RetroPie og hjemmelavet kasse: 17 trin (med billeder)
Retro-spillemaskine med Raspberry PI, RetroPie og hjemmelavet sag: For noget tid siden fandt jeg en Linux-distribution til Raspberry Pi ved navn RetroPie. Jeg fandt straks ud af, at det er en god idé med en fantastisk implementering. One-purpose retro-gaming system uden unødvendige funktioner. Strålende efter besluttede jeg mig for at
LED Pixel Art Frame med Retro Arcade Art, Appstyret: 7 trin (med billeder)
LED Pixel Art Frame Med Retro Arcade Art, App Controlled: GØR EN APP KONTROLLERET LED ART FRAME MED 1024 LED'ER, DER VISER RETRO 80'erne ARCADE GAME ART PartsPIXEL Makers Kit - $ 59Adafruit 32x32 P4 LED Matrix - $ 49,9512x20 tommer akrylark, 1/8 " tomme tyk - Gennemsigtig let røg fra Tap Plastics
Retro spilkonsol (N64 Mod) med KODI: 7 trin (med billeder)
Retro gaming -konsol (N64 Mod) Med KODI: At spille retro -spil på gamle skolekonsoller er meget sjovt, men at købe de enkelte konsoller og alle de spil, der følger med det, er for besværligt og dyrt! For ikke at nævne, hvis du er college/universitetsstuderende og flytter lejligheder før