Obsah:
- Zásoby
- Krok 1: Příprava štítu USB Mini Host Shield na řízení 5V zařízení Midi
- Krok 2: Připojte USB mini štít k Arduino Nano
- Krok 3: Čipuje někdo? Přidání SN76489 se 4MHz osc. a 595 Shift Register
- Krok 4: Stačí přidat kód - přidání knihoven, kompilace a nahrání kódu
- Krok 5: Připojte zesilovač a reproduktor, připojte klávesnici USB Midi a vyzkoušejte
- Krok 6: Dokončete obvod pomocí regulátoru napětí 5 V, konektoru 12 V, vypínače a kontrolky napájení
- Krok 7: Uzavřete krabici, namalujte a užijte si svůj nový syntetizátor
Video: Postavme USB MIDI syntezátor SN76489 s Arduino Nano: 7 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
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
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
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
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:
Syntezátor Arduino MIDI Chiptune: 7 kroků (s obrázky)
Arduino MIDI Chiptune Synthesizer: Prožijte zábavu rané hudby z počítačových her s autentickým 8bitovým syntezátorem chiptune, který můžete ovládat přes MIDI z pohodlí jakéhokoli moderního softwaru DAW. Tento jednoduchý obvod využívá Arduino k řízení AY-3- 8910 programovatelných zvukových generací
Syntezátor Arduino: 20 kroků (s obrázky)
Syntezátor Arduino: Arduino je schopen vydávat zvuk prostřednictvím knihovny, která byla vyvinuta pod názvem Tone Library. Vytvořením rozhraní a programu, který může volat určité hodnoty pro výstup zvukového výstupu, je Arduino Synthesizer robustním nástrojem pro
Hudební syntezátor založený na DE0-Nano-SoC: 5 kroků (s obrázky)
Hudební syntezátor na bázi DE0-Nano-SoC: Syntezátor hudby Tento hudební syntetizátor je docela jednoduchý: stačí jen foukat, zpívat nebo dokonce přehrávat hudbu před mikrofonem a zvuk bude modulován a odesílán prostřednictvím reproduktoru. Jeho specctrum se objeví také na LCD displeji
MIDI 5V LED Strip Light Controller pro Spielatron nebo jiný MIDI syntezátor: 7 kroků (s obrázky)
MIDI 5V LED páskový světelný ovladač pro Spielatron nebo jiný MIDI syntetizátor: Tento ovladač bliká tříbarevnými LED páskovými světly po dobu 50 ms na notu. Modrá pro G5 až D#6, červená pro E6 až B6 a zelená pro C7 až G7. Řadič je MIDI zařízení ALSA, takže software MIDI může vystupovat z LED současně jako zařízení MIDI synth
Micro Midi syntezátor: 5 kroků (s obrázky)
Syntezátor Micro Midi: Tento návod ukazuje použití čipu VLSI VS1053b Audio a Midi DSP v režimu Midi v reálném čase. V tomto režimu funguje jako 64hlasý polyfonní GM (General Midi) Midi syntezátor. Samostatné mikro Arduino Uno ovládá OLED displej