Obsah:

HX1 -DM - upcycled Arduino DUE Powered DIY bicí automat (vyrobený s Dead Maschine MK2): 4 kroky
HX1 -DM - upcycled Arduino DUE Powered DIY bicí automat (vyrobený s Dead Maschine MK2): 4 kroky

Video: HX1 -DM - upcycled Arduino DUE Powered DIY bicí automat (vyrobený s Dead Maschine MK2): 4 kroky

Video: HX1 -DM - upcycled Arduino DUE Powered DIY bicí automat (vyrobený s Dead Maschine MK2): 4 kroky
Video: q3d quickfit extruder 2024, Listopad
Anonim
Image
Image
Oprava
Oprava

Spec

  • Hybridní midi ovladač / bicí automat: Arduino DUE poháněno!
  • 16 padů snímajících rychlost s velmi nízkou latencí 1> ms
  • 8 knoflíků, které lze přiřadit jakémukoli příkazu Midi #CC
  • 16kanálový vestavěný sekvencer (není potřeba žádný počítač !!)
  • Funkce MIDI in/out/thru (lze použít jako rozhraní USB midi!)
  • Částečné MIDI hodiny a podpora MTC (pracuje na ovládání MMC a DAW)

Toto je rozhodně jeden z nejsložitějších projektů, na kterých jsem pracoval, hovořili jsme o 17 výstupních posuvných registrech, 6 vstupních posuvných registrech, 2x 16kanálových multiplexorech pracujících na desce s plošnými spoji. s posuvnými registry / multiplexery před ……

Začalo to jako impulsní výkup na eBay, opravdu jsem chtěl Native Instruments Maschine, protože Ive se mi vždy líbily bicí pady ve srovnání s těmi ve studiu MPC, které jsem vlastnil, takže když jsem viděl vadný na eBay za 40 liber, myslel jsem si Zkusil bych to opravit, přičemž nejhorší scénář je: „Pokud to nedokážu opravit, mám Arduino DUE a několik UNO se povaluje, vždycky bych mohl udělat nějaký hack“

Ty bubnové podložky se mi každopádně moc líbí !!!!

Zásoby

1 x vadný Native Instruments Maschine MK2

1 x splatnost Arduina.

17 x SN74HC595’s - 8bitové výstupní posuvné registry

6 x SN74HC165 - 8bitové vstupní posuvné registry

2 x 74HC4067 - 16kanálové multiplexory.

2 x 3,2”OLED displeje 256x64.

nějaký plochý drát (starý disketový kabel bude stačit)

Krok 1: Oprava

Prodejce eBay byl tak laskavý, že v popisu poskytl představu o tom, co očekávat, a odstranil port USB. Deska utrpěla přepětí a nezapnula se. Cue the multimeter…. Zdálo se, že deska má krátký.. „Opravil jsem nespočet základních desek šortkami, takže jak těžké to může být !? komponenta na desce včetně hlavního CPU. Tato deska byla opravdu špatná!

Pokračoval jsem v prodávání a šťourání se svým multimetrem, provedl jsem malý průzkum komponent a zjistil jsem, co každý z nich dělá, plus NI odvedl skvělou práci, aby věci byly docela zřejmé s různými testovacími body kolem základní desky ??.

Krok 2: Hack

Hack
Hack
Hack
Hack
Hack
Hack

Když jsem věděl, že budu muset vyměnit vše kromě hlavního CPU (což nebude potřeba), obrátil jsem se na eBay. Naštěstí vše potřebné bylo levné, takže objednávat si jejich spoustu bylo zábavné. ?

17 x SN74HC595’s - 8bitové výstupní posuvné registry

17 výstupních posuvných registrů se používá k ovládání vícebarevných LED diod padu a všech LED diod Button (přesně 136 !!) Tyto ovladače se opravdu snadno používají a rychle našli knihovnu pomocí Arduino IDE, abych se zachránil… jsou k sobě připoutáni.

6 x SN74HC165 - 8bitový vstupní posuvný registr

Tyto vstupní posuvné registry jsou skvělé pro více vstupů na 1 kanálu. K dispozici je celkem 48 tlačítek.

2 x 74HC4067 - 16kanálové multiplexory

Máme 16 padů a 8 knoflíků, které jsou také analogové. Zjistil jsem, že je jednodušší použít tyto, protože ty na desce byly 8kanálové a měl jsem problémy s nalezením, kam připojit datové piny.. křižovatka tágových špaget …

2 x 3,2”OLED displeje 256x64

Musí to mít nějaké obrazovky !!! Nemohl jsem najít žádné informace o původních LCD obrazovkách, které byly dodány v NI Maschine, a nemohl jsem se obtěžovat ztrácet čas tím, že jsem se pokoušel, tak jsem se rozhodl objednat nějaké z Číny … Použil jsem knihovnu UG8x8, aby to fungovalo. Nové obrazovky byly o něco menší než původní, takže jsem jen odstranil 'špatné bity'.

1 x splatnost Arduina

Nechal jsem to tu nějakou dobu ležet a čekat na projekt, který byl dost hodný té síly !! Vyskytl se problém, se kterým jsem se setkal. Zdá se, že některé revize těchto desek mají problém s resetováním, což znamenalo, že jsem někdy musel stisknout tlačítko reset, aby se věc spustila po nahrání náčrtu. To bylo snadno opraveno 10K odporem (o tom je příspěvek na fóru Arduino).

Krok 3: Kód

Byl jsem opravdu ohromen tím, jak velká podpora je v komunitě Arduino, hledání příkladů kódu a knihoven pro různé komponenty bylo opravdu jednoduché a přímočaré.

Uvedení USB midi do provozu bylo snadné a trvalo několik minut. LED diodám nějakou dobu trvalo a já jsem musel vytvořit náčrt, který postupně nastavoval každý pin VYSOKO v 1sekundových intervalech a vzal si poznámku.. Vytvořil jsem pole, které obsahovalo čísla PIN, aby bylo jednodušší kódovat vše.

Vytvořil jsem 2 knihovny pro rozhovor s multiplexery, jedna zpracovává analogové pady a druhá knoflíky. Opět to bylo opravdu jednoduché. Připojil jsem je, neváhejte použít úpravy atd.

Chtěl jsem mít sekvencer a schopnost nahrávat bez potřeby počítače, našel jsem pár informací o tom, jak převést BPM na ms a našel skvělou knihovnu časovačů Arduino DUE.

Pomocí knihovny časovačů jsem byl schopen nastavit čtení vstupů a věcí v intervalech:

Pady @ 1ms - našel jsem to, abych poskytl nejlepší rovnováhu mezi artefakty odezvy / odrazu.

Buttons @ 40ms - Použil jsem knihovnu front, takže nebyly vynechány žádné stisknutí.

Zpracování se provádí v hlavní smyčce, během přerušení toho nemůžete udělat příliš mnoho, protože to uzamkne Arduino.

Midi věci @BPM (v ms) - pro sekvenování se v požadovaném BPM nazývá funkce, která aktualizuje, které noty ETC se mají hrát, a zvyšuje počitadlo úderů.

Krok 4: Závěr

Závěr
Závěr

Nejsem si jistý, co jsem zde vytvořil, ale jsem docela hrdý, podložky reagují výborně, musel jsem se pohrávat s načasováním, abych dosáhl správné rovnováhy s problémy s odezvou a odskokem. Sekvenování funguje skvěle a jakmile zjistím podporu DAW, mohu tuto věc plně integrovat do svého pracovního postupu a jsem schopen přidat věci do ovladače, který jsem vždy chtěl! To byl opravdu zábavný projekt, na kterém se dalo pracovat a skvělé cvičení při zvládání C, porozumění reverznímu inženýrství a fungování multiplexerů, posuvných registrů a MIDI sekvenování. Pokračuji ve zlepšování hlavního kódu a možná jej jednou vydám jako návrhář rytmů s otevřeným zdrojovým kódem.

TIPY:

Zjistil jsem, jak změnit název USB DUE úpravou jednoho z hlavičkových souborů ve složce Arduino/SAM.

MIDI-OX je skvělý nástroj pro testování funkcí Midi

ODKAZY:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… Několik informací o tom, jak převést BPM na ms

travis-ci.com/SMFSW/Queue - Pro tlačítkové vstupy, abychom nezmeškali žádné stisknutí!

github.com/olikraus/u8g2/wiki/u8x8referenc… - lib UG8 pro LED/LCD obrazovky

github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib

www.pjrc.com/teensy/td_libs_Encoder.html - kodér Lib pro velký knoflík

shiftregister.simsso.de/ - ShiftIn Register lib - Vytvořil Henrik Heine, 24. července 2016

forum.arduino.cc/index.php?topic=57636.0 - věci s časovým kódem MIDI

Doporučuje: