Kazalo:

Zgradimo SN76489 USB MIDI Synth z Arduino Nano: 7 korakov
Zgradimo SN76489 USB MIDI Synth z Arduino Nano: 7 korakov

Video: Zgradimo SN76489 USB MIDI Synth z Arduino Nano: 7 korakov

Video: Zgradimo SN76489 USB MIDI Synth z Arduino Nano: 7 korakov
Video: DIY Synthé Arduino, Fx & Sounds Box, Homemade #electronic 2024, November
Anonim
Image
Image
Zgradimo SN76489 USB MIDI Synth z Arduino Nano
Zgradimo SN76489 USB MIDI Synth z Arduino Nano
Zgradimo SN76489 USB MIDI Synth z Arduino Nano
Zgradimo SN76489 USB MIDI Synth z Arduino Nano

Ste kdaj želeli zgraditi svoj sintetizator na podlagi starih melodij iz 80-ih? Predvajajte preproste večglasne melodije, ki zvenijo tako, kot so zvenele stare videoigre Sega Master System in Megadrive?

Imam, zato sem naročil nekaj čipov SN76489 pri ebayu in vmesnik midi gostitelja in ga poskušal. No, to zame ni bil sprehod po parku, ampak užival sem v vsakem trenutku.

Najprej sem se naučil, kako neposredno povezati vmesnik SN76489 in z njim narediti nekaj hrupa. Pri tem je bilo nekaj zmedenih elementov, vendar sem s pomočjo bloga Oddbloke Geek in nekaj drugih primerov skupaj s specifikacijo čipa lahko razvil preprosto knjižnico arduino.

Nato sem se moral naučiti, kako povezati midi tipkovnico s mini gostiteljskim ščitom USB. To ni bilo tako težko, saj je na voljo nekaj dokumentacije in obstajajo dobre knjižnice z jasnimi primeri.

Ko sem razumel, kako upravljati čip in kako povezati USB midi tipkovnico, je ostalo le še napisati kodo, ki bi vse to zavila skupaj in mi omogočila uporabo tipkovnice za nadzor čipa.

Med potjo sem se naučil, da zvoki z nižjo frekvenco od tistih, ki sem jih poskušal ustvariti za midi note 0x2f, ne zvenijo pravilno, zato sem se odločil, da to uporabim za pošiljanje hrupa generatorju hrupa za vse midi note med 0x28 in 0x2f in dovolite tudi predvajanje not z orientalsko arabskim pridihom za vse, kar je nižje od midi 0x28.

Če pogledamo nazaj, je bilo graditi zelo zabavno in zelo zanimivo.

Upam, da se vam bo zdelo tako zabavno in zanimivo, kot sem jaz, in da boste, če ga sami zgradite, prijazni, da delite nekaj njegovih slik.

Če vam je bil ta projekt všeč, ga glasujte spodaj, da pomagate zmagati na natečaju, v katerem sodeluje

Zaloge

Dodal sem povezave do materiala, ki ga lahko kupite za ta projekt, vendar bi lahko našli veliko razpoložljivih predmetov, ki jih lahko odstranite iz stare elektronike.

Te povezave so partnerske povezave, zato če kupite, potem ko jih kliknete, dobim majhen del (ne bogastva) in dobite izdelek, ki je primeren za ta projekt. Pri njihovi uporabi ni nobenih pristojbin ali dodatnih stroškov, vendar lahko najdete vse podobne izdelke, ki jih lahko precej enostavno nadomestijo.

ebay.us/svA4z4 | 1 x plošča za uspešnost

ebay.us/ZyEFNp | 1x arduino nano

ebay.us/t1zy0v | 1 x mini mini ščit USB

ebay.to/2QrHl1C | 1 x zvočni čip SN76489

ebay.us/aaaj8p | 1 x premični register 595

ebay.us/DSvTHO | 1 x kristalni oscilator 4MHz

ebay.us/XQeM0Q | 1 x 5V regulator napetosti 7805

ebay.us/6R6Fpf | 1 x hladilnik za regulator napetosti

ebay.us/xkLbn4 | 3 x 10uF kondenzatorji

ebay.us/pnm2BH | žice

ebay.us/PMbUfY | 1 x rdeča LED za napajanje

ebay.us/zokHtc | 1 x 220 ohmski upor za omejitev pretoka LED diode

ebay.us/qjbesJ | 1 x napajalni konektor za 12v napajanje

ebay.us/cS0wwv | 1 x stikalo za vklop/izklop

primerno škatlo (svojo sem zgradil iz starega predala, ki je leta počival v mojem skladišču)

1. korak: Priprava mini gostiteljskega ščita USB za pogon 5V Midi naprave

Priprava gostiteljskega ščita USB Mini za pogon 5V Midi naprave
Priprava gostiteljskega ščita USB Mini za pogon 5V Midi naprave

Ker mini ščit gostitelja USB deluje na 3,3 V, midi tipkovnice USB, ki jih uporabljam, pa potrebujejo 5 V, je potrebno prilagoditi izhodno napetost ščita tako, da prerežemo napetost 3,3 V, ki gre na izhod USB Vcc, zato ga lahko kasneje priključimo na 5V.

Obstaja veliko vaj o tem, kako to storiti, in izkazalo se je, da je zelo preprosto:

Samo odrežite črto med uporom 2k2 in linijo Vcc (glejte priloženo sliko). Uporabil sem izvijač, da sem opraskal to linijo in preizkusil, ali deluje z merilnikom kontinuitete.

Korak: Povežite mini ščit USB z vašim Arduino Nano

Mini ščit USB povežite s svojim Arduino Nano
Mini ščit USB povežite s svojim Arduino Nano
Mini ščit USB povežite s svojim Arduino Nano
Mini ščit USB povežite s svojim Arduino Nano

Na srečo je veliko informacij o tem, kako to storiti, zato sem z googlanjem za "Arduino Nano in mini USB host shield" pristal na tej temi

Opisal je, kako priključiti ščit USB mini v2.0 in po tem sem šel naravnost naprej preizkusiti nekaj primerov midi USB.

Ožičenje:

Gostiteljski ščit Arduino

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

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

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

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

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

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

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

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

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

V tej temi je bilo omenjeno tudi, da so prerezali kabel 3.3V, tako da lahko USB dobi 5V iz VBUS.

Ta opis in priložene slike prihajajo iz te niti.

BTW, pri tiskanju na tej plošči je napaka, zato je bilo to nekoliko zmedeno, vendar lahko vidite moje povratne informacije o tem (tyrkelko) in od kod sem se tega naučil.

3. korak: Je kdo čips? Dodajanje SN76489 s 4MHz Osc. in 595 premični register

Je kdo čips? Dodajanje SN76489 s 4MHz Osc. in 595 premični register
Je kdo čips? Dodajanje SN76489 s 4MHz Osc. in 595 premični register

Zdaj je bil čas, da dodamo čip, ki oddaja ta neverjeten zvok.

Knjižnico sem že razvil za povezovanje arduina s tem čipom in moral sem le upoštevati moja navodila.

Knjižnica je izdana v githubu pod GPLv3 (moja prva odprtokodna izdaja).

github.com/tyrkelko/sn76489

Povezava 76489 in 595 je bila kot na priloženi sliki, ki je posneta iz datoteke readme.txt knjižnice

Omogočanje pisanja pri nizki vrednosti (NotWE) 76489 je bilo povezano s pin 3 nano in ga je mogoče spremeniti v kodi.

#define PIN_NotWE 3

595 je bil priključen na nano na naslednji način in ga je mogoče prilagoditi tudi z urejanjem številk pin:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Oscilator, ki sem ga uporabil, je bil 4MHz kristalni oscilator s 4 nogami.

V kodi je bil konfiguriran na naslednji način in njegovo vrednost lahko prilagodite kateri koli frekvenci oscilatorja med 500 kHz in 4 MHz:

#define FREQUENCY 4000000.0

Priključitev oscilatorja, ki sem ga uporabil, je bila naslednja:

pin 1 - ni priključen

nožica 7 - ozemljitev

pin 8 - priključen na 76489 pin 14 - ura osc

4. korak: Samo dodajte kodo - dodajanje knjižnic, sestavljanje in nalaganje kode

Knjižnice, uporabljene v tem projektu, je treba dodati v Arduino IDE na naslednji način:

Odprite Arduino IDE

Prenesite naslednje knjižnice v mapo knjižnice svojega IDE (upam, da jih boste kmalu videli v meniju »Upravljanje knjižnic…« v meniju »Orodja« IDE):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Uporabite kodo iz naslednjega projekta github:

github.com/tyrkelko/usb_midi_tone

Prenesite usb_midi_tone.ino, sestavite in naložite v svoj Arduino nano.

5. korak: Priključite ojačevalnik in zvočnik, priključite USB midi tipkovnico in preizkusite

Zdaj je čas, da preizkusimo, ali vse deluje.

Za to potrebujemo:

1. Ojačevalnik in zvočnik

2. Midi tipkovnica USB

SN76489 pin 7, avdio izhod, priključite na avdio ojačevalnik.

Vklopite ojačevalnik in nato vklopite arduino nano. Zdaj bi morali za delček sekunde slišati zvok preizkusa vklopa.

Priključite midi tipkovnico USB in preizkusite.

Če vse deluje pravilno, bi morali imeti možnost predvajanja 3 tonov hkrati, predvajati pa tudi 8 vrst hrupa in celo nekaj četrtinskih tonov 24 EDO-Scale.

Če ne deluje, pojdite čez korake, da vidite, kaj je šlo narobe.

Če menite, da je to posledica nejasnih navodil, mi pošljite opombo, da posodobim navodila, da to popravim.

Korak 6: Dokončajte vezje s 5V regulatorjem napetosti, 12V priključkom, stikalom za vklop/izklop in LED za vklop

V tem koraku bi morali biti sposobni zaključiti vezje po tem, ko deluje, da deluje pravilno.

1. Dodajte regulator moči z LM7805 in dvema 10uF kondenzatorjema in 0,1uF. O tem obstaja veliko vaj, za to lahko uporabite naslednja navodila:

2. Dodajte 12V napajalni konektor z Vcc preko stikala za vklop/izklop

3. Dodajte LED z uporom za omejevalni tok, da označite, kdaj je napajanje vklopljeno.

7. korak: Zaprite v škatlo, barvajte in uživajte v novem sintetizatorju

Ko je vezje preizkušeno in deluje po vaših željah, vam ne preostane veliko drugega, kot da zgradite lepo ohišje, ga pobarvajte s čudovitimi barvami in predvajajte glasbo.

Upam, da ste uživali v branju tega navodila in da vas je navdihnilo, da ste ustvarili svoj sintetizator ali se lotili drugega projekta, na katerem delate.

Prosimo, komentirajte spodaj z morebitnimi vprašanji in če ste na podlagi te vadnice naredili kaj podobnega, bi bilo super, če delite, kar ste naredili, v "Jaz sem to naredil!" območju ali v razdelku za povratne informacije.

Priporočena: