Innehållsförteckning:

Retro ljudchip med en Arduino - SAA1099: 16 steg (med bilder)
Retro ljudchip med en Arduino - SAA1099: 16 steg (med bilder)

Video: Retro ljudchip med en Arduino - SAA1099: 16 steg (med bilder)

Video: Retro ljudchip med en Arduino - SAA1099: 16 steg (med bilder)
Video: Commodore 64 — тестирование блока питания и конденсаторов — что проверить перед включением питания 2024, November
Anonim
Image
Image
Kabeldragning - SAA1099
Kabeldragning - SAA1099

I denna instruerbara, kommer jag att visa dig hur du använder en Arduino Uno med en vintage ljud syntes chip, för att spela midi -filer i fyrkantig vågig godhet!

Om du bara vill ha en snabb överblick över vad detta projekt gör, titta på videon ovan. Annars, fortsätt!

Steg 1: Video

Image
Image

Om du föredrar alla dina instruktioner i tydliga, kortfattade videor har vi täckt dig!

För oss andra kan du fortsätta, för lite mer detaljer och skriftliga instruktioner.

Steg 2: Delar och material

För detta behöver du följande saker:

(Länkarna är för eBay -artiklar)

  • En Arduino (Uno, Nano, Leonardo, de borde alla fungera)
  • Åtminstone en medelstor brödbräda
  • SAA1099 Stereo Sound Generator -chip
  • Breadboard-bygeltrådar (Alternativt gillar jag att använda dupont-kvinnliga till kvinnliga hoppare, med 20 mm huvudstiften insatta i endera änden- Mycket robustare)
  • 8Mhz TTL -oscillator (AliExpress -länk som tillhandahålls av zweigelt)
  • Stereo (eller mono) ljuduttag
  • 2 x 1K motstånd (lot om 100)
  • 1 x 10K motstånd (mycket om 50)
  • 2 x 100pF kondensatorer
  • (Valfritt) Vissa lysdioder, minst 1 (valfri färg, här är 100 olika färger för en dollar!)

Med hjälp av länkarna är den totala kostnaden $ 23,25, inklusive frakt. Naturligtvis kommer det mesta från halvvägs över hela världen, så frakten tar vanligtvis ungefär en månad. Om du vill ha snabbare frakt måste du förmodligen betala lite mer.

Steg 3: Kabeldragning - SAA1099

Kabeldragning - SAA1099
Kabeldragning - SAA1099
Kabeldragning - SAA1099
Kabeldragning - SAA1099

Om scheman är din grej, här är du! Vi andra kan antingen gå igenom steg för steg eller titta på videon.

  • Placera SAA1099 i slutet av brödbrädan, med skåran på flisen vänd mot änden.
  • Nu, makt. VDD (stift 18) på SAA1099 går till ström, sedan stift VSS (stift 9) till jord.
  • Lägg sedan en tråd mellan CS (stift 2) och marken för att hålla den låg

Jag skulle också rekommendera att ta en titt på databladet, som jag har bifogat.

Steg 4: Kabeldragning - TTL -oscillator

Kabeldragning - TTL -oscillator
Kabeldragning - TTL -oscillator
Kabeldragning - TTL -oscillator
Kabeldragning - TTL -oscillator
  • Vi lägger TTL -oscillatorn på brödbrädan bredvid brödbrädan, så att klockutgångsstiften är närmast klockingången på SAA1099 (stift 8)
  • Du kan fortsätta ansluta ström och jord till TTL -oscillatorn. (Jag väntade till senare i min video, så jag har ingen bild). Bilden ovan visar vilka stift som är vilka.

Steg 5: Kabeldragning - Iref och Chip -gränssnitt

Kabeldragning - Iref och Chip -gränssnitt
Kabeldragning - Iref och Chip -gränssnitt
Kabeldragning - Iref och Chip -gränssnitt
Kabeldragning - Iref och Chip -gränssnitt
  • Anslut 10K -motståndet mellan Iref (stift 6) och 5V.
  • Anslut den digitala stift 8 till WR (stift 1) på SAA1099.
  • Anslut digital stift 9 till A0 (stift 3) på SAA1099.

Steg 6: Kabeldragning - Ljudkomponenter

Kabeldragning - Ljudkomponenter
Kabeldragning - Ljudkomponenter
Kabeldragning - Ljudkomponenter
Kabeldragning - Ljudkomponenter
Kabeldragning - Ljudkomponenter
Kabeldragning - Ljudkomponenter
  • Anslut en 100pF kondensator mellan OUTR (stift 4) och GND
  • Anslut ett 1K -motstånd mellan OUTR (stift 4) och 5V
  • Vi gör samma sak för OUTL (stift 5)
  • Anslut en 100pF kondensator mellan OUTL (stift 5) och GND
  • Anslut ett 1K -motstånd mellan OUTL (stift 5) och 5V

Notera! Se till att ingen av ledningarna från motstånden/kondensatorerna rör vid varandra, annars fungerar inte saker och kan (preliminärt) eventuellt sprängas i ansiktet.

Steg 7: Kabeldragning - Ljuduttag

Kabeldragning - Ljuduttag
Kabeldragning - Ljuduttag
Kabeldragning - Ljuduttag
Kabeldragning - Ljuduttag
Kabeldragning - Ljuduttag
Kabeldragning - Ljuduttag
  • Anslut en liten bygelkabel mellan 5V och en tom rad på brödbrädet.
  • Placera ditt ljuduttag så att bygeln från 5V ansluts till "Sleeve" -stiftet på Audio Jack
  • Anslut L och R (eller ljudstiftet, om du har ett Mono -uttag) till OUTL (stift 5) respektive OUTR (stift 4) stift på SAA1099.

Notera! På Mono -ljuduttag spelar det verkligen ingen roll vad som händer, så länge en stift ansluts till 5V och en till OUTL eller OUTR. Det kommer låta bra. Om det inte gör det, i så fall kanske du vill kontrollera dina ledningar igen.

Steg 8: Kabeldragning - Ström till brödbräda

Kabeldragning - Ström till brödbräda
Kabeldragning - Ström till brödbräda
Kabeldragning - Ström till brödbräda
Kabeldragning - Ström till brödbräda
  • Anslut Breadboard -motorbussens båda sidor till varandra med hjälp av bygelkablar.
  • Anslut ena sidan till 5V- och GND -stiften på Arduino, så att du inte har blandat ihop trådarna någonstans. Om du gjorde det kan den magiska röken komma undan.

Steg 9: Kabeldragning - datalinjer

Kabeldragning - datalinjer
Kabeldragning - datalinjer

Anslut D0 till D7 på Arduino till D0 (stift 10) till och med D7 (stift 17) på SAA1099, i ordning

Jag tycker att DuPont kvinnliga-kvinnliga bygelkablar, med 15-20MM huvudstiften i vardera änden, fungerar mycket bättre än man-han-duponttrådarna. Dessutom kan du också använda dem som kvinna-kvinna eller man-kvinna. Båda finns lätt på eBay i stora mängder, för små förändringar. En bra julklapp till den blivande Arduino -junkien!

Steg 10: Valfria lysdioder

Valfria LED -lampor
Valfria LED -lampor
Valfria lysdioder
Valfria lysdioder

Jag kommer inte att gå igenom steg för steg hur man bygger allt här, men det finns flera bra ställen att lägga till lysdioder på. Först och främst kopplade jag en 3 mm röd lysdiod mellan WR (stift 1) och GND, för att visa varje gång Arduino skickar ett kommando till SAA1099.

Jag har också anslutit lysdioder till datalinjerna tidigare, vilket gör att du kan se faktiska binära data på varje rad. Jag använde denna inställning i min "Arduino och SAA1099 - Fireflies" -video, samt ytterligare 6 lysdioder och lite extra kod för att tända varje lysdiod för varje kanal som var aktiv.

Ju fler lysdioder, desto svalare ser det ut!

Steg 11: Kod

Koda!
Koda!
Koda!
Koda!

Nu när du har byggt kretsen, dubbelkolla anslutningarna! Du vill inte spränga din dyra arduino och Soundchip! (Om du gör det, det är inte min sak)

Om vi antar att du är vettig och har kontrollerat allt, kan vi börja programmera det.

  • Biblioteket finns på
  • Du vill ha SAATunes.zip -filen, så fortsätt och ladda ner den.
  • Öppna nu Arduino IDE.
  • Under "Skiss", "Inkludera bibliotek", klicka på "Lägg till.zip -bibliotek"
  • Navigera dit du har laddat ner SAATunes -biblioteket. (Jag bryr mig inte om det var ditt skrivbord, nedladdningar eller (sätt in något pinsamt) mapp- Bara hitta det)
  • Välj det och klicka på "Öppna"
  • Det borde berätta att det har lagts till i dina bibliotek.

Steg 12: Testa det

Testa det!
Testa det!
Testa det!
Testa det!
  • Öppna exemplet SAATunes-program, under "Fil", "Exempel", "SAATunes", "SAATunes-Uno".
  • Anslut din Arduino till datorn och till en högtalare av något slag.
  • Ladda upp programmet till Arduino.

Du borde höra ett ackord, sedan Beethovens ilska över en förlorad slant. Om Klassisk inte är din grej, var inte rädd, för vi lär oss snart hur vi använder MIDI -filer efter eget val.

Om du inte hör något, kontrollera några saker: För det första, är din högtalare påslagen? Vrid det hela vägen. Är arduinoen verkligen på? Har programmet laddat upp korrekt? Kontrollera alla ledningar med schemat och databladet och försök sedan igen.

Steg 13: Använda dina egna MIDI -filer - konverteringsprogram

Använda dina egna MIDI -filer - konverteringsprogram
Använda dina egna MIDI -filer - konverteringsprogram

Redo att prova något annat än Beethoven? Mycket bra, här är du.

För att konvertera MIDI -filer till C ++ Bytestreams behöver vi ett program av Len Shustek. Han är skaparen av biblioteket som jag baserade min kod på, och mitt bibliotek använder samma bytest -format som han gör.

  • Du hittar programmet på
  • Programmet du vill ha är "miditones.exe". Fortsätt och ladda ner det.

Steg 14: Konvertera MIDI -filer

Konvertera MIDI -filer
Konvertera MIDI -filer
Konvertera MIDI -filer
Konvertera MIDI -filer
Konvertera MIDI -filer
Konvertera MIDI -filer

Varning! Här finns det ascii -drakar! Du kanske har lättare att titta på videon, där du kan se exakt vad jag pratar om. Om du vågar gå in, fortsätt sedan!

Om du vill använda konverteringsprogrammet MIDI till Bytestream måste du öppna ett kommandotolkfönster. Tyvärr Mac- och Linux -användare, du kan behöva hitta en lösning.

  • Öppna startmenyn och skriv "CMD" och tryck sedan på enter.
  • Vi ska lära oss lite MS-DOS magi nu. Med kommandot "CD" navigerar du till vart du laddade ner "miditones.exe" -filen. I de flesta fall kommer kommandona att vara "cd -nedladdningar".
  • Kör programmet "miditones.exe" genom att skriva "mellantoner". Det ska visa dig en hjälplista som visar de vanligaste kommandona.

Nu behöver vi en MIDI -fil för att konvertera. Hitta någonstans på interwebben, helst utan slagverk eller några specialeffekter förutom insturments/hastighet. (Om du inte vet vad det är, oroa dig inte, du kommer att må bra)

  • Ladda ner din MIDI -fil till samma plats som du har programmet "miditones".
  • Nu använder du kommandotolken och skriver "miditones -d -v [filnamn]" (Ersätt [filnamn] med vad namnet på din MIDI -fil än är).
  • miditones kommer att generera en. C -fil med C ++ -byteströmmen i samma mapp, med samma namn som MIDI -filen.

Steg 15: Använda din konverterade MIDI -fil

Använda din konverterade MIDI -fil
Använda din konverterade MIDI -fil
Använda din konverterade MIDI -fil
Använda din konverterade MIDI -fil
Använda din konverterade MIDI -fil
Använda din konverterade MIDI -fil

Nu när du har konverterat din MIDI -fil, låt oss mata den i små byte till arduino!

  • Förutsatt att du redan har SAATunes-Uno-exemplet öppet, låt oss gå vidare och "spara som" något annat, så att vi kan redigera det.
  • När du har sparat det klickar du på den lilla nedåtpilen i det övre högra hörnet.
  • Klicka på "ny flik" och ge den "[namn].h" (Ersätt [namn] med namnet på din MIDI -låt, eller vad du vill)
  • Öppna nu. C -filen som miditones skapade tidigare. Du kan använda anteckningsblock för att öppna den.
  • Använd CNTRL/A för att välja allt och kopiera det sedan.
  • Klistra in den i din nya "[namn].h" -flik i arduino -redigeraren.

Allt är bra här, så låt oss återgå till programmet.

  • Hitta var det står "#include" RagePenny.h "" och kopiera/klistra in den på en ny rad nedan.
  • Ändra "RagePenny.h" till vad du namngav din nya fil.
  • Kommentera nu "#include" RagePenny.h "" genom att lägga till två snedstreck (//) framför den.
  • Ladda upp programmet!

Om allt gick bra borde det spela din egen MIDI -fil. Om inte, kontrollera om namnen på den nya fliken och namnet du ändrade i "#include" RagePenny.h "" är desamma. Kontrollera de andra stegen och se till att du gjorde allt rätt. Vissa MIDI -filer fungerar bara inte, men de är sällsynta.

Steg 16: Fin

Fena!
Fena!

Förhoppningsvis har allt gått bra med dig, och du jammar ut till MIDI -filer på en gammal teknik som fått nytt liv!

Men om du inte är det, ge inte upp! Skicka en kommentar på mitt sätt så hjälper jag dig gärna. Naturligtvis får du gärna ge mig förslag i kommentarerna.

Glada chiptunes!

Rekommenderad: