Cuprins:
- Provizii
- Pasul 1: Pregătirea USB Mini Host Shield pentru a conduce un dispozitiv Midi de 5V
- Pasul 2: Conectați mini-scutul USB cu Arduino Nano
- Pasul 3: Chips pe cineva? Adăugarea SN76489 cu 4MHz Osc. și 595 Shift Register
- Pasul 4: Adăugați doar cod - Adăugarea bibliotecilor, compilarea și încărcarea codului
- Pasul 5: Conectați un amplificator și difuzor, conectați tastatura USB Midi și testați
- Pasul 6: Finalizați circuitul cu un regulator de tensiune de 5V, conector de 12V, comutator de pornire / oprire și LED de alimentare
- Pasul 7: Închideți într-o cutie, vopsiți și bucurați-vă de noul dvs. sintetizator
Video: Să construim un SN76489 USB MIDI Synth cu Arduino Nano: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Ați dorit vreodată să vă construiți propriul dvs. sintetizator bazat pe melodii vechi din anii 80? Redați melodii polifonice simple care sună exact ca vechile jocuri video Sega Master System și Megadrive?
Am, așadar, am comandat câteva cipuri SN76489 de pe eBay și o interfață gazdă midi și i-am dat o lovitură. Ei bine, nu a fost o plimbare în parc pentru mine, dar, m-am bucurat de fiecare moment.
Mai întâi am învățat cum să interfațez direct SN76489 și să fac ceva zgomot cu el. Au existat câteva elemente confuze la acest lucru, dar, cu ajutorul The Oddbloke Geek Blog și câteva alte exemple, împreună cu documentul cu specificațiile cipului am reușit să dezvolt o simplă bibliotecă arduino.
Apoi, a trebuit să învăț cum să interfațez o tastatură midi cu un scut USB mini host. Acest lucru nu a fost atât de greu, deoarece există o documentație disponibilă și există biblioteci bune, cu exemple clare.
Odată ce am înțeles cum să controlez cipul și cum să îmi interacționez tastatura midi USB, singurul lucru rămas de făcut a fost să scriu un cod care să împacheteze toate acestea și să îmi permită să folosesc tastatura pentru a controla cipul.
Pe parcurs, am aflat că sunetele cu frecvență mai mică decât cele pe care am încercat să le generez pentru notele midi 0x2f nu sună bine, așa că am decis să folosesc asta pentru a permite trimiterea zgomotului la generatorul de zgomot pentru orice note midi între 0x28 și 0x2f și permite, de asemenea, să redați note cu o notă arabă orientală pentru orice mai mic decât midi 0x28.
Privind înapoi, a fost foarte distractiv și foarte interesant de construit.
Sper să vi se pară la fel de distractiv și interesant ca mine și că, dacă construiți unul singur, ați fi amabil să împărtășiți câteva imagini cu el.
Dacă ți-a plăcut acest proiect, votează-l mai jos pentru a contribui la câștigarea concursului la care participă
Provizii
Am adăugat linkuri către materialele pe care le puteți achiziționa pentru acest proiect, cu toate acestea, ați putea găsi multe articole disponibile pe care le puteți răci din electronice vechi.
Aceste link-uri sunt linkuri de afiliere, deci, dacă cumpărați după ce faceți clic pe ele, voi primi o mică parte (nu avere) și veți obține un produs potrivit pentru acest proiect. Nu există taxe sau costuri suplimentare în utilizarea acestora, cu toate acestea, puteți găsi orice articole similare care le pot înlocui destul de ușor.
ebay.us/svA4z4 | 1 x placa de performanță
ebay.us/ZyEFNp | 1 x arduino nano
ebay.us/t1zy0v | 1 x mini scut USB
ebay.to/2QrHl1C | 1 x cip de sunet SN76489
ebay.us/aaaj8p | 1 x registru de schimbare 595
ebay.us/DSvTHO | 1 x oscilator de cristal de 4 MHz
ebay.us/XQeM0Q | 1 x 5V regulator de tensiune 7805
ebay.us/6R6Fpf | 1 x radiator pentru regulatorul de tensiune
ebay.us/xkLbn4 | 3 x condensatori 10uF
ebay.us/pnm2BH | fire
ebay.us/PMbUfY | 1 x LED roșu pentru alimentare
ebay.us/zokHtc | 1 x 220 ohm rezistor pentru a limita fluxul de curent LED
ebay.us/qjbesJ | 1 x conector de alimentare pentru alimentare 12V
ebay.us/cS0wwv | 1 x comutator de pornire / oprire
o cutie potrivită (am construit-o pe a mea dintr-un sertar vechi care a stat odihnă de ani buni)
Pasul 1: Pregătirea USB Mini Host Shield pentru a conduce un dispozitiv Midi de 5V
Deoarece ecranul mini USB host funcționează pe 3,3V și tastaturile midi USB pe care le folosesc necesită 5V, este necesar să reglați tensiunea de ieșire a scutului prin tăierea liniei de 3,3V care trece la ieșirea USB Vcc, deci o putem conecta ulterior la 5V.
Există o mulțime de tutoriale despre cum să faceți acest lucru și sa dovedit a fi destul de simplu:
Doar tăiați linia dintre rezistența 2k2 și linia Vcc (a se vedea imaginea anexată). Am folosit un șurubelniță pentru a zgâria această linie și am testat dacă a funcționat cu un contor de continuitate.
Pasul 2: Conectați mini-scutul USB cu Arduino Nano
Din fericire, există o mulțime de informații despre cum să faceți acest lucru, așa că, căutând „Arduino Nano și mini USB host shield” am aterizat pe acest fir
A descris cum să conectez scutul USB mini v2.0 și după ce l-am urmat am mers drept înainte pentru a testa câteva exemple midi USB.
Cablare:
Scut gazdă Arduino
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V -------------- 1
3,3V ------------ 9
GND ----------- 3
RST ------------ 4
În acest fir, s-a menționat, de asemenea, că au tăiat cablul de 3,3V, astfel încât USB-ul să poată obține 5V de la VBUS.
Această descriere și imaginile anexate provin din acest fir.
BTW, există o greșeală pe tipărirea de pe această placă, deci acest lucru a fost puțin confuz, totuși, puteți vedea feedback-ul meu despre asta (tyrkelko) și de unde l-am învățat.
Pasul 3: Chips pe cineva? Adăugarea SN76489 cu 4MHz Osc. și 595 Shift Register
Acum a venit timpul să adăugăm cipul care face acest sunet uimitor.
Am dezvoltat deja o bibliotecă pentru interfața arduino cu acest cip și a trebuit doar să urmez instrucțiunile mele.
Biblioteca este lansată în github sub GPLv3 (prima mea versiune open source).
github.com/tyrkelko/sn76489
Conexiunea 76489 și 595 a fost ca în imaginea anexată care este capturată din fișierul readme.txt al bibliotecii
Activarea scrierii la nivel scăzut (NotWE) din 76489 a fost conectată cu pinul 3 al nano-ului și poate fi modificată în cod.
#define PIN_NotWE 3
595 a fost conectat la nano după cum urmează și poate fi ajustat și prin editarea numerelor de pin:
#define PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
Oscilatorul pe care l-am folosit a fost un oscilator de cristal de 4 MHz cu 4 picioare.
A fost configurat în cod după cum urmează și puteți regla valoarea acestuia la orice frecvență a oscilatorului între 500kHz și 4MHz:
#define FREQUENCY 4000000.0
Conectarea oscilatorului pe care l-am folosit a fost după cum urmează:
pinul 1 - nu este conectat
pinul 7 - sol
pinul 8 - conectat la 76489 pinul 14 - ceas osc
Pasul 4: Adăugați doar cod - Adăugarea bibliotecilor, compilarea și încărcarea codului
Bibliotecile utilizate în acest proiect trebuie adăugate la Arduino IDE după cum urmează:
Deschideți ID-ul Arduino
Descărcați următoarele biblioteci în dosarul bibliotecii IDE-ului dvs. (sperăm să le vedeți în meniul „Gestionați bibliotecile …” din meniul „Instrumente” IDE în curând):
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Utilizați codul din următorul proiect github:
github.com/tyrkelko/usb_midi_tone
Descărcați usb_midi_tone.ino, compilați și încărcați pe Arduino nano.
Pasul 5: Conectați un amplificator și difuzor, conectați tastatura USB Midi și testați
Acum este timpul să testăm totul funcționează.
Pentru a face acest lucru avem nevoie de:
1. Un amplificator și difuzor
2. O tastatură midi USB
Conectați pinul SN76489 7, ieșire audio, la intrarea audio a amplificatorului.
Porniți amplificatorul și apoi porniți arduino nano. Acum ar trebui să auziți sunetul testului de pornire pentru o fracțiune de secundă.
Conectați tastatura midi USB și testați.
Dacă totul funcționează corect, ar trebui să puteți reda simultan 3 tonuri și, de asemenea, să redați 8 tipuri de zgomot și chiar un ton de sfert de 24 EDO-Scale.
Dacă nu funcționează, parcurgeți pașii pentru a vedea ce s-ar fi putut defecta.
Dacă considerați că acest lucru rezultă din instrucțiuni neclare, trimiteți-mi o notă, așa că actualizez instrucțiunile pentru a remedia problema.
Pasul 6: Finalizați circuitul cu un regulator de tensiune de 5V, conector de 12V, comutator de pornire / oprire și LED de alimentare
În acest pas ar trebui să puteți înfășura circuitul după ce l-ați testat pentru a funcționa corect.
1. Adăugați un regulator de putere cu LM7805 și doi condensatori 10uF și 0,1uF. Există o mulțime de tutoriale în acest sens, puteți utiliza următoarele instructabile pentru a realiza acest lucru -
2. Adăugați un conector de alimentare de 12V cu Vcc activat printr-un comutator de pornire / oprire
3. Adăugați un LED cu un rezistor de curent limitativ pentru a indica când este pornit.
Pasul 7: Închideți într-o cutie, vopsiți și bucurați-vă de noul dvs. sintetizator
Odată ce circuitele sunt testate și funcționează după bunul plac, nu mai rămâne mult de făcut, cu excepția construirii unei incinte frumoase, pictează-o cu culori minunate și redă muzică.
Sper că ți-a plăcut să citești acest instructable și că te-a inspirat să-ți construiești propriul sintetizator sau să începi cu un alt proiect la care lucrezi.
Vă rugăm să comentați mai jos cu orice întrebări și dacă ați construit ceva similar pe baza acestui tutorial, ar fi minunat dacă ați împărtăși ceea ce ați făcut în „Am făcut asta!” sau în secțiunea de feedback.
Recomandat:
Dub Siren Synth - 555 Project V2: 13 pași (cu imagini)
Dub Siren Synth - 555 Project V2: Prima mea construcție de sirene dub a fost puțin prea complicată. Deși a funcționat bine, aveți nevoie de baterii de 3 x 9V pentru a-l alimenta, ceea ce era excesiv și a trebuit să construiesc circuitul principal pe o placă prototip. Primul videoclip este o demonstrație a sunetelor pe care le
Digital Synth VRA8-Px pentru Arduino Uno: 3 pași
Digital Synth VRA8-Px pentru Arduino Uno: realizat de ISGK Instruments https://github.com/risgk/digital-synth-vra8-p/tree/vra8-px-v2 http://risgk.github.io/Concept 3 Sintetizator parafonic vocal pentru Arduino Uno O variantă de sintetizator digital VRA8-P Caracteristici
Să construim (Synth analogic): 5 pași
Let's Build (Analogue Synth): În această serie, vă voi arăta cum să construiți un sintetizator analogic modular de bază folosind atât componente analogice, cât și digitale. Link la schematică și componente: https://drive.google.com/open?id= 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
Arduino Synth / Tone Generator: 5 pași
Arduino Synth / Tone Generator: Acesta este un Synth / Tone Generator care folosește comanda Tone care este originară din Arduino. Are 12 taste individuale care pot fi configurate pentru a reda orice frecvență a undelor pătrate. Are capacitatea de a urca și coborî octave cu un buton. De asemenea, are o s
Controler de lumină cu bandă LED 5V MIDI pentru Spielatron sau alt MIDI Synth: 7 pași (cu imagini)
Controler de lumină cu bandă LED 5V MIDI pentru Spielatron sau alt MIDI Synth: Acest controler luminează intermitent cu LED-uri tri-color pentru 50mS pe notă. Albastru pentru G5 la D # 6, roșu pentru E6 la B6 și verde pentru C7 la G7. Controlerul este un dispozitiv ALSA MIDI, astfel încât software-ul MIDI să poată ieși la LED-uri în același timp cu un dispozitiv de sintetizare MIDI