Tartalomjegyzék:

HX1 -DM - az Upcycled Arduino DUE Powered DIY dobgép (Dead Maschine MK2 -vel készült): 4 lépés
HX1 -DM - az Upcycled Arduino DUE Powered DIY dobgép (Dead Maschine MK2 -vel készült): 4 lépés

Videó: HX1 -DM - az Upcycled Arduino DUE Powered DIY dobgép (Dead Maschine MK2 -vel készült): 4 lépés

Videó: HX1 -DM - az Upcycled Arduino DUE Powered DIY dobgép (Dead Maschine MK2 -vel készült): 4 lépés
Videó: The Miele Triflex HX1 Pro Vacuum: Is it Worth the High Price Tag? 2024, November
Anonim
Image
Image
A javítás
A javítás

A Spec

  • Hibrid Midi vezérlő / dobgép: Arduino DUE hajtású!
  • 16 Sebességérzékelő párna nagyon alacsony késleltetéssel 1> ms
  • 8 gomb a felhasználóhoz rendelhető bármely Midi #CC parancshoz
  • 16 csatornás beépített szekvenszer (nincs szükség számítógépre !!)
  • MIDI be/kimenet/funkció (USB midi interfészként használható!)
  • Részleges MIDI óra és MTC támogatás (MMC és DAW vezérlésen dolgozik)

Ez minden bizonnyal az egyik legbonyolultabb projekt, amin dolgoztam. 17 kimeneti műszakregiszterről, 6 bemeneti műszakregiszterről, 2x 16 csatornás multiplexerről beszélgettem egy áramköri kártyán. műszakregiszterekkel / multiplexerekkel korábban ……

Impulzusvásárlásként kezdődött az eBay, nagyon szerettem volna egy Native Instruments Maschine -t, mert Ive -nek mindig tetszettek a dobpárnák a hozzájuk tartozó MPC stúdióban lévőkkel összehasonlítva, így amikor megláttam egy hibásat az eBay -en 40 fontért, azt hittem A legrosszabb forgatókönyv szerint megpróbálnám kijavítani: „Ha nem tudom megjavítani, van egy Arduino DUE -m, és néhány UNO heverészik, mindig csinálhatok egy csapást”

Amúgy nagyon szeretem azokat a dobpárnákat !!!!

Kellékek

1 x hibás Native Instruments Maschine MK2

1 x Arduino Due.

17 x SN74HC595 - 8 bites kimeneti eltolásregiszterek

6 db SN74HC165 - 8 bites bemeneti eltolásregiszter

2 x 74HC4067 - 16 csatornás multiplexer.

2 x 3,2”256x64 OLED kijelző.

néhány lapos huzal (régi floppy kábel megteszi)

1. lépés: A javítás

Az eBay eladó kedves volt ahhoz, hogy leírást adjon arról, mire számíthat, és eltávolította az USB -portot. A tábla túlfeszültséget szenvedett, és nem kapcsol be. Figyeld a multimétert…. A táblán úgy tűnt, hogy rövid. "Számtalan alaplapot javítottam rövidnadrággal. Szóval milyen nehéz lehet!?!" Kiderült, hogy ez túlfeszültség (és valószínűleg részben a kártya kialakítása), majdnem MINDEN komponens a táblán, beleértve a fő CPU -t. Ez a tábla nagyon rossz módon volt!

Folytattam a gyártást és a piszkálást a multiméteremmel, kicsit kutattam az alkatrészeket, és rájöttem, hogy mindegyik mit csinál, és az NI nagyszerű munkát végzett, hogy az alaplap körüli különböző tesztpontok segítségével meglehetősen nyilvánvalóvá tegye a dolgokat.

2. lépés: A hackelés

A Hack
A Hack
A Hack
A Hack
A Hack
A Hack

Tudva, hogy ki kell cserélnem mindent, ami a fő CPU -t tartalmazza (amire nem lesz szükség), az eBay -hez fordultam. Szerencsére minden szükséges olcsó volt, így a rakomány megrendelése szórakoztató volt. ?

17 x SN74HC595 - 8 bites kimeneti eltolásregiszterek

A 17 kimeneti váltóregiszter a dobpárna többszínű LED-jeinek és az összes gomb LED-jének (pontosabban 136) vezérlésére szolgál. Ezek nagyon könnyen használhatóak, és gyorsan megtaláltak egy könyvtárat az Arduino IDE segítségével, hogy megmentsem magam.. össze vannak láncolva.

6 x SN74HC165 - 8 bites bemeneti eltolásregiszter

Ezek a bemeneti eltolódási regiszterek kiválóan alkalmasak több bemenethez 1 csatornán. Összesen 48 gomb található.

2 x 74HC4067 - 16 csatornás multiplexer

16 párnánk és 8 gombunk maradt, ezek analógok is. Könnyebbnek találtam ezek használatát, mivel a táblán lévők 8 csatornásak voltak, és problémáim adódtak, hogy hova kell csatlakoztatni az adatcsapokat.. cue spagett junction….

2 x 3,2”256x64 OLED kijelző

Kell néhány képernyő !!! Nem találtam semmilyen információt az eredeti LCD -képernyőkön, amelyek az NI Maschine -ben érkeztek, és nem bánhatom, hogy több időt vesztegetek a próbálkozásra, ezért úgy döntöttem, hogy megrendelek néhányat Kínából … Az UG8x8 könyvtárat használtam ezek működéséhez. Az új képernyők valamivel kisebbek voltak, mint az eredeti, így csak elhagytam a „rossz részeket”.

1 x Arduino Due

Ezt hevertem egy darabig, és vártam egy olyan projektre, amely elég méltó minden erőhöz !! Volt egy probléma, amellyel találkoztam. Úgy tűnik, hogy ezeknek a tábláknak a némelyik verziójában visszaállítási probléma merült fel, ami azt jelentette, hogy néha meg kellett nyomnom a reset gombot, hogy a vázlat feltöltése után elinduljon a dolog. Ezt 10K ellenállással könnyen meg lehetett oldani (erről van egy bejegyzés az Arduino fórumon).

3. lépés: A kód

Nagyon lenyűgözött, hogy mekkora támogatás van az Arduino közösségben, a kódpéldák és könyvtárak megtalálása a különböző összetevőkhez nagyon egyszerű és egyszerű.

Az USB midi üzembe helyezése egyszerű volt, és néhány percet vett igénybe. A LED -ek eltartottak egy ideig, és létre kellett hoznom egy vázlatot, amely fokozatosan beállította az egyes tűket MAGAS 1 másodperces időközönként, és jegyzetelt.

Készítettem 2 könyvtárat a multiplexerekkel való beszélgetéshez, az egyik kezeli az analóg párnákat, a másik pedig a gombokat. Ez ismét nagyon egyszerű volt. Csatoltam őket, nyugodtan használd a szerkesztést stb.

Szekvenerátort szerettem volna, és számítógép nélkül is rögzíthetnék, találtam néhány információt a BPM -ek ms -ba való konvertálásáról, és találtam egy nagyszerű Arduino DUE időzítő könyvtárat.

Az időzítő könyvtár használatával beállíthattam olvasási bemeneteket és dolgokat időközönként:

Pads @ 1ms - Úgy találtam, hogy ez biztosítja a legjobb egyensúlyt a válasz / visszapattanási műtermékek között.

Gombok @ 40 ms - Várakozási sor könyvtárat használtam, így egyetlen nyomást sem hagytak ki.

A feldolgozás a fő hurokban történik, nem tehet túl sokat, ha megszakításban van, mert ez lezárja az Arduino -t.

Midi cucc @BPM (ms -ban) - a szekvenáláshoz a kívánt BPM -en egy függvényt hívnak, amely frissíti az ETC jegyzeteket, és növeli az ütemszámlálót.

4. lépés: Következtetés

Következtetés
Következtetés

Nem tudom, mit csináltam itt, de nagyon büszke vagyok, a párnák kiválóan reagálnak, meg kellett babrálnom az időzítést, hogy a megfelelő egyensúlyt megtaláljam a reagálási és visszakapcsolási problémákkal. A szekvenálás nagyszerűen működik, és miután rájöttem a DAW támogatásra, teljes mértékben integrálhatom ezt a dolgot a munkafolyamatomba, és hozzáadhatok dolgokat egy vezérlőhöz, amire mindig is vágytam!. Ez egy igazán szórakoztató projekt volt, és nagyszerű gyakorlat a C-vel való foglalkozáshoz, a fordított tervezés megértéséhez és a multiplexerek, váltóregiszterek és a MIDI szekvenálás működéséhez. Folyamatosan fejlesztem a fő kódot, és egy nap szabad forráskódú ritmustervezőként kiadhatom.

TIPPEK:

Megtaláltam, hogyan lehet megváltoztatni a DUE USB -nevét az Arduino/SAM mappában található fejlécfájlok szerkesztésével.

A MIDI-OX nagyszerű eszköz a Midi funkcionalitás tesztelésére

LINKEK:

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éhány információ arról, hogyan lehet a BPM -et ms -ba konvertálni

travis-ci.com/SMFSW/Queue - Gombbemenetekhez, hogy ne hagyjunk ki egyetlen nyomást sem!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib LED/LCD képernyőkhöz

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

www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib a nagy gombhoz

shiftregister.simsso.de/ - ShiftIn Register lib - Létrehozta: Henrik Heine, 2016. július 24.

forum.arduino.cc/index.php?topic=57636.0 - MIDI Time Code cucc

Ajánlott: