Sommario:
- Passaggio 1: video
- Passaggio 2: parti e materiali
- Passaggio 3: cablaggio - SAA1099
- Passaggio 4: cablaggio - oscillatore TTL
- Passaggio 5: cablaggio - Interfaccia Iref e Chip
- Passaggio 6: cablaggio - Componenti audio
- Passaggio 7: cablaggio - Jack audio
- Passaggio 8: cablaggio - alimentazione a breadboard
- Passaggio 9: cablaggio - linee dati
- Passaggio 10: LED opzionali
- Passaggio 11: codice
- Passaggio 12: provalo
- Passaggio 13: utilizzo dei propri file MIDI - Programma di conversione
- Passaggio 14: conversione di file MIDI
- Passaggio 15: utilizzo del file MIDI convertito
- Passaggio 16: pinna
Video: Chip audio retrò con un Arduino - SAA1099: 16 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
In questo tutorial, ti mostrerò come utilizzare un Arduino Uno con un chip di sintesi del suono vintage, per riprodurre file midi in una bontà quadrata!
Se vuoi solo una rapida panoramica di ciò che fa questo progetto, guarda il video sopra. Altrimenti continua!
Passaggio 1: video
Se preferisci tutte le tue istruzioni in video chiari e concisi, abbiamo quello che fa per te!
Per il resto di noi, puoi continuare, per un po' più di dettagli e istruzioni scritte.
Passaggio 2: parti e materiali
Per questo, avrai bisogno di queste cose:
(I link sono per gli articoli eBay)
- Un Arduino (Uno, Nano, Leonardo, dovrebbero funzionare tutti)
- Almeno una breadboard di medie dimensioni
- Il chip del generatore di suoni stereo SAA1099
- Fili per ponticelli breadboard (in alternativa, mi piace usare ponticelli da femmina a femmina dupont, con pin di intestazione da 20 mm inseriti in entrambe le estremità - molto più robusti)
- Oscillatore TTL 8Mhz (collegamento AliExpress fornito da zweigelt)
- Jack audio stereo (o mono)
- 2 x 1K resistori (lotto di 100)
- 1 x 10K resistore (lotto di 50)
- 2 condensatori da 100 pF
- (Facoltativo) Alcuni LED, almeno 1 (qualsiasi colore, ecco 100 colori assortiti per un dollaro!)
Utilizzando i link forniti, il costo totale è di $ 23,25, inclusa la spedizione. Naturalmente, la maggior parte proviene da mezzo mondo, quindi la spedizione di solito richiede circa un mese. Se desideri una spedizione più rapida, probabilmente dovrai pagare un po' di più.
Passaggio 3: cablaggio - SAA1099
Se gli schemi sono la tua passione, ecco qua! Il resto di noi può seguire passo passo o guardare il video.
- Posiziona SAA1099 all'estremità della breadboard, con la tacca sul chip rivolta verso l'estremità.
- Ora, potere. VDD (pin 18) sul SAA1099 va all'alimentazione, quindi il pin VSS (pin 9) a massa.
- Quindi, metti un filo tra CS (pin 2) e terra, per tenerlo basso
Consiglierei anche di dare un'occhiata alla scheda tecnica, che ho allegato.
Passaggio 4: cablaggio - oscillatore TTL
- Metteremo l'oscillatore TTL sulla breadboard accanto alla breadboard, in modo che il pin di uscita del clock sia il più vicino all'ingresso del clock sul SAA1099 (Pin 8)
- Puoi andare avanti e collegare l'alimentazione e la massa all'oscillatore TTL. (Ho aspettato fino a più tardi nel mio video, quindi non ho una foto). L'immagine sopra mostra quali sono i pin.
Passaggio 5: cablaggio - Interfaccia Iref e Chip
- Collegare la resistenza da 10K tra Iref (pin 6) e 5V.
- Collegare il pin digitale 8 a WR (pin 1) sul SAA1099.
- Collegare il pin digitale 9 ad A0 (pin 3) sul SAA1099.
Passaggio 6: cablaggio - Componenti audio
- Collegare un condensatore da 100pF tra OUTR (pin 4) e GND
- Collegare una resistenza da 1K tra OUTR (pin 4) e 5V
- Faremo la stessa cosa per OUTL (pin 5)
- Collegare un condensatore da 100pF tra OUTL (pin 5) e GND
- Collegare una resistenza da 1K tra OUTL (pin 5) e 5V
Nota! Assicurati che nessuno dei fili dei resistori/condensatori si tocchi, altrimenti le cose non funzioneranno e potrebbero (provvisoriamente) potenzialmente esplodere in faccia.
Passaggio 7: cablaggio - Jack audio
- Collegare un piccolo ponticello tra 5V e una riga vuota sulla breadboard.
- Posiziona il tuo jack audio, in modo che il jumper da 5V si colleghi al pin "Sleeve" sul jack audio
- Collegare i pin L e R (o audio, se si dispone di un jack Mono) ai pin OUTL (pin 5) e OUTR (pin 4) sull'SAA1099, rispettivamente.
Nota! Sui jack audio Mono, non importa cosa succede, purché un pin si colleghi a 5V e uno a OUTL o OUTR. Suonerà bene. A meno che non lo sia, nel qual caso potresti voler controllare di nuovo il cablaggio.
Passaggio 8: cablaggio - alimentazione a breadboard
- Collegare entrambi i lati del bus di alimentazione Breadboard tra loro, utilizzando i cavi dei ponticelli.
- Collega un lato ai pin 5V e GND sull'Arduino, assicurandoti di non aver mischiato i fili da nessuna parte. Se lo hai fatto, il fumo magico potrebbe fuoriuscire.
Passaggio 9: cablaggio - linee dati
Collega D0 a D7 su Arduino a D0 (pin 10) a D7 (pin 17) su SAA1099, in ordine
Trovo che i cavi jumper femmina-femmina DuPont, con pin di testata da 15-20MM a entrambe le estremità, funzionino molto meglio dei cavi dupont maschio-maschio. Inoltre puoi anche usarli come femmina-femmina o maschio-femmina. Entrambi si trovano facilmente su eBay in grandi quantità, per piccole quantità di cambiamento. Un buon regalo di Natale per l'aspirante drogato di Arduino!
Passaggio 10: LED opzionali
Non esaminerò passo passo come costruire tutto qui, ma ci sono molti buoni posti per aggiungere i LED. Per prima cosa ho collegato un LED rosso da 3mm tra WR (pin 1) e GND, per mostrarlo ogni volta che Arduino invia un comando al SAA1099.
Ho anche collegato i LED alle linee dati in precedenza, il che consente di vedere i dati binari effettivi su ciascuna linea. Ho usato questa configurazione nel mio video "Arduino e SAA1099 - Fireflies", così come altri 6 LED e un codice extra per illuminare ogni LED per ogni canale attivo.
Più LED, più fresco sembra!
Passaggio 11: codice
Ora che hai costruito il circuito, ricontrolla i collegamenti! Non vuoi far saltare in aria il tuo costoso arduino e Soundchip! (Se lo fai, beh. Non sono affari miei)
Supponendo che tu sia sano di mente e abbia controllato tutto, possiamo iniziare a programmarlo.
- La libreria è su
- Avrai bisogno del file SAATunes.zip, quindi vai avanti e scaricalo.
- Ora apri l'IDE Arduino.
- In "Schizzo", "Includi libreria", fai clic su "Aggiungi libreria.zip"
- Vai al punto in cui hai scaricato la libreria SAATunes. (Non mi interessa se fosse la cartella del desktop, dei download o (inserisci qualcosa di imbarazzante) - trovala e basta)
- Selezionalo e fai clic su "Apri"
- Dovrebbe dirti che è stato aggiunto alle tue librerie.
Passaggio 12: provalo
- Apri il programma SAATunes di esempio, sotto "File", "Esempi", "SAATunes", "SAATunes-Uno".
- Collega il tuo Arduino al computer e a un altoparlante di qualche tipo.
- Carica il programma su Arduino.
Dovresti sentire un accordo, poi la rabbia di Beethoven per un Penny perduto. Se la classica non fa per te, non temere, perché impareremo presto come utilizzare i file MIDI di nostra scelta con essa.
Se non senti nulla, controlla alcune cose: Primo, il tuo altoparlante è acceso? Alzalo fino in fondo. Allora, l'arduino è davvero acceso? Il programma è stato caricato correttamente? Controllare tutti i cablaggi con lo schema e la scheda tecnica, quindi riprovare.
Passaggio 13: utilizzo dei propri file MIDI - Programma di conversione
Pronto a provare qualcosa di diverso da Beethoven? Molto bene, ecco qua.
Per convertire i file MIDI in C++ Bytestream, avremo bisogno di un programma di Len Shustek. È il creatore della libreria su cui ho basato il mio codice e la mia libreria usa lo stesso formato di flusso di byte che usa lui.
- Puoi trovare il programma su
- Il programma che vuoi è "miditones.exe". Vai avanti e scaricalo.
Passaggio 14: conversione di file MIDI
Avvertimento! Qui ci sono draghi ascii! Potresti trovare più facile guardare il video, dove puoi vedere esattamente di cosa sto parlando. Se hai il coraggio di entrare, allora continua!
Per utilizzare il programma di conversione da MIDI a Bytestream, dovrai aprire una finestra del prompt dei comandi. Spiacenti utenti Mac e Linux, potrebbe essere necessario trovare una soluzione alternativa.
- Apri il menu di avvio e digita "CMD", quindi premi invio.
- Ora impareremo un po' di magia MS-DOS. Usando il comando "CD", vai alla posizione in cui hai scaricato il file "miditones.exe". Nella maggior parte dei casi, i comandi saranno "download da cd".
- Esegui il programma "miditones.exe" digitando "miditones". Dovrebbe mostrarti un elenco di aiuto che mostra i comandi più comuni.
Ora abbiamo bisogno di un file MIDI da convertire. Trovane uno da qualche parte su internet, preferibilmente senza percussioni o effetti speciali oltre a strumenti/velocità. (Se non sai cosa sono, non preoccuparti, starai bene)
- Scarica il tuo file MIDI nello stesso posto in cui hai il programma "miditones".
- Ora, usando la finestra del prompt dei comandi, digita "miditones -d -v [nome file]" (Sostituisci [nome file] con qualunque sia il nome del tuo file MIDI).
- miditones genererà un file. C con il flusso di byte C++ nella stessa cartella, con lo stesso nome del file MIDI.
Passaggio 15: utilizzo del file MIDI convertito
Ora che hai convertito il tuo file MIDI, inseriscilo in piccoli byte su arduino!
- Supponendo che tu abbia già aperto l'esempio SAATunes-Uno, andiamo avanti e "salviamo come" qualcos'altro, in modo da poterlo modificare.
- Dopo averlo salvato, fai clic sulla piccola icona "freccia giù" nell'angolo in alto a destra.
- Fai clic su "nuova scheda" e chiamalo "[nome].h" (sostituisci [nome] con il nome della tua canzone MIDI o come preferisci)
- Ora, apri il file. C che i miditone hanno creato in precedenza. Puoi usare il blocco note per aprirlo.
- Usa CNTRL/A per selezionare tutto, quindi copialo.
- Incollalo nella tua nuova scheda "[nome].h" nell'editor di arduino.
Va tutto bene qui, quindi torniamo al programma.
- Trova dove dice "#include "RagePenny.h"" e copia/incollalo su una nuova riga in basso.
- Cambia "RagePenny.h" con il nome che hai chiamato il tuo nuovo file.
- Ora, commenta "#include "RagePenny.h"", aggiungendo due barre in avanti (//) davanti ad esso.
- Carica il programma!
Se tutto è andato bene, dovrebbe riprodurre il tuo file MIDI. In caso contrario, ricontrolla per assicurarti che i nomi della nuova scheda e il nome che hai modificato in "#include "RagePenny.h"" siano gli stessi. Controlla gli altri passaggi e assicurati di aver fatto tutto bene. Alcuni file MIDI semplicemente non funzionano, ma sono rari.
Passaggio 16: pinna
Spero che tutto sia andato bene con te e che tu stia suonando su file MIDI su un antico pezzo di tecnologia a cui è stata data nuova vita!
Tuttavia, se non lo sei, non arrenderti! Invia un commento a modo mio e sarò felice di aiutarti. Certo, sentiti libero di darmi suggerimenti nei commenti.
Buon chiptunes!
Consigliato:
Luce interna portatile con chip LED da 100 W: 26 passaggi (con immagini)
Lampada da interno portatile con chip LED da 100 W: in questo tutorial / video ti mostrerò come ho realizzato una luce da interno portatile con chip LED da 100 W che è alimentata con un alimentatore da 19 V 90 W da un vecchio laptop. AGGIORNAMENTO 2 (FINALE): Temperatura intorno al LED (37°C stabile a 85W dopo 30 minuti in una stanza a 20°C)
Cavo audio ausiliario da A/V retrò: 8 passaggi (con immagini)
Cavo audio da A/V retrò a ausiliario: ho creato questo cavo per svolgere una funzione molto specifica: collegare un lettore MP3 a un'autoradio dotata di una porta A/V anziché di una porta audio ausiliaria. Questo processo è quasi identico al mio cavo patch stereo Retro, l'unica differenza è
Visualizzatore audio con strisce LED retrò: 4 passaggi (con immagini)
Visualizzatore audio con strisce LED retrò: in qualità di musicista e studente di ingegneria elettrica, amo qualsiasi progetto che intersechi questi due campi. Ho visto alcuni visualizzatori audio fai-da-te (qui, qui, qui e qui), ma ognuno aveva mancato almeno uno dei due obiettivi che mi ero prefissato: un p
Tales From the Chip: Amplificatore audio LM1875: 8 passaggi (con immagini)
Tales From the Chip: LM1875 Audio Amplifier: mi piacciono alcuni chip amp - piccoli pacchetti di pura potenza audio. Con solo pochi componenti esterni, un alimentatore pulito e un potente dissipatore di calore puoi ottenere un suono di qualità veramente hi-fi che rivaleggia con progetti di transistor complessi e discreti. Sono entrato in un
Chip Arduino / ATMega autonomo su breadboard: 8 passaggi (con immagini)
Chip Arduino / ATMega autonomo su Breadboard: se sei come me, dopo aver ricevuto il mio Arduino e aver eseguito una programmazione finale sul mio primo chip, volevo estrarlo dal mio Arduino Duemilanove e metterlo sul mio circuito. Ciò libererebbe anche il mio Arduino per progetti futuri. Il problema