Sommario:
- Forniture
- Passaggio 1: preparazione di USB Mini Host Shield per pilotare un dispositivo Midi 5V
- Passaggio 2: collega il Mini Shield USB con il tuo Arduino Nano
- Passaggio 3: Chip qualcuno? Aggiunta di SN76489 con 4MHz Osc. e 595 Shift Register
- Passaggio 4: basta aggiungere il codice: aggiungere le librerie, compilare e caricare il codice
- Passaggio 5: collega un amplificatore e un altoparlante, collega la tastiera MIDI USB e prova
- Passaggio 6: completare il circuito con un regolatore di tensione da 5 V, un connettore da 12 V, un interruttore di accensione/spegnimento e un LED di alimentazione
- Step 7: Racchiudi in una scatola, dipingi e goditi il tuo nuovo synth
Video: Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Hai mai desiderato costruire il tuo sintetizzatore basato su vecchi chip-tunes degli anni '80? Riproduci semplici brani polifonici che suonano proprio come questi vecchi videogiochi Sega Master System e Megadrive?
Ho, quindi, ho ordinato alcuni chip SN76489 da ebay e un'interfaccia host midi e ci ho provato. Beh, per me non è stata una passeggiata nel parco, ma mi sono goduto ogni momento.
Per prima cosa ho imparato come interfacciare direttamente l'SN76489 e fare un po' di rumore con esso. C'erano alcuni elementi di confusione in questo, ma, con l'aiuto di The Oddbloke Geek Blog e alcuni altri esempi, insieme al documento sulle specifiche del chip, sono stato in grado di sviluppare una semplice libreria arduino.
Successivamente, ho dovuto imparare come interfacciare una tastiera midi con un mini host shield USB. Non è stato così difficile, in quanto è disponibile della documentazione ed esistono buone librerie con esempi chiari.
Una volta capito come controllare il chip e come interfacciare la mia tastiera midi USB, l'unica cosa che mi restava da fare era scrivere del codice che racchiudesse tutto questo insieme e mi permettesse di usare la tastiera per controllare il chip.
Lungo la strada, ho imparato che i suoni con frequenza inferiore a quelli che ho provato a generare per le note midi 0x2f non suonavano bene, quindi ho deciso di usarlo per consentire l'invio di rumore al generatore di rumore per qualsiasi nota midi tra 0x28 e 0x2f e consente anche di suonare note con un tocco arabo orientale per qualsiasi cosa inferiore a midi 0x28.
Guardando indietro, è stato molto divertente e molto interessante da costruire.
Spero che tu lo trovi divertente e interessante come me e che se ne costruissi uno da solo, saresti così gentile da condividerne alcune foto.
Se ti è piaciuto questo progetto, votalo in basso per aiutare a vincere il concorso a cui partecipa
Forniture
Ho aggiunto collegamenti a materiale che puoi acquistare per questo progetto, tuttavia, potresti trovare molti articoli disponibili che puoi raschiare da vecchi dispositivi elettronici.
Questi link sono link di affiliazione, quindi, se acquisti dopo averli cliccati, ottengo una piccola porzione (non fortuna) e ottieni un prodotto adatto a questo progetto. Non ci sono costi o costi aggiuntivi per l'utilizzo di questi, tuttavia, puoi trovare articoli simili che possono sostituirli abbastanza facilmente.
ebay.us/svA4z4 | 1 x scheda delle prestazioni
ebay.us/ZyEFNp | 1 x arduino nano
ebay.us/t1zy0v | 1 x mini scudo USB
ebay.to/2QrHl1C | 1 x chip audio SN76489
ebay.us/aaaj8p | 1 x registro a scorrimento 595
ebay.us/DSvTHO | 1 x oscillatore a cristallo di 4MHz
ebay.us/XQeM0Q | 1 regolatore di tensione 5V 7805
ebay.us/6R6Fpf |1 x dissipatore di calore per il regolatore di tensione
ebay.us/xkLbn4 | 3 condensatori da 10uF
ebay.us/pnm2BH | fili
ebay.us/PMbUfY | 1 x LED rosso per l'alimentazione
ebay.us/zokHtc | 1 x 220 ohm per limitare il flusso di corrente del LED
ebay.us/qjbesJ | 1 x connettore di alimentazione per alimentazione 12v
ebay.us/cS0wwv |1 x interruttore on/off
una scatola adatta (la mia l'ho costruita da un vecchio cassetto che è rimasto nel mio magazzino per anni)
Passaggio 1: preparazione di USB Mini Host Shield per pilotare un dispositivo Midi 5V
Poiché il mini host shield USB funziona a 3,3 V e le tastiere midi USB che utilizzo richiedono 5 V, è necessario regolare la tensione di uscita dello shield tagliando la linea da 3,3 V che va all'uscita USB Vcc, quindi possiamo collegarlo in seguito a 5V.
Ci sono molti tutorial su come farlo e si è rivelato abbastanza semplice:
Basta tagliare la linea tra la resistenza da 2k2 e la linea Vcc (vedi immagine allegata). Ho usato un cacciavite per graffiare questa linea e ho testato se funzionava con un misuratore di continuità.
Passaggio 2: collega il Mini Shield USB con il tuo Arduino Nano
Fortunatamente, ci sono molte informazioni su come farlo, quindi, cercando su Google "Arduino Nano e mini USB host shield" sono atterrato su questo thread
Descriveva come collegare lo shield USB mini v2.0 e dopo averlo seguito sono andato dritto per testare alcuni esempi di USB MIDI.
Cablaggio:
Scudo host Arduino
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V --------------1
3.3V ------------9
GND -----------3
RST ------------4
In questo thread, è stato anche menzionato che hanno tagliato il cavo da 3,3 V in modo che l'USB possa ottenere 5 V da VBUS.
Questa descrizione e le immagini allegate provengono da questo thread.
A proposito, c'è un errore sulla stampa su questa scheda, quindi questo è stato un po' di confusione, tuttavia, puoi vedere il mio feedback su questo (tyrkelko) e da dove l'ho imparato.
Passaggio 3: Chip qualcuno? Aggiunta di SN76489 con 4MHz Osc. e 595 Shift Register
Ora era il momento di aggiungere il chip che produce questo suono straordinario.
Ho già sviluppato una libreria per interfacciare arduino con questo chip e ho solo dovuto seguire le mie istruzioni.
La libreria è rilasciata in github sotto GPLv3 (la mia prima versione open source).
github.com/tyrkelko/sn76489
La connessione di 76489 e 595 era come nell'immagine allegata che viene catturata dal file readme.txt della libreria
Il Write Enable on Low (NotWE) di 76489 è stato collegato al pin 3 del nano e può essere modificato nel codice.
#define PIN_NotWE 3
Il 595 è stato collegato al nano come segue e può anche essere regolato modificando i numeri dei pin:
#define PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
L'oscillatore che ho usato era un oscillatore a cristallo da 4MHz con 4 gambe.
È stato configurato nel codice come segue ed è possibile regolare il suo valore su qualsiasi frequenza dell'oscillatore tra 500kHz e 4MHz:
#define FREQUENZA 4000000.0
Il collegamento dell'oscillatore che ho usato è stato il seguente:
pin 1 - non connesso
pin 7 - massa
pin 8 - connesso a 76489 pin 14 - clock osc
Passaggio 4: basta aggiungere il codice: aggiungere le librerie, compilare e caricare il codice
Le librerie utilizzate in questo progetto devono essere aggiunte all'IDE Arduino come segue:
Apri l'IDE Arduino
Scarica le seguenti librerie nella cartella della libreria del tuo IDE (spero di vederle presto nel menu "Gestisci librerie…" nel menu "Strumenti" dell'IDE):
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Usa il codice dal seguente progetto github:
github.com/tyrkelko/usb_midi_tone
Scarica usb_midi_tone.ino, compila e carica sul tuo Arduino nano.
Passaggio 5: collega un amplificatore e un altoparlante, collega la tastiera MIDI USB e prova
Ora è il momento di testare che tutto funzioni.
Per farlo abbiamo bisogno di:
1. Un amplificatore e un altoparlante
2. Una tastiera MIDI USB
Collegare SN76489 pin 7, uscita audio, all'ingresso audio dell'amplificatore.
Accendi l'amplificatore e poi accendi l'arduino nano. Ora dovresti sentire il suono del test di accensione per una frazione di secondo.
Collega la tastiera midi USB e prova.
Se tutto funziona correttamente, dovresti essere in grado di riprodurre 3 toni contemporaneamente e anche di 8 tipi di rumore e persino di un quarto di tono di 24 EDO-Scale.
Se non funziona, ripassa i passaggi per vedere cosa potrebbe essere andato storto.
Se ritieni che ciò derivi da istruzioni non chiare, inviami una nota in modo che aggiorni le istruzioni per risolverlo.
Passaggio 6: completare il circuito con un regolatore di tensione da 5 V, un connettore da 12 V, un interruttore di accensione/spegnimento e un LED di alimentazione
In questo passaggio dovresti essere in grado di concludere il circuito dopo averlo testato per funzionare correttamente.
1. Aggiungere un regolatore di potenza con LM7805 e due condensatori da 10uF e 0.1uF. Ci sono molti tutorial su questo, puoi usare il seguente instructable per farlo -
2. Aggiungi un connettore di alimentazione a 12 V con il Vcc che passa tramite un interruttore on/off
3. Aggiungere un LED con un resistore di limitazione della corrente per indicare quando l'alimentazione è attiva.
Step 7: Racchiudi in una scatola, dipingi e goditi il tuo nuovo synth
Una volta che il circuito è stato testato e funziona a tuo piacimento, non rimane molto da fare se non costruire un bel contenitore, dipingerlo con colori fantastici e riprodurre un po' di musica.
Spero che ti sia piaciuto leggere questo tutorial e che ti abbia ispirato a costruire il tuo synth o ad andare avanti con un altro progetto su cui stai lavorando.
Commenta di seguito con qualsiasi domanda e se hai creato qualcosa di simile basato su questo tutorial, sarebbe fantastico se condividessi ciò che hai realizzato nella sezione "Ho fatto questo!" area o nella sezione feedback.
Consigliato:
Costruiamo (sintetizzatore analogico): 5 passaggi
Costruiamo (sintetizzatore analogico): in questa serie, ti mostrerò come costruire un sintetizzatore analogico modulare di base utilizzando componenti sia analogici che digitali. Link a Schematic and Components: https://drive.google.com/open?id= 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
Sintetizzatore Chiptune MIDI Arduino: 7 passaggi (con immagini)
Arduino MIDI Chiptune Synthesizer: rivivi il divertimento della musica dei primi giochi per computer con un autentico sintetizzatore chiptune a 8 bit, che puoi controllare tramite MIDI comodamente da qualsiasi moderno software DAW. Questo semplice circuito utilizza un Arduino per pilotare un AY-3- 8910 generi sonori programmabili
Sintetizzatore musicale basato su DE0-Nano-SoC: 5 passaggi (con immagini)
Sintetizzatore musicale Basato su DE0-Nano-SoC: Sintetizzatore musicaleQuesto sintetizzatore musicale è abbastanza semplice: devi solo soffiare, cantare o persino riprodurre musica davanti al microfono e il suono verrà modulato e inviato attraverso l'altoparlante. Il suo spettro apparirà anche sul display LCD. Il
Controller per strisce LED MIDI 5V per Spielatron o altro sintetizzatore MIDI: 7 passaggi (con immagini)
Controller di strisce LED MIDI 5V per Spielatron o altro sintetizzatore MIDI: questo controller lampeggia luci a strisce LED tricolore per 50 mS per nota. Blu per G5 a D # 6, rosso per E6 a B6 e verde per C7 a G7. Il controller è un dispositivo MIDI ALSA, quindi il software MIDI può inviare l'output ai LED contemporaneamente a un dispositivo synth MIDI
Sintetizzatore Micro Midi: 5 passaggi (con immagini)
Sintetizzatore Micro Midi: questa istruzione dimostra l'uso del chip VLSI VS1053b Audio e Midi DSP nella sua modalità Midi in tempo reale. In questa modalità funge da sintetizzatore Midi GM (General Midi) polifonico a 64 voci. Un micro autonomo Arduino Uno controlla un display OLED