Obsah:

HX1 -DM - upcycled Arduino DUE Powered DIY Drum Machine (made with a Dead Maschine MK2): 4 kroky
HX1 -DM - upcycled Arduino DUE Powered DIY Drum Machine (made with a Dead Maschine MK2): 4 kroky

Video: HX1 -DM - upcycled Arduino DUE Powered DIY Drum Machine (made with a Dead Maschine MK2): 4 kroky

Video: HX1 -DM - upcycled Arduino DUE Powered DIY Drum Machine (made with a Dead Maschine MK2): 4 kroky
Video: q3d quickfit extruder 2024, November
Anonim
Image
Image
Oprava
Oprava

Špecifikácia

  • Hybridný midi ovládač / bicie zariadenie: poháňa Arduino DUE!
  • 16 padov na snímanie rýchlosti s veľmi nízkou latenciou 1> ms
  • 8 gombíkov, ktoré je možné priradiť ľubovoľnému príkazu Midi #CC
  • 16ch vstavaný sekvencer (nie je potrebný žiadny počítač !!)
  • Funkcia MIDI vstup/výstup/prostredníctvom (môže byť použitý ako rozhranie USB midi!)
  • Čiastočné MIDI hodiny a podpora MTC (pracuje na ovládaní MMC a DAW)

Toto je určite jeden z najkomplikovanejších projektov, na ktorých som pracoval, hovorilo sa o 17 výstupných posuvných registroch, 6 vstupných posuvných registroch, 2x 16 -kanálových multiplexoroch pracujúcich na doske s plošnými spojmi Nemám potuchy, čo je čo a kde, a navyše som nikdy nič nepokazil. s posuvnými registrami / multiplexormi pred ……

Začalo to ako impulzívny výkup na eBay. Naozaj som chcel Native Instruments Maschine, pretože Ive sa mi vždy páčili bicie podložky v porovnaní s tými v štúdiu MPC, ktoré som vlastnil, takže keď som na eBay videl chybný za 40 libier, myslel som si Skúsil by som to opraviť, pričom najhorším scenárom je „ak to nemôžem opraviť, mám Arduino DUE a niekoľko UNO sa váľa, vždy by som mohol urobiť nejaký hack“

Mne sa tie bubnové podložky aj tak veľmi páčia !!!!

Zásoby

1 x chybný stroj Native Instruments MK2

1 x splatnosť Arduina

17 x SN74HC595 - 8 -bitové výstupné posuvné registre

6 x SN74HC165 - 8 -bitové vstupné posuvné registre

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

2 x 3,2”OLED displeje 256x64.

nejaký plochý drôt (postačí starý disketový kábel)

Krok 1: Oprava

Predajca eBay bol taký láskavý, že v popise poskytol predstavu o tom, čo očakávať, a odstránil port USB. Doska bola vystavená prepätiu a nezapla sa. Spustite multimetr … Zdá sa, že doska mala skratku. „Predtým som opravil nespočetné množstvo základných dosiek skratmi. Ako ťažké to môže byť !? komponent na doske vrátane hlavného CPU. Táto doska bola skutočne zlým spôsobom!

Pokračoval som v prod & pichaní svojho multimetra, trochu som pátral po komponentoch a zistil som, čo každý robí, a okrem toho som urobil skvelú prácu, keď som veci rôzne zrejmé pomocou rôznych testovacích bodov okolo základnej dosky ??

Krok 2: Hack

Hack
Hack
Hack
Hack
Hack
Hack

Keď som vedel, že budem musieť vymeniť všetko okrem hlavného CPU (čo nebude potrebné), obrátil som sa na eBay. Našťastie všetko, čo bolo potrebné, bolo lacné, takže objednať si ich veľa bolo zábavné. ?

17 x SN74HC595 - 8 -bitové výstupné posuvné registre

17 výstupných posuvných registrov sa používa na ovládanie viacfarebných diód LED na bicích a všetkých tlačidlových diód LED (presných 136 !!) Používanie je skutočne jednoduché a pomocou Arduino IDE sa rýchlo nájde knižnica, aby som sa mohol ušetriť… sú pripútaní k sebe.

6 x SN74HC165 - 8 -bitový vstupný posuvný register

Tieto vstupné posuvné registre sú skvelé pre viac vstupov na 1 kanáli. K dispozícii je celkom 48 tlačidiel.

2 x 74HC4067 - 16 kanálové multiplexory

Zostalo nám 16 podložiek a 8 gombíkov, tie sú tiež analógové. Zistil som, že je jednoduchšie ich používať, pretože tie na doske boli 8 -kanálové a mal som problémy s nájdením pripojenia dátových pinov.. križovatka cue spaghetti ….

2 x 3,2”OLED displeje 256x64

Musí to mať niekoľko obrazoviek !!! Nenašiel som žiadne informácie o pôvodných LCD obrazovkách, ktoré prišli v NI Maschine, a už som sa nemohol obťažovať strácaním času tým, že som sa o to pokúšal, a tak som sa rozhodol objednať si niečo z Číny … Na ich fungovanie som použil knižnicu UG8x8. Nové obrazovky boli o niečo menšie ako pôvodné, takže som odstránil „zlé kúsky“.

1 x splatnosť Arduina

Nechal som to nejaký čas ležať a čakať na projekt, ktorý bol dosť hodný všetkej tej sily !! Vyskytol sa problém, s ktorým som sa stretol. Zdá sa, že niektoré revízie týchto dosiek majú problém s resetom, čo znamenalo, že som niekedy musel stlačiť tlačidlo reset, aby sa vec spustila po nahraní náčrtu. Toto sa dalo ľahko opraviť 10K odporom (na fóre Arduino je o tom príspevok).

Krok 3: Kód

Bol som skutočne ohromený tým, aká veľká podpora je v komunite Arduino, hľadanie príkladov kódu a knižníc pre rôzne komponenty bolo skutočne jednoduché a priamočiare.

Uvedenie USB midi do prevádzky bolo jednoduché a trvalo niekoľko minút. LED diódy chvíľu trvalo a musel som vytvoriť náčrt, ktorý postupne nastavoval každý kolík VYSOKO v 1 sekundových intervaloch a vzal som si poznámku.. Vytvoril som pole, ktoré obsahovalo čísla PIN, aby bolo jednoduchšie kódovať všetko.

Vytvoril som 2 knižnice na rozhovor s multiplexormi, jedna ovláda analógové pady a druhá gombíky. Opäť to bolo naozaj jednoduché. Priložil som ich, neváhajte použiť úpravy atď.

Chcel som mať sekvencer a schopnosť nahrávať bez potreby počítača, našiel som niekoľko informácií o tom, ako prevádzať BPM na ms, a našiel som skvelú knižnicu časovačov Arduino DUE.

Pomocou knižnice časovačov som dokázal nastaviť vstupy na čítanie a veci v intervaloch:

Podložky @ 1 ms - zistil som, že to dáva najlepšiu rovnováhu medzi artefaktmi reakcie / odrazu.

Buttons @ 40ms - Použil som knižnicu frontov, takže som nevynechal žiadne stlačenia.

Spracovanie sa vykonáva v hlavnej slučke, v prípade prerušenia nemôžete urobiť príliš veľa, pretože to uzamkne Arduino.

Midi veci @BPM (v ms) - pre sekvenovanie sa pri požadovanom BPM nazýva funkcia, ktorá aktualizuje, ktoré noty ETC sa majú hrať, a zvyšuje počítadlo úderov.

Krok 4: Záver

Záver
Záver

Nie som si istý, čo som tu urobil, ale som na to hrdý, podložky reagujú vynikajúco, musel som sa popasovať s načasovaním, aby som dosiahol správnu rovnováhu s reakciami a problémami s odskokom. Sekvenovanie funguje skvele a akonáhle prídem na podporu DAW, môžem túto vec plne integrovať do svojho pracovného toku a budem schopný pridať veci do ovládača, ktorý som vždy chcel!. Bol to skutočne zábavný projekt, na ktorom sa dalo pracovať a bolo to skvelé cvičenie. zoznámiť sa s C, porozumieť reverznému inžinierstvu a tomu, ako fungujú multiplexory, posuvné registre a MIDI sekvenovanie. Pokračujem v zdokonaľovaní hlavného kódu a možno ho jedného dňa vydám ako návrhár rytmov s otvoreným zdrojovým kódom.

TIPY:

Zistil som, ako zmeniť názov USB DUE úpravou jedného z hlavičkových súborov v priečinku Arduino/SAM.

MIDI-OX je skvelý nástroj na testovanie funkčnosti Midi

ODKAZY:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI špecifikácia https://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Niekoľko informácií o tom, ako previesť BPM na ms

travis-ci.com/SMFSW/Queue - Pre tlačidlové vstupy, aby sme nevynechali žiadne stlačenia!

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

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

www.pjrc.com/teensy/td_libs_Encoder.html - Kodér Lib pre veľký gombík

shiftregister.simsso.de/ - ShiftIn Register lib - Vytvoril Henrik Heine, 24. júla 2016

forum.arduino.cc/index.php?topic=57636.0 - veci s časovým kódom MIDI

Odporúča: