Taula de continguts:

Construïm un SN76489 USB MIDI Synth amb Arduino Nano: 7 passos
Construïm un SN76489 USB MIDI Synth amb Arduino Nano: 7 passos

Vídeo: Construïm un SN76489 USB MIDI Synth amb Arduino Nano: 7 passos

Vídeo: Construïm un SN76489 USB MIDI Synth amb Arduino Nano: 7 passos
Vídeo: sn76489 arduino synth 2024, De novembre
Anonim
Image
Image
Construïm un sintètic MIDI USB SN76489 amb Arduino Nano
Construïm un sintètic MIDI USB SN76489 amb Arduino Nano
Construïm un sintètic MIDI USB SN76489 amb Arduino Nano
Construïm un sintètic MIDI USB SN76489 amb Arduino Nano

Alguna vegada heu volgut crear el vostre propi sintetitzador basat en cançons antigues dels anys 80? Voleu reproduir cançons polifòniques senzilles que sonin com semblaven els vells videojocs Sega Master System i Megadrive?

Tinc, doncs, que he demanat uns quants xips SN76489 a ebay i una interfície d’amfitrió midi i li he donat una oportunitat. Bé, no va ser un passeig pel parc per a mi, però, vaig gaudir de cada moment.

Primer vaig aprendre a relacionar-me directament amb l'SN76489 i a fer soroll amb ell. Hi havia alguns elements confusos en això, però, amb l'ajuda de The Oddbloke Geek Blog i alguns altres exemples, juntament amb el document d'especificació de xips, vaig poder desenvolupar una biblioteca arduino senzilla.

A continuació, vaig haver d’aprendre a relacionar un teclat midi amb un mini escut d’amfitrió USB. Això no va ser tan difícil, ja que hi ha documentació disponible, i existeixen bones biblioteques amb exemples clars.

Un cop vaig entendre com controlar el xip i com connectar el meu teclat midi USB, l’únic que em quedava per fer era escriure algun codi que emboliqués tot això i em permetés utilitzar el teclat per controlar el xip.

Al llarg del camí, vaig saber que els sons amb una freqüència inferior als que vaig intentar generar per a les notes midi 0x2f no sonaven bé, així que vaig decidir utilitzar-lo per permetre l’enviament de soroll al generador de soroll per a qualsevol nota midi entre 0x28 i 0x2f i també permet tocar notes amb un toc àrab oriental per a qualsevol cosa inferior a midi 0x28.

Mirant cap enrere, va ser molt divertit i molt interessant de construir.

Espero que us sigui tan divertit i interessant com jo i que, si en construïu un, seríeu tan amables de compartir-ne algunes.

Si us ha agradat aquest projecte, voteu-lo a continuació per ajudar a guanyar el concurs al qual participa

Subministraments

He afegit enllaços al material que podeu adquirir per a aquest projecte, però, podeu trobar molts articles disponibles que podeu raspar de l'electrònica antiga.

Aquests enllaços són enllaços d’afiliació, de manera que, si compreu després de fer-hi clic, obtindré una petita part (no fortuna) i obtindreu un producte adequat per a aquest projecte. No hi ha cap comissió ni cost addicional en utilitzar-los, però, podeu trobar articles similars que puguin substituir-los amb força facilitat.

ebay.us/svA4z4 | 1 x tauler de rendiment

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x mini escut USB

ebay.to/2QrHl1C | 1 x Xip de so SN76489

ebay.us/aaaj8p | 1 x registre de torns 595

ebay.us/DSvTHO | 1 x oscil·lador de cristall de 4 MHz

ebay.us/XQeM0Q | 1 x 5V regulador de tensió 7805

ebay.us/6R6Fpf | 1 x dissipador de calor per al regulador de tensió

ebay.us/xkLbn4 | Condensadors de 3 x 10uF

ebay.us/pnm2BH | cables

ebay.us/PMbUfY | 1 x LED vermell per alimentar

ebay.us/zokHtc | 1 x 220 ohm de resistència per limitar el flux de corrent del LED

ebay.us/qjbesJ | 1 x connector d'alimentació per a font d'alimentació de 12v

ebay.us/cS0wwv | 1 commutador d'encès / apagat

una caixa adequada (vaig construir la meva a partir d’un calaix vell que feia anys que descansava al meu magatzem)

Pas 1: Preparació del mini escut d'amfitrió USB per conduir un dispositiu Midi de 5V

Preparació de l’escut USB Mini Host per conduir un dispositiu Midi de 5V
Preparació de l’escut USB Mini Host per conduir un dispositiu Midi de 5V

Com que l’escut mini host USB funciona a 3,3 V i els teclats midi USB que faig servir requereixen 5 V, cal ajustar el voltatge de sortida de l’escut tallant la línia de 3,3 V que va a la sortida USB Vcc, per tant, podem connectar-la més tard a 5V.

Hi ha un munt de tutorials sobre com fer-ho i va resultar ser molt senzill:

Només cal tallar la línia entre la resistència 2k2 i la línia Vcc (vegeu la imatge adjunta). Vaig fer servir un tornavís per ratllar aquesta línia i vaig provar si funcionava amb un mesurador de continuïtat.

Pas 2: connecteu el mini escut USB amb el vostre Arduino Nano

Connecteu el mini escut USB amb el vostre Arduino Nano
Connecteu el mini escut USB amb el vostre Arduino Nano
Connecteu el mini escut USB amb el vostre Arduino Nano
Connecteu el mini escut USB amb el vostre Arduino Nano

Per sort, hi ha molta informació sobre com fer-ho, així que, buscant "Arduino Nano i mini escut d'amfitrió USB", he aterrat en aquest fil

Va descriure com connectar l’escut USB mini v2.0 i després de seguir-lo vaig continuar recte per provar alguns exemples de midi USB.

Cablejat:

Escut d'amfitrió Arduino

10--------------5

11--------------6

12--------------7

13--------------8

2----------------2

5V -------------- 1

3,3V ------------ 9

GND ----------- 3

RST ------------ 4

En aquest fil, també es va esmentar que tallaven el cable de 3,3 V perquè l'USB pugui obtenir 5 V de VBUS.

Aquesta descripció i les imatges adjuntes provenien d’aquest fil.

BTW, hi ha un error a la impressió d’aquest tauler, de manera que va resultar una mica confús, però podeu veure els meus comentaris sobre això (tyrkelko) i d’on els vaig aprendre.

Pas 3: xips a algú? Addició de SN76489 amb 4MHz Osc. i 595 Registre de torns

Xips Algú? Addició de SN76489 amb 4MHz Osc. i 595 Registre de torns
Xips Algú? Addició de SN76489 amb 4MHz Osc. i 595 Registre de torns

Ara era el moment d'afegir el xip que fa aquest so increïble.

Ja he desenvolupat una biblioteca per interfície arduino amb aquest xip i només havia de seguir les meves instruccions.

La biblioteca es publica en github sota GPLv3 (la meva primera versió de codi obert).

github.com/tyrkelko/sn76489

La connexió de 76489 i 595 era com a la imatge adjunta que es captura des del fitxer readme.txt de la biblioteca

L'activació d'escriptura a baixa (NotWE) de 76489 es va connectar amb el pin 3 del nano i es pot canviar al codi.

#define PIN_NotWE 3

El 595 es va connectar al nano de la següent manera i també es pot ajustar editant els números de pin:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

L’oscil·lador que vaig fer servir era un oscil·lador de cristall de 4 MHz amb 4 potes.

Es va configurar al codi de la següent manera i podeu ajustar el seu valor a qualsevol freqüència d’oscil·lador entre 500 kHz i 4 MHz:

#define FREQÜÈNCIA 4000000.0

La connexió de l’oscil·lador que he utilitzat ha estat la següent:

pin 1: no està connectat

pin 7 - terra

pin 8 - connectat a 76489 pin 14 - osc clock

Pas 4: només cal afegir codi: afegir biblioteques, compilar i penjar el codi

Les biblioteques que s’utilitzen en aquest projecte s’han d’afegir a l’IDE Arduino de la manera següent:

Obriu l'IDE Arduino

Baixeu-vos les biblioteques següents a la carpeta de biblioteques del vostre IDE (esperem veure-les aviat al menú "Gestiona les biblioteques …" del menú "Eines" de l'IDE aviat):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Utilitzeu el codi del projecte github següent:

github.com/tyrkelko/usb_midi_tone

Descarregueu usb_midi_tone.ino, compileu-lo i pengeu-lo al vostre Arduino nano.

Pas 5: connecteu un amplificador i un altaveu, connecteu el teclat USB Midi i proveu

Ara és hora de provar que tot funcioni.

Per fer-ho necessitem:

1. Un amplificador i un altaveu

2. Un teclat midi USB

Connecteu el pin 7 SN76489, sortida d'àudio, a l'entrada d'àudio de l'amplificador.

Enceneu l'amplificador i, a continuació, enceneu l'arduino nano. Ara hauríeu d’escoltar el so de la prova d’encesa durant una fracció de segon.

Connecteu el teclat midi USB i proveu.

Si tot funciona correctament, hauríeu de ser capaç de reproduir 3 tons simultàniament i també de tocar 8 tipus de soroll i fins i tot un to de quart de 24 EDO-Scale.

Si no funciona, seguiu els passos per veure què pot haver fallat.

Si creieu que això resulta d’instruccions poc clares, deixeu-me una nota perquè actualitzi les instruccions per solucionar-ho.

Pas 6: completeu el circuit amb un regulador de voltatge de 5V, un connector de 12V, un interruptor d’encesa / apagat i un LED d’alimentació

En aquest pas, hauríeu de poder acabar el circuit després de provar-lo perquè funcioni correctament.

1. Afegiu un regulador de potència amb LM7805 i dos condensadors de 10uF i 0,1uF. Hi ha un munt de tutorials sobre això, podeu utilitzar el següent instructable per aconseguir-ho -

2. Afegiu un connector d'alimentació de 12 V amb el Vcc mitjançant un interruptor d'encesa / apagada

3. Afegiu un LED amb una resistència de corrent limitant per indicar quan està encès.

Pas 7: Incloeu en una caixa, pinteu i gaudiu del vostre nou sintetitzador

Un cop provats els circuits i que funcionin al vostre gust, no queda molt per fer, excepte per construir un bonic recinte, pinteu-lo amb colors impressionants i toqueu una mica de música.

Espero que us hagi agradat llegir aquest instructiu i que us hagi inspirat a construir el vostre propi sintetitzador o a tirar endavant amb un altre projecte en què esteu treballant.

Si us plau, comenteu a continuació amb qualsevol pregunta i si heu creat alguna cosa similar basant-vos en aquest tutorial, estaria molt bé que compartiu el que heu fet a la secció "He fet això!" o a la secció de comentaris.

Recomanat: