Sommario:

Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano: 7 passaggi
Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano: 7 passaggi

Video: Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano: 7 passaggi

Video: Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano: 7 passaggi
Video: EP011 - Building a MIDI input circuit 2024, Dicembre
Anonim
Image
Image
Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano
Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano
Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano
Costruiamo un sintetizzatore MIDI USB SN76489 con Arduino Nano

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

Preparazione di USB Mini Host Shield per pilotare un dispositivo Midi 5V
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

Collega il Mini Shield USB con il tuo Arduino Nano
Collega il Mini Shield USB con il tuo Arduino Nano
Collega il Mini Shield USB con il tuo Arduino Nano
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

Chip qualcuno? Aggiunta di SN76489 con 4MHz Osc. e 595 Shift Register
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: