Obsah:

Postavme USB MIDI syntetizátor SN76489 s Arduino Nano: 7 krokov
Postavme USB MIDI syntetizátor SN76489 s Arduino Nano: 7 krokov

Video: Postavme USB MIDI syntetizátor SN76489 s Arduino Nano: 7 krokov

Video: Postavme USB MIDI syntetizátor SN76489 s Arduino Nano: 7 krokov
Video: Clocky - MIDI and DIN sync master clock 2024, Júl
Anonim
Image
Image
Postavme USB MIDI syntetizátor SN76489 s Arduino Nano
Postavme USB MIDI syntetizátor SN76489 s Arduino Nano
Postavme USB MIDI syntetizátor SN76489 s Arduino Nano
Postavme USB MIDI syntetizátor SN76489 s Arduino Nano

Chceli ste niekedy postaviť svoj vlastný syntetizátor na základe starých čipových melódií z 80. rokov? Chcete hrať jednoduché polyfónne melódie, ktoré znejú rovnako, ako zneli tieto staré videohry Sega Master System a Megadrive?

Mám, tak som si objednal niekoľko čipov SN76489 z ebay a rozhrania midi host a skúsil som to. Nebola to pre mňa prechádzka parkom, ale užíval som si každú chvíľu.

Najprv som sa naučil, ako priamo prepojiť SN76489 a vytvárať s ním hluk. Malo to niekoľko mätúcich prvkov, ale pomocou blogu Oddbloke Geek Blog a niekoľkých ďalších príkladov a dokumentu o špecifikácii čipu som dokázal vyvinúť jednoduchú arduino knižnicu.

Ďalej som sa musel naučiť prepojiť midi klávesnicu s USB mini host štítom. Nebolo to také ťažké, pretože je k dispozícii určitá dokumentácia a dobré knižnice existujú s jasnými príkladmi.

Keď som pochopil, ako ovládať čip a ako prepojiť USB midi klávesnicu, zostávalo už len napísať nejaký kód, ktorý by to všetko zabalil a umožnil mi pomocou klávesnice ovládať čip.

Po ceste som sa dozvedel, že zvuky s nižšou frekvenciou ako tie, ktoré som sa pokúšal generovať pre midi noty 0x2f, neznie správne, a tak som sa to rozhodol použiť na odoslanie šumu do generátora šumu pre všetky midi noty medzi 0x28 a 0x2f. a tiež umožniť hrať poznámky s orientálnym arabským nádychom pre čokoľvek nižšie ako midi 0x28.

Keď sa na to pozerám spätne, bolo to veľmi zábavné a veľmi zaujímavé stavať.

Dúfam, že vás to bude baviť a baviť rovnako ako mňa, a že ak si ho postavíte sami, budete tak láskaví a podelíte sa s ním o niekoľko fotografií.

Ak sa vám tento projekt páčil, hlasujte zaň nižšie a pomôžte tak vyhrať súťaž, ktorej sa zúčastňuje

Zásoby

Pridal som odkazy na materiál, ktorý si môžete kúpiť pre tento projekt, ale môžete nájsť mnoho dostupných položiek, ktoré môžete zoškrabať zo starej elektroniky.

Tieto odkazy sú pridružené odkazy, takže ak si ich kúpite po kliknutí na ne, dostanem malú časť (nie majetok) a vy získate produkt, ktorý je pre tento projekt vhodný. Za ich používanie nie sú žiadne poplatky ani dodatočné poplatky, ale môžete nájsť akékoľvek podobné položky, ktoré ich môžu veľmi ľahko nahradiť.

ebay.us/svA4z4 | 1 x výkonná doska

ebay.us/ZyEFNp | 1 x arduino nano

ebay.us/t1zy0v | 1 x mini štít USB

ebay.to/2QrHl1C | 1 x zvukový čip SN76489

ebay.us/aaaj8p | 1 x posuvný register 595

ebay.us/DSvTHO | 1 x kryštálový oscilátor s frekvenciou 4 MHz

ebay.us/XQeM0Q | 1 x 5V regulátor napätia 7805

ebay.us/6R6Fpf | 1 x chladič pre regulátor napätia

ebay.us/xkLbn4 | Kondenzátory 3 x 10uF

ebay.us/pnm2BH | drôty

ebay.us/PMbUfY | 1 x červená LED na napájanie

ebay.us/zokHtc | 1 x 220 ohmový odpor na obmedzenie toku prúdu LED

ebay.us/qjbesJ | 1 x napájací konektor pre napájanie 12 V.

ebay.us/cS0wwv | 1 x vypínač

vhodná krabica (svoju som postavil zo starej zásuvky, ktorá roky ležala v mojom sklade)

Krok 1: Príprava štítu USB Mini Host Shield na pohon 5V zariadenia Midi

Príprava štítu USB Mini Host Shield na pohon 5V zariadenia Midi
Príprava štítu USB Mini Host Shield na pohon 5V zariadenia Midi

Pretože USB mini host štít funguje na 3,3 V a USB midi klávesnice, ktoré používam, vyžadujú 5 V, je potrebné upraviť výstupné napätie štítu prerušením vedenia 3,3 V, ktoré smeruje do USB výstupu Vcc, takže ho môžeme neskôr pripojiť na 5V.

Existuje veľa návodov, ako to urobiť, a ukázalo sa, že je to celkom jednoduché:

Stačí prerušiť čiaru medzi odporom 2k2 a Vcc (pozri priložený obrázok). Pomocou skrutkovača som túto linku poškriabal a vyskúšal som, či funguje s meračom spojitosti.

Krok 2: Pripojte mini USB štít k svojmu Arduino Nano

Pripojte mini USB štít k svojmu Arduino Nano
Pripojte mini USB štít k svojmu Arduino Nano
Pripojte mini USB štít k svojmu Arduino Nano
Pripojte mini USB štít k svojmu Arduino Nano

Našťastie existuje veľa informácií o tom, ako to urobiť, a tak som po googlení na tému „Arduino Nano a mini USB host štít“pristúpil k tomuto vláknu

Popisoval som, ako pripojiť štít USB mini v2.0, a potom som ho nasledoval a otestoval niekoľko príkladov USB midi.

Elektrické vedenie:

Hostiteľský štít Arduino

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

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

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

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

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

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

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

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

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

V tomto vlákne bolo tiež spomenuté, že prerušili kábel 3,3 V, aby USB mohlo dostať 5 V od VBUS.

Tento popis a priložené obrázky pochádzajú z tohto vlákna.

BTW, tam je chyba v tlači na tejto doske, takže to bolo trochu mätúce, ale môžeš vidieť moju spätnú väzbu na to (tyrkelko) a odkiaľ som sa to naučil.

Krok 3: Čipuje niekto? Pridanie SN76489 so 4 MHz Osc. a 595 posuvný register

Čipuje niekto? Pridanie SN76489 so 4 MHz Osc. a 595 posuvný register
Čipuje niekto? Pridanie SN76489 so 4 MHz Osc. a 595 posuvný register

Teraz bol čas pridať čip, ktorý vytvára tento úžasný zvuk.

Už som vyvinul knižnicu na prepojenie arduina s týmto čipom a musel som sa riadiť iba svojimi pokynmi.

Knižnica je vydaná v github pod GPLv3 (moje prvé open source vydanie).

github.com/tyrkelko/sn76489

Spojenie 76489 a 595 bolo rovnaké ako na priloženom obrázku, ktorý je zachytený zo súboru knižnice readme.txt

Povolenie zápisu na nízkej úrovni (NotWE) 76489 bolo spojené s pinom 3 nano a je možné ho zmeniť v kóde.

#define PIN_NotWE 3

595 bol k nano pripojený nasledovne a je ho tiež možné upraviť úpravou čísel pinov:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Oscilátor, ktorý som použil, bol 4MHz kryštálový oscilátor so 4 nohami.

V kóde bol nakonfigurovaný nasledovne a jeho hodnotu môžete prispôsobiť ľubovoľnej frekvencii oscilátora medzi 500 kHz a 4 MHz:

#define FREQUENCY 4000000.0

Pripojenie oscilátora, ktorý som použil, bolo nasledovné:

pin 1 - nie je pripojený

kolík 7 - zem

pin 8 - pripojený k 76489 pin 14 - hodiny osc

Krok 4: Stačí pridať kód - pridanie knižníc, kompilácia a nahranie kódu

Knižnice použité v tomto projekte je potrebné pridať do Arduino IDE nasledovne:

Otvorte Arduino IDE

Stiahnite si nasledujúce knižnice do priečinka knižnice vášho IDE (dúfame, že sa vám čoskoro zobrazia v ponuke „Spravovať knižnice …“v ponuke „Nástroje“IDE):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Použite kód z nasledujúceho projektu github:

github.com/tyrkelko/usb_midi_tone

Stiahnite si usb_midi_tone.ino, skompilovajte a nahrajte do svojho Arduino nano.

Krok 5: Pripojte zosilňovač a reproduktor, pripojte klávesnicu USB Midi a vyskúšajte

Teraz je čas vyskúšať, či všetko funguje.

Na to potrebujeme:

1. Zosilňovač a reproduktor

2. USB midi klávesnica

Pripojte zvukový výstup SN76489 pin 7 k zvukovému vstupu zosilňovača.

Zapnite zosilňovač a potom arduino nano. Teraz by ste mali na sekundu počuť testovací zvuk pri zapnutí.

Pripojte USB midi klávesnicu a vyskúšajte.

Ak všetko funguje správne, mali by ste byť schopní hrať 3 tóny súčasne a tiež hrať 8 typov šumu a dokonca aj nejaký štvrtinový tón v stupnici 24 EDO.

Ak to nefunguje, pozrite sa na kroky a zistite, čo sa mohlo stať.

Ak sa domnievate, že to vyplýva z nejasných pokynov, napíšte mi prosím poznámku, takže aktualizujem pokyny a opravím to.

Krok 6: Dokončite obvod pomocou 5V regulátora napätia, 12 V konektora, vypínača a LED diódy napájania

V tomto kroku by ste mali byť schopní zabaliť obvod po testovaní, či funguje správne.

1. Pridajte regulátor výkonu s LM7805 a dvoma 10uF kondenzátormi a 0,1uF. Na to je veľa návodov, na to môžete použiť nasledujúci návod-https://www.instructables.com/id/7805-Regulator-5V…

2. Pridajte 12V napájací konektor tak, aby Vcc prechádzal vypínačom

3. Pridajte LED diódu s obmedzujúcim prúdovým odporom, ktorá indikuje, kedy je napájanie zapnuté.

Krok 7: Zatvorte krabicu, vymaľujte a užívajte si nový syntetizátor

Akonáhle sú obvody testované a fungujú podľa vašich predstáv, nezostáva vám nič iné, ako postaviť pekný kryt, vymaľovať ho úžasnými farbami a pustiť si hudbu.

Dúfam, že sa vám čítanie tohto návodu páčilo a že vás inšpirovalo k zostaveniu vlastného syntetizátora alebo k pokračovaniu v inom projekte, na ktorom pracujete.

Komentujte nižšie uvedené otázky a ak ste na základe tohto tutoriálu vytvorili niečo podobné, bolo by skvelé, keby ste sa podelili o to, čo ste urobili, v časti „Toto som urobil!“oblasti alebo v sekcii spätnej väzby.

Odporúča: