Obsah:

Postavme USB MIDI syntezátor SN76489 s Arduino Nano: 7 kroků
Postavme USB MIDI syntezátor SN76489 s Arduino Nano: 7 kroků

Video: Postavme USB MIDI syntezátor SN76489 s Arduino Nano: 7 kroků

Video: Postavme USB MIDI syntezátor SN76489 s Arduino Nano: 7 kroků
Video: Clocky - MIDI and DIN sync master clock 2024, Červenec
Anonim
Image
Image
Pojďme postavit USB MIDI syntezátor SN76489 s Arduino Nano
Pojďme postavit USB MIDI syntezátor SN76489 s Arduino Nano
Postavme USB MIDI syntezátor SN76489 s Arduino Nano
Postavme USB MIDI syntezátor SN76489 s Arduino Nano

Chtěli jste někdy postavit svůj vlastní syntezátor na základě starých čipových melodií z 80. let? Hrajte jednoduché polyfonní melodie, které zní stejně jako tyto staré hry Sega Master System a Megadrive?

Mám, takže jsem si objednal několik čipů SN76489 z ebay a rozhraní midi host a zkusil to. Nebyla to pro mě procházka parkem, ale užíval jsem si každý okamžik.

Nejprve jsem se naučil, jak přímo propojit SN76489 a dělat s ním nějaký hluk. Existovalo v tom několik matoucích prvků, ale s pomocí The Oddbloke Geek Blog a několika dalších příkladů, spolu s dokumentem o specifikaci čipu, jsem byl schopen vyvinout jednoduchou arduino knihovnu.

Dále jsem se musel naučit, jak propojit midi klávesnici s USB mini hostitelským štítem. Nebylo to tak těžké, protože je k dispozici nějaká dokumentace a existují dobré knihovny s jasnými příklady.

Jakmile jsem pochopil, jak ovládat čip a jak propojit USB midi klávesnici, zbývalo už jen napsat nějaký kód, který by to všechno zabalil a umožnil mi pomocí klávesnice ovládat čip.

Po cestě jsem se dozvěděl, že zvuky s nižší frekvencí než ty, které jsem se snažil generovat pro midi noty 0x2f, nezněly správně, a tak jsem se rozhodl použít to, abych umožnil odesílání šumu do generátoru šumu pro všechny midi noty mezi 0x28 a 0x2f a také povolit přehrávání not s orientálním arabským nádechem pro cokoli nižší než midi 0x28.

Když se podívám zpět, bylo to hodně zábavné a velmi zajímavé stavět.

Doufám, že vás to bude bavit a zajímat stejně jako mě, a že pokud si ji postavíte sami, budete tak laskaví a podělíte se o nějaké obrázky.

Pokud se vám tento projekt líbil, hlasujte pro něj níže a pomozte tak vyhrát soutěž, které se účastní

Zásoby

Přidal jsem odkazy na materiál, který si můžete pro tento projekt zakoupit, ale můžete najít mnoho dostupných položek, které můžete seškrabat ze staré elektroniky.

Tyto odkazy jsou affiliate odkazy, takže pokud je zakoupíte po kliknutí, získám malou část (ne bohatství) a vy získáte produkt, který je pro tento projekt to pravé. Za jejich používání se neplatí žádný poplatek ani poplatky, nicméně můžete najít jakékoli podobné položky, které je lze snadno nahradit.

ebay.us/svA4z4 | 1 x výkonová deska

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ý registr 595

ebay.us/DSvTHO | 1 x krystalový oscilátor 4 MHz

ebay.us/XQeM0Q | 1 x 5V regulátor napětí 7805

ebay.us/6R6Fpf | 1 x chladič pro regulátor napětí

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

ebay.us/pnm2BH | dráty

ebay.us/PMbUfY | 1 x červená LED pro napájení

ebay.us/zokHtc | 1 x 220 ohmový odpor k omezení toku proudu LED

ebay.us/qjbesJ | 1 x napájecí konektor pro napájení 12 V

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

vhodný box (svůj jsem postavil ze starého šuplíku, který roky odpočíval v mém skladu)

Krok 1: Příprava štítu USB Mini Host Shield na řízení 5V zařízení Midi

Příprava štítu USB Mini Host Shield pro řízení 5V zařízení Midi
Příprava štítu USB Mini Host Shield pro řízení 5V zařízení Midi

Vzhledem k tomu, že USB mini hostitelský štít pracuje na 3,3 V a USB midi klávesnice, které používám, vyžadují 5 V, je nutné upravit výstupní napětí štítu odříznutím linky 3,3 V, která vede do USB výstupu Vcc, takže jej můžeme později připojit na 5V.

Existuje spousta návodů, jak to udělat, a ukázalo se, že je to docela jednoduché:

Stačí zkrátit čáru mezi odporem 2k2 a Vcc (viz přiložený obrázek). Pomocí šroubováku jsem tuto linku poškrábal a vyzkoušel, zda funguje s měřičem spojitosti.

Krok 2: Připojte USB mini štít k Arduino Nano

Připojte USB mini štít k Arduino Nano
Připojte USB mini štít k Arduino Nano
Připojte USB mini štít k Arduino Nano
Připojte USB mini štít k Arduino Nano

Naštěstí existuje spousta informací o tom, jak to udělat, takže když jsem vyhledal „Arduino Nano a mini USB hostitelský štít“, přistoupil jsem k tomuto vláknu

Popisovalo to, jak připojit štít USB mini v2.0, a poté, co jsem ho následoval, jsem šel přímo vyzkoušet některé příklady USB midi.

Elektrické vedení:

Hostitelský štít Arduino

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

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

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

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

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

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

3.3V ------------ 9

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

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

V tomto vlákně bylo také zmíněno, že přerušili kabel 3,3 V, takže USB může získat 5 V od VBUS.

Tento popis a přiložené obrázky pocházejí z tohoto vlákna.

BTW, na tisku na této desce je chyba, takže to bylo trochu matoucí, nicméně můžete vidět moji zpětnou vazbu k tomu (tyrkelko) a odkud jsem se to naučil.

Krok 3: Čipuje někdo? Přidání SN76489 se 4MHz osc. a 595 Shift Register

Chips někdo? Přidání SN76489 se 4MHz osc. a 595 Shift Register
Chips někdo? Přidání SN76489 se 4MHz osc. a 595 Shift Register

Nyní byl čas přidat čip, který vytváří tento úžasný zvuk.

Už jsem vyvinul knihovnu pro rozhraní arduina s tímto čipem a musel jsem se řídit pouze mými pokyny.

Knihovna je vydána v githubu pod GPLv3 (moje první open source verze).

github.com/tyrkelko/sn76489

Spojení 76489 a 595 bylo stejné jako na přiloženém obrázku, který je zachycen ze souboru readme.txt knihovny

Povolení zápisu na nízké úrovni (NotWE) 76489 bylo spojeno s pinem 3 nano a lze jej v kódu změnit.

#define PIN_NotWE 3

595 byl připojen k nano následujícím způsobem a lze jej také upravit úpravou čísel pinů:

#define PIN_SER 7

#define PIN_LATCH 6

#define PIN_CLK 5

Oscilátor, který jsem použil, byl krystalový oscilátor 4 MHz se 4 nohami.

V kódu byl nakonfigurován následovně a jeho hodnotu můžete upravit na libovolnou frekvenci oscilátoru mezi 500 kHz a 4 MHz:

#define FREQUENCY 4000000.0

Připojení oscilátoru, který jsem použil, bylo následující:

pin 1 - není připojen

pin 7 - zem

pin 8 - připojen k 76489 pin 14 - hodiny osc

Krok 4: Stačí přidat kód - přidání knihoven, kompilace a nahrání kódu

Knihovny použité v tomto projektu je třeba do Arduino IDE přidat následovně:

Otevřete Arduino IDE

Stáhněte si následující knihovny do složky knihoven vašeho IDE (doufám, že je brzy uvidíte v nabídce „Spravovat knihovny…“v nabídce „Nástroje“IDE):

github.com/felis/USB_Host_Shield_2.0

github.com/tyrkelko/sn76489

Použijte kód z následujícího projektu github:

github.com/tyrkelko/usb_midi_tone

Stáhněte si usb_midi_tone.ino, zkompilujte a nahrajte do svého Arduino nano.

Krok 5: Připojte zesilovač a reproduktor, připojte klávesnici USB Midi a vyzkoušejte

Nyní je čas vyzkoušet, zda vše funguje.

K tomu potřebujeme:

1. Zesilovač a reproduktor

2. USB midi klávesnice

Připojte SN76489 pin 7, zvukový výstup, ke vstupu zvuku zesilovače.

Zapněte zesilovač a poté arduino nano. Nyní byste měli na zlomek sekundy slyšet testovací zvuk při zapnutí.

Připojte USB midi klávesnici a vyzkoušejte.

Pokud vše funguje správně, měli byste být schopni hrát 3 tóny současně a také hrát 8 typů šumu a dokonce i čtvrtinový tón 24 stupnic EDO.

Pokud to nefunguje, projděte si kroky, abyste zjistili, co se mohlo pokazit.

Pokud máte pocit, že to vyplývá z nejasných pokynů, napište mi prosím poznámku, takže pokyny aktualizuji a opravím.

Krok 6: Dokončete obvod pomocí regulátoru napětí 5 V, konektoru 12 V, vypínače a kontrolky napájení

V tomto kroku byste měli být schopni zabalit obvod po testování, aby fungoval správně.

1. Přidejte regulátor výkonu s LM7805 a dvěma 10uF kondenzátory a 0,1uF. Existuje k tomu spousta návodů, k tomu můžete použít následující instrukce-https://www.instructables.com/id/7805-Regulator-5V…

2. Přidejte 12V napájecí konektor s Vcc procházejícím vypínačem

3. Přidejte LED s odporem omezujícího proudu, který indikuje, kdy je napájení zapnuto.

Krok 7: Uzavřete krabici, namalujte a užijte si svůj nový syntetizátor

Jakmile jsou obvody testovány a fungují podle vašich představ, nezbývá nic jiného, než postavit pěkný kryt, namalovat ho úžasnými barvami a pustit si hudbu.

Doufám, že se vám čtení tohoto návodu líbilo a že vás inspirovalo k vybudování vlastního syntetizátoru nebo k zahájení dalšího projektu, na kterém pracujete.

Níže prosím napište komentáře k jakýmkoli otázkám a pokud jste na základě tohoto tutoriálu postavili něco podobného, bylo by skvělé, kdybyste se podělili o to, co jste vytvořili v části „Vytvořil jsem to!“oblasti nebo v sekci zpětné vazby.

Doporučuje: