Taula de continguts:
- Pas 1: vídeo
- Pas 2: peces i materials
- Pas 3: Cablatge: SAA1099
- Pas 4: Cablatge: oscil·lador TTL
- Pas 5: Cablatge: interfície Iref i xip
- Pas 6: Cablejat - Components de so
- Pas 7: Cablejat: presa d'àudio
- Pas 8: Cablejat: alimentació de la placa de pa
- Pas 9: Cablejat: línies de dades
- Pas 10: LED opcionals
- Pas 11: Codi
- Pas 12: proveu-ho
- Pas 13: utilitzar els vostres propis fitxers MIDI: programa de conversió
- Pas 14: convertir fitxers MIDI
- Pas 15: utilitzar el fitxer MIDI convertit
- Pas 16: Aleta
Vídeo: Xip de so retro amb un Arduino: el SAA1099: 16 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
En aquest instructiu, us mostraré com utilitzar un Arduino Uno amb un xip de síntesi de so vintage, per reproduir fitxers midi amb una bondat quadrada.
Si només voleu una visió general ràpida del que fa aquest projecte, mireu el vídeo anterior. En cas contrari, continueu endavant.
Pas 1: vídeo
Si prefereixes totes les teves instruccions en vídeos clars i concisos, t’oferim cobertura.
Per a la resta de nosaltres, podeu continuar, per obtenir una mica més de detall, i instruccions per escrit.
Pas 2: peces i materials
Per a això, necessitareu aquestes coses:
(Els enllaços són per a articles d'eBay)
- Un Arduino (Uno, Nano, Leonardo, tots haurien de funcionar)
- Com a mínim una taula de treball de mida mitjana
- El xip SAA1099 Stereo Sound Generator
- Cables de pont de taulers de pa (alternativament, m'agrada utilitzar ponts femella a femella dupont, amb passadors de capçalera de 20 mm inserits als dos extrems, molt més resistents)
- Oscil·lador TTL de 8Mhz (enllaç AliExpress proporcionat per zweigelt)
- Jack d’àudio estèreo (o mono)
- 2 x 1K resistències (lot de 100)
- 1 x 10K resistència (lot de 50)
- 2 x condensadors de 100pF
- (Opcional) Alguns LED, almenys 1 (Qualsevol color, aquí teniu 100 colors variats per un dòlar).
Mitjançant els enllaços proporcionats, el cost total és de 23,25 $, inclòs l’enviament. Per descomptat, la majoria prové de mig món, de manera que l’enviament sol trigar aproximadament un mes. Si voleu un enviament més ràpid, probablement haureu de pagar una mica més.
Pas 3: Cablatge: SAA1099
Si l’esquema és el vostre, aquí teniu! La resta de nosaltres podem fer el pas a pas o veure el vídeo.
- Col·loqueu el SAA1099 al final de la taula de treball, amb la osca del xip cap al final.
- Ara, poder. El VDD (pin 18) del SAA1099 s’encén i, a continuació, el pin VSS (pin 9) a terra.
- A continuació, poseu un cable entre CS (pin 2) i terra, perquè es mantingui baix
També recomanaria fer una ullada al full de dades que he adjuntat.
Pas 4: Cablatge: oscil·lador TTL
- Posarem l’oscil·lador TTL a la taula de suport al costat de la taula de treball, de manera que el pin de sortida del rellotge sigui el més proper a l’entrada del rellotge del SAA1099 (Pin 8)
- Podeu avançar i connectar l’alimentació i la terra a l’oscil·lador TTL. (Vaig esperar més tard al meu vídeo, així que no tinc cap foto). La imatge superior mostra quins pins són quins.
Pas 5: Cablatge: interfície Iref i xip
- Connecteu la resistència de 10K entre Iref (pin 6) i 5V.
- Connecteu el pin digital 8 a WR (pin 1) al SAA1099.
- Connecteu el pin digital 9 a A0 (pin 3) al SAA1099.
Pas 6: Cablejat - Components de so
- Connecteu un condensador de 100pF entre OUTR (pin 4) i GND
- Connecteu una resistència de 1K entre OUTR (pin 4) i 5V
- Farem el mateix per OUTL (pin 5)
- Connecteu un condensador de 100pF entre OUTL (pin 5) i GND
- Connecteu una resistència de 1K entre OUTL (pin 5) i 5V
Nota! Assegureu-vos que cap dels cables de les resistències / condensadors es toqui; en cas contrari, les coses no funcionaran i, potencialment, us podrien explotar a la cara.
Pas 7: Cablejat: presa d'àudio
- Connecteu un petit cable de pont entre 5V i una fila buida a la taula de suport.
- Col·loqueu la presa d'àudio de manera que el pont de 5V es connecti al pin "Sleeve" de la presa d'àudio
- Connecteu els pins L i R (O pin d'àudio, si teniu un connector Mono) als pins OUTL (pin 5) i OUTR (pin 4) del SAA1099, respectivament.
Nota! A les preses d’àudio Mono, realment no importa què passin, sempre que es connecti un pin a 5 V i un altre a OUTL o OUTR. Sonarà molt bé. Tret que no ho faci, en aquest cas us recomanem que torneu a comprovar el cablejat.
Pas 8: Cablejat: alimentació de la placa de pa
- Connecteu els dos costats del bus d'alimentació de la placa de pa entre si, mitjançant cables de pont.
- Connecteu una cara als pins de 5V i GND de l'Arduino, assegurant-vos que no heu barrejat els cables enlloc. Si ho feu, el fum màgic pot escapar.
Pas 9: Cablejat: línies de dades
Connecteu D0 a D7 a l'Arduino a D0 (pin 10) a D7 (pin 17) al SAA1099, per ordre
Em sembla que els cables jumper DuPont femella-femella, amb pins de capçalera de 15-20 MM a cada extrem, funcionen molt millor que els cables dupont home-home. A més, també podeu utilitzar-los com a dona-dona o home-dona. Tots dos es poden trobar fàcilment a eBay en grans quantitats, per a petites quantitats de canvis. Un bon regal de Nadal per a l’aspirant droguer d’Arduino.
Pas 10: LED opcionals
No examinaré pas a pas com construir tot aquí, però hi ha diversos bons llocs per afegir LEDs. Primer de tot, vaig connectar un LED vermell de 3 mm entre WR (pin 1) i GND, per mostrar cada vegada que Arduino envia una ordre al SAA1099.
També he connectat LEDs a les línies de dades abans, cosa que us permet veure les dades binàries reals de cada línia. He utilitzat aquesta configuració al meu vídeo "Arduino i SAA1099 - Fireflies", a més de 6 LED més i algun codi addicional per il·luminar cada LED de cada canal que estava actiu.
Com més LED, més fresc es veu!
Pas 11: Codi
Ara que ja heu construït el circuit, reviseu les connexions. No voleu explotar el vostre car arduino i Soundchip. (Si ho fas, bé. Això no és cosa meva)
Suposant que esteu sanejat i ho heu comprovat tot, podem començar a programar-lo.
- La biblioteca es troba a
- Voldreu el fitxer SAATunes.zip, així que continueu i descarregueu-lo.
- Ara, obriu l'IDE Arduino.
- A "Esbós", "Inclou biblioteca", feu clic a "Afegeix una biblioteca.zip"
- Aneu a qualsevol lloc on hàgiu descarregat la biblioteca SAATunes. (No m'importa si era el vostre escriptori, descàrregues o carpeta (inseriu alguna cosa vergonyosa): només cal que la trobeu)
- Seleccioneu-lo i feu clic a "Obre"
- Us hauria de dir que s’ha afegit a les vostres biblioteques.
Pas 12: proveu-ho
- Obriu l'exemple de programa SAATunes a "Fitxer", "Exemples", "SAATunes", "SAATunes-Uno".
- Connecteu el vostre Arduino a l’ordinador i a un altaveu d’alguna mena.
- Pengeu el programa a l'Arduino.
Hauríeu d’escoltar un acord, després la ràbia de Beethoven per un cèntim perdut. Si Classical no és el vostre, no tingueu por, ja que en breu aprendrem a utilitzar fitxers MIDI de la nostra elecció.
Si no sentiu res, comproveu algunes coses: primer, el vostre altaveu està activat? Gireu-lo tot amunt. Aleshores, l’arduino està realment encès? El programa s’ha penjat correctament? Comproveu tot el cablejat amb el full de dades i el diagrama de dades, i torneu-ho a provar.
Pas 13: utilitzar els vostres propis fitxers MIDI: programa de conversió
Esteu a punt per provar alguna cosa que no sigui Beethoven? Molt bé, aquí teniu.
Per convertir fitxers MIDI a C ++ Bytestreams, necessitarem un programa de Len Shustek. Ell és el creador de la biblioteca que he basat el meu codi i la meva biblioteca utilitza el mateix format bytestream que el seu.
- Podeu trobar el programa a
- El programa que voleu és "miditones.exe". Endavant i descarregueu-ho.
Pas 14: convertir fitxers MIDI
Atenció! Aquí hi ha dracs ascii! És possible que sigui més fàcil veure el vídeo, on es pot veure exactament de què parlo. Si us animeu a entrar, continueu endavant!
Per utilitzar el programa de conversió MIDI a Bytestream, haureu d'obrir una finestra d'indicadors d'ordres. Disculpeu els usuaris de Mac i Linux, potser haureu de trobar una solució alternativa.
- Obriu el menú d'inici i escriviu "CMD" i premeu Retorn.
- Ara aprendrem una mica de màgia MS-DOS. Amb l'ordre "CD", aneu a qualsevol lloc on hàgiu descarregat el fitxer "miditones.exe". En la majoria dels casos, les ordres seran "descàrregues de CD".
- Executeu el programa "miditones.exe" escrivint "miditones". Us hauria de mostrar una llista d’ajuda amb les ordres més habituals.
Ara necessitem un fitxer MIDI per convertir. Cerqueu-ne un en algun lloc de les interwebs, preferiblement sense percussió ni cap efecte especial a part dels insturments / velocity. (Si no sabeu què són, no us preocupeu, estareu bé)
- Baixeu-vos el fitxer MIDI al mateix lloc on teniu el programa "miditones".
- Ara, mitjançant la finestra de l'indicador d'ordres, escriviu "miditones -d -v [nom_fitxer]" (Substitueix [nom_fitxer] per qualsevol que sigui el nom del fitxer MIDI).
- miditones generarà un fitxer. C amb el bytestream C ++ a la mateixa carpeta, amb el mateix nom que el fitxer MIDI.
Pas 15: utilitzar el fitxer MIDI convertit
Ara que heu convertit el fitxer MIDI, alimentem-lo en petits bytes a l'arduino.
- Suposant que ja teniu l'exemple de SAATunes-Uno obert, anem endavant i "desem com" una altra cosa per poder-lo editar.
- Un cop l'hàgiu desat, feu clic a la petita icona de "fletxa cap avall" que hi ha a l'extrem superior dret.
- Feu clic a "pestanya nova" i anomeneu-la "[nom].h" (Substituïu [nom] pel nom de la vostra cançó MIDI o el que vulgueu)
- Ara, obriu el fitxer. C que els tons mitjans van crear anteriorment. Podeu utilitzar el bloc de notes per obrir-lo.
- Utilitzeu CNTRL / A per seleccionar-ho tot i, a continuació, copieu-lo.
- Enganxeu-lo a la nova pestanya "[nom].h" de l'editor arduino.
Aquí està tot bé, així que tornem al programa.
- Cerqueu on diu "#include" RagePenny.h "" i copieu-lo / enganxeu-lo en una nova línia a continuació.
- Canvieu el "RagePenny.h" pel nom que hàgiu anomenat al fitxer nou.
- Ara, comenteu "#include" RagePenny.h "", afegint dues barres inclinades cap endavant (//) al davant.
- Carregueu el programa.
Si tot va bé, hauria de reproduir el vostre propi fitxer MIDI. Si no, comproveu de nou per assegurar-vos que els noms de la nova pestanya i el nom que heu canviat a "#include" RagePenny.h "" siguin els mateixos. Consulteu els altres passos i assegureu-vos que ho heu fet tot bé. Alguns fitxers MIDI no funcionen, però són rars.
Pas 16: Aleta
Tant de bo que tot us hagi anat bé i que estigueu bloquejant fitxers MIDI en una antiga tecnologia donada una nova vida.
Tanmateix, si no ho estàs, no et rendeixis. Envia un comentari a la meva manera i estaré encantat d’ajudar-te. Per descomptat, no dubteu a donar-me suggeriments als comentaris.
Felices chiptunes!
Recomanat:
Motor pas a pas controlat per MIDI amb xip de síntesi digital directa (DDS): 3 passos
Motor pas a pas controlat per MIDI amb xip de síntesi digital directa (DDS): Alguna vegada heu tingut una mala idea que NOMÉS heu de convertir-vos en un mini projecte? Bé, estava jugant amb un esbós que havia fet per a l'Arduino Due dirigit a fer música amb un mòdul AD9833 Direct Digital Synthesis (DDS) … i en algun moment vaig pensar & q
Llum interior portàtil amb xip LED de 100W: 26 passos (amb imatges)
Llum interior portàtil amb xip LED de 100 W: en aquest vídeo instructiu us mostraré com he creat llum interior portàtil amb xip LED de 100 W que s’alimenta amb una font d’alimentació de 19 V i 90 W d’un portàtil antic. ACTUALITZACIÓ 2 (FINAL): Temperatura al voltant del LED (37C estable @ 85W després de 30 minuts en una habitació de 20C)
Auriculars Bluetooth DIY (xip BK8000L) impresos en 3D: 6 passos (amb imatges)
Auriculars Bluetooth de bricolatge (xip BK8000L) impresos en 3D: Hola, aquí voldria mostrar-vos com fabricar els vostres propis auriculars bluetooth sense fils. La meva motivació per fer aquest projecte és el fet que hi ha molts auriculars bluetooth dolents que he comprat recentment, així que fent el meu propi puc modificar i desenvolupar
Contes del xip: amplificador d'àudio LM1875: 8 passos (amb imatges)
Contes del xip: amplificador d'àudio LM1875: m'encanten alguns amplificadors de xip: petits paquets de potència d'àudio pura. Amb només uns quants components externs, una font d’alimentació neta i un fort dissipador de calor, podeu obtenir un so de qualitat d'alta fidelitat que rivalitza amb dissenys de transistors discrets i complexos
Xip autonòmic Arduino / ATMega a la taula de pa: 8 passos (amb imatges)
Xip independent Arduino / ATMega a la taula de pa: si sou com jo, després d’haver aconseguit el meu Arduino i realitzar una programació final al primer xip, volia treure’l del meu Arduino Duemilanove i posar-lo al meu propi circuit. Això també alliberaria el meu Arduino per a futurs projectes. El problema