Cuprins:

Cip de sunet retro cu un Arduino - SAA1099: 16 pași (cu imagini)
Cip de sunet retro cu un Arduino - SAA1099: 16 pași (cu imagini)

Video: Cip de sunet retro cu un Arduino - SAA1099: 16 pași (cu imagini)

Video: Cip de sunet retro cu un Arduino - SAA1099: 16 pași (cu imagini)
Video: Retro music box with Arduino and SAA1099 2024, Noiembrie
Anonim
Image
Image
Cablare - SAA1099
Cablare - SAA1099

În acest instructable, vă voi arăta cum să utilizați un Arduino Uno cu un cip de sinteză sunet vintage, pentru a reda fișiere midi în bunătate pătrată!

Dacă doriți doar o prezentare rapidă a ceea ce face acest proiect, urmăriți videoclipul de mai sus. În caz contrar, continuați!

Pasul 1: Video

Image
Image

Dacă preferați toate instrucțiunile dvs. în videoclipuri clare și concise, vă oferim acoperire!

Pentru ceilalți dintre noi, puteți continua, pentru un pic mai multe detalii și instrucțiuni scrise.

Pasul 2: Piese și materiale

Pentru aceasta, veți avea nevoie de aceste lucruri:

(Linkurile sunt pentru articole eBay)

  • Un Arduino (Uno, Nano, Leonardo, ar trebui să funcționeze cu toții)
  • Cel puțin un panou de dimensiuni medii
  • Cipul SAA1099 Stereo Sound Generator
  • Firele jumperului pentru panouri (alternativ, îmi place să folosesc jumperi dupont de la femelă la femelă, cu pini de antet de 20 mm introduși în ambele capete - Mult mai robust)
  • Oscilator TTL de 8Mhz (link AliExpress furnizat de zweigelt)
  • Jack audio stereo (sau mono)
  • 2 rezistențe 1K (lot de 100)
  • 1 rezistor de 10 K (lot de 50)
  • 2 x condensatori 100pF
  • (Opțional) Unele LED-uri, cel puțin 1 (Orice culoare, iată 100 de culori asortate pentru un dolar!)

Folosind linkurile furnizate, costul total este de 23,25 USD, inclusiv transportul. Desigur, cea mai mare parte provine din jumătatea drumului din întreaga lume, astfel încât transportul durează de obicei aproximativ o lună. Dacă doriți o expediere mai rapidă, probabil că va trebui să plătiți un pic mai mult.

Pasul 3: Cablare - SAA1099

Cablare - SAA1099
Cablare - SAA1099
Cablare - SAA1099
Cablare - SAA1099

Dacă schemele sunt lucrurile tale, iată-te! Restul dintre noi putem fie să parcurgem pas cu pas, fie să vizionăm videoclipul.

  • Așezați SAA1099 la capătul panoului, cu crestătura de pe cip orientată spre capăt.
  • Acum, putere. VDD (pinul 18) de pe SAA1099 pornește, apoi pinul VSS (pinul 9) la masă.
  • Apoi, puneți un fir între CS (pinul 2) și masă, pentru a-l ține jos

Aș recomanda, de asemenea, să aruncați o privire la foaia tehnică, pe care am atașat-o.

Pasul 4: Cablare - Oscilator TTL

Cablare - Oscilator TTL
Cablare - Oscilator TTL
Cablare - Oscilator TTL
Cablare - Oscilator TTL
  • Vom pune oscilatorul TTL pe panoul de lângă panou, astfel încât pinul de ieșire al ceasului să fie cel mai apropiat de intrarea de ceas de pe SAA1099 (Pinul 8)
  • Puteți merge mai departe și puteți conecta alimentarea și împământarea la oscilatorul TTL. (Am așteptat mai târziu în videoclipul meu, deci nu am o imagine). Imaginea de mai sus arată care sunt ace.

Pasul 5: Cablare - Interfață Iref și Chip

Cablare - Interfață Iref și Chip
Cablare - Interfață Iref și Chip
Cablare - Interfață Iref și Chip
Cablare - Interfață Iref și Chip
  • Conectați rezistorul de 10K între Iref (pinul 6) și 5V.
  • Conectați pinul digital 8 la WR (pinul 1) de pe SAA1099.
  • Conectați pinul digital 9 la A0 (pinul 3) de pe SAA1099.

Pasul 6: Cablare - Componente sonore

Cablare - Componente sonore
Cablare - Componente sonore
Cablare - Componente sonore
Cablare - Componente sonore
Cablare - Componente sonore
Cablare - Componente sonore
  • Conectați un condensator de 100pF între OUTR (pinul 4) și GND
  • Conectați un rezistor de 1K între OUTR (pinul 4) și 5V
  • Vom face același lucru pentru OUTL (pinul 5)
  • Conectați un condensator de 100pF între OUTL (pinul 5) și GND
  • Conectați un rezistor de 1K între OUTL (pinul 5) și 5V

Notă! Asigurați-vă că niciunul dintre firele de la rezistențe / condensatori nu se atinge, altfel lucrurile nu vor funcționa și ar putea (tentativ) să vă explodeze în față.

Pasul 7: Cablare - mufă audio

Cablare - mufă audio
Cablare - mufă audio
Cablare - mufă audio
Cablare - mufă audio
Cablare - mufă audio
Cablare - mufă audio
  • Conectați un fir mic jumper între 5V și un rând gol de pe panou.
  • Așezați mufa audio, astfel încât jumperul de la 5V să se conecteze la pinul „Sleeve” de la mufa audio
  • Conectați L și R (sau pinul audio, dacă aveți o mufă mono) la pinii OUTL (pinul 5) și OUTR (pinul 4) de pe SAA1099, respectiv.

Notă! Pe mufele audio Mono, chiar nu contează ce se întâmplă, atâta timp cât un pin se conectează la 5V și unul la OUTL sau OUTR. Va suna foarte bine. Cu excepția cazului în care nu o face, caz în care ați putea dori să vă verificați din nou cablajul.

Pasul 8: Cablare - Alimentare pe panou

Cablare - Alimentare pe panou
Cablare - Alimentare pe panou
Cablare - Alimentare pe panou
Cablare - Alimentare pe panou
  • Conectați ambele părți ale magistralei de alimentare Breadboard una la cealaltă, folosind fire jumper.
  • Conectați o parte la pinii 5V și GND de pe Arduino, asigurându-vă că nu ați amestecat firele nicăieri. Dacă ai făcut-o, fumul magic poate scăpa.

Pasul 9: Cablare - Linii de date

Cablare - Linii de date
Cablare - Linii de date

Conectați D0 până la D7 de pe Arduino la D0 (pinul 10) prin D7 (pinul 17) de pe SAA1099, în ordine

Consider că firele jumper DuPont femelă-femeie, cu știfturi de antet de 15-20 MM la fiecare capăt, funcționează mult mai bine decât firele dupont bărbați-bărbați. În plus, le puteți folosi și ca femeie-femeie sau bărbat-femeie. Ambele sunt ușor de găsit pe eBay în cantități mari, pentru cantități mici de schimbare. Un cadou bun de Crăciun pentru aspirantul drogat Arduino!

Pasul 10: LED-uri opționale

LED-uri opționale
LED-uri opționale
LED-uri opționale
LED-uri opționale

Nu voi trece pas cu pas cum să construiesc totul aici, dar există câteva locuri bune pentru a adăuga LED-uri. În primul rând, am conectat un LED roșu de 3 mm între WR (pinul 1) și GND, pentru a arăta de fiecare dată când Arduino trimite o comandă către SAA1099.

De asemenea, am mai conectat LED-uri la liniile de date, ceea ce vă permite să vedeți datele binare reale pe fiecare linie. Am folosit această configurație în videoclipul „Arduino și SAA1099 - Fireflies”, precum și încă 6 LED-uri și câteva coduri suplimentare pentru a aprinde fiecare LED pentru fiecare canal activ.

Cu cât mai multe LED-uri, cu atât arată mai cool!

Pasul 11: Cod

Cod!
Cod!
Cod!
Cod!

Acum că ai construit circuitul, verifică conexiunile dublu! Nu vrei să arunci în aer scumpul tău arduino și Soundchip! (Dacă o faci, bine. Asta nu e treaba mea)

Presupunând că ești sănătos și că ai verificat totul, putem începe să îl programăm.

  • Biblioteca este la
  • Veți dori fișierul SAATunes.zip, așa că mergeți mai departe și descărcați-l.
  • Acum, deschideți ID-ul Arduino.
  • Sub „Schiță”, „Includeți biblioteca”, faceți clic pe „Adăugați o bibliotecă.zip”
  • Navigați oriunde ați descărcat biblioteca SAATunes. (Nu-mi pasă dacă a fost desktopul, descărcările dvs. sau folderul (introduceți ceva jenant) - Găsiți-l)
  • Selectați-l și faceți clic pe „Deschidere”
  • Ar trebui să vă spună că a fost adăugat în bibliotecile dvs.

Pasul 12: Testează-l

Testează-l!
Testează-l!
Testează-l!
Testează-l!
  • Deschideți exemplul programului SAATunes, sub „Fișier”, „Exemple”, „SAATunes”, „SAATunes-Uno”.
  • Conectați-vă Arduino la computer și la un difuzor de un fel.
  • Încărcați programul pe Arduino.

Ar trebui să auzi un acord, apoi Beethoven's Rage over a lost Penny. Dacă nu vă place Classical, nu vă temeți, pentru că vom învăța în curând cum să utilizați fișiere MIDI la alegere cu el.

Dacă nu auziți nimic, verificați câteva lucruri: Mai întâi, difuzorul dvs. este activat? Întoarceți-l până la capăt. Atunci, arduino este cu adevărat pornit? Programul s-a încărcat corect? Verificați toate cablurile cu schema și fișa tehnică, apoi încercați din nou.

Pasul 13: Utilizarea propriilor fișiere MIDI - Program de conversie

Utilizarea propriilor fișiere MIDI - Program de conversie
Utilizarea propriilor fișiere MIDI - Program de conversie

Sunteți gata să încercați altceva decât Beethoven? Foarte bine, iată-te.

Pentru a converti fișiere MIDI în C ++ Bytestreams, vom avea nevoie de un program de Len Shustek. El este creatorul bibliotecii pe care mi-am bazat codul, iar biblioteca mea folosește același format bytestream pe care îl are el.

  • Puteți găsi programul la
  • Programul pe care îl doriți este „miditones.exe”. Continuați și descărcați asta.

Pasul 14: Conversia fișierelor MIDI

Conversia fișierelor MIDI
Conversia fișierelor MIDI
Conversia fișierelor MIDI
Conversia fișierelor MIDI
Conversia fișierelor MIDI
Conversia fișierelor MIDI

Avertizare! Aici sunt dragoni ascii! S-ar putea să vă fie mai ușor să vizionați videoclipul, unde puteți vedea exact despre ce vorbesc. Dacă îndrăznești să intri, atunci continuă mai departe!

Pentru a utiliza programul de conversie MIDI în Bytestream, va trebui să deschideți o fereastră de prompt de comandă. Ne pare rău utilizatorii de Mac și Linux, poate că va trebui să găsiți o soluție.

  • Deschideți meniul de pornire și tastați „CMD”, apoi apăsați Enter.
  • Vom învăța acum o mică magie MS-DOS. Folosind comanda „CD”, navigați către oriunde ați descărcat fișierul „miditones.exe”. În majoritatea cazurilor, comenzile vor fi „descărcări de CD-uri”.
  • Rulați programul „miditones.exe” tastând „miditones”. Ar trebui să vă afișeze o listă de ajutor care să prezinte cele mai comune comenzi.

Acum, avem nevoie de un fișier MIDI pentru a converti. Găsiți unul undeva pe interwebs, de preferință fără percuție sau efecte speciale în afară de insturments / speed. (Dacă nu știți care sunt acestea, nu vă faceți griji, veți fi bine)

  • Descărcați fișierul MIDI în același loc în care aveți programul „miditones”.
  • Acum, folosind fereastra promptului de comandă, tastați „miditones -d -v [filename]” (Înlocuiți [file name] cu oricare ar fi numele fișierului MIDI).
  • miditones va genera un fișier. C cu bytestream C ++ în același folder, cu același nume ca fișierul MIDI.

Pasul 15: Utilizarea fișierului MIDI convertit

Utilizarea fișierului MIDI convertit
Utilizarea fișierului MIDI convertit
Utilizarea fișierului MIDI convertit
Utilizarea fișierului MIDI convertit
Utilizarea fișierului MIDI convertit
Utilizarea fișierului MIDI convertit

Acum că ți-ai convertit fișierul MIDI, să-l hrănim în octeți mici la arduino!

  • Presupunând că aveți deja deschis exemplul SAATunes-Uno, să mergem mai departe și să „salvăm ca” altceva, astfel încât să îl putem edita.
  • După ce l-ați salvat, faceți clic pe pictograma „săgeată în jos” din colțul din dreapta sus.
  • Faceți clic pe „filă nouă” și denumiți-o „[nume].h” (Înlocuiți [nume] cu numele melodiei MIDI sau orice doriți)
  • Acum, deschideți fișierul. C creat de miditone mai devreme. Puteți utiliza blocnotesul pentru a-l deschide.
  • Utilizați CNTRL / A pentru a selecta totul, apoi copiați-l.
  • Lipiți-l în noua filă „[nume].h” din editorul arduino.

Totul este bine aici, așa că să revenim la program.

  • Găsiți unde scrie "#include" RagePenny.h "" și copiați-l / lipiți-l pe o nouă linie de mai jos.
  • Schimbați „RagePenny.h” cu orice ați numit noul fișier.
  • Acum, comentează "#include" RagePenny.h "", adăugând două bare oblice înainte (//) în fața sa.
  • Încărcați programul!

Dacă totul a mers bine, ar trebui să redea propriul fișier MIDI. Dacă nu, verificați din nou pentru a vă asigura că numele noii file și numele pe care le-ați schimbat în „#include” RagePenny.h”„ sunt aceleași. Verificați ceilalți pași și asigurați-vă că ați făcut totul bine. Unele fișiere MIDI nu funcționează, dar acestea sunt rare.

Pasul 16: Fin

Fin!
Fin!

Sperăm că totul ți-a mers bine și vei fi blocat cu fișiere MIDI pe o piesă de tehnologie străveche dată o nouă viață!

Cu toate acestea, dacă nu sunteți, nu renunțați! Trimiteți un comentariu în felul meu și vă voi ajuta cu plăcere. Desigur, nu ezitați să-mi dați sugestii în comentarii.

Chiptune fericite!

Recomandat: