Përmbajtje:

HX1 -DM - Makina e Daulles e Upcycled Arduino DUE Powered DIY (e bërë me një makineri të vdekur MK2): 4 hapa
HX1 -DM - Makina e Daulles e Upcycled Arduino DUE Powered DIY (e bërë me një makineri të vdekur MK2): 4 hapa

Video: HX1 -DM - Makina e Daulles e Upcycled Arduino DUE Powered DIY (e bërë me një makineri të vdekur MK2): 4 hapa

Video: HX1 -DM - Makina e Daulles e Upcycled Arduino DUE Powered DIY (e bërë me një makineri të vdekur MK2): 4 hapa
Video: xiaomi robot Vs Dyson Süpürge Tarafını seç #dyson #xiaomi #süpürge #robot #shorts 2024, Nëntor
Anonim
Image
Image
Riparimi
Riparimi

Spec

  • Kontrollues / makinë daulle Hybrid Midi: Arduino DUE mundësuar!
  • 16 Tapa të ndjeshmërisë së shpejtësisë me vonesë shumë të ulët 1> ms
  • Përdorues me 8 çelësa të caktuar për çdo komandë Midi #CC
  • Sekuencer i integruar 16ch (nuk ka nevojë për kompjuter !!)
  • MIDI brenda/jashtë/përmes funksionalitetit (mund të përdoret si ndërfaqe midi USB!)
  • Orë e pjesshme MIDI & Mbështetje MTC (duke punuar në kontrollin MMC dhe DAW)

Ky është padyshim një nga projektet më të komplikuara në të cilat kam punuar, duke folur për 17 regjistra të ndërrimit të daljeve, 6 regjistra të ndërrimit të hyrjes, 2plexxxx 2x 16 kanalësh që punojnë në një tabelë qarku, nuk e kam idenë se çfarë është dhe ku, plus nuk kam ngatërruar kurrë me regjistra ndërrimi / multiplexer para ……

Filloi si një blerje impulsive nga eBay, unë me të vërtetë doja një Nach Instruments Maschine sepse gjithmonë më pëlqenin jastëkët e daulleve në to në krahasim me ato në studion MPC që zotëroja, kështu që kur pashë një të gabuar në eBay për 40 dollarë, mendova Unë do të mundohesha ta rregulloja atë me skenarin më të keq duke qenë "nëse nuk mund ta rregulloj unë kam një Arduino DUE dhe disa UNO po gënjejnë, gjithmonë mund të bëj një hack"

Unë me të vërtetë më pëlqejnë ato daulle padyshim !!!!

Furnizimet

1 x Machine Instruments Native të gabuar MK2

1 x Arduino Due.

17 x SN74HC595 - regjistrues të ndërrimit të daljeve 8 -bit

6 x SN74HC165 - regjistrues të ndërrimit të hyrjeve 8 -bit

2 x 74HC4067 - multiplekse 16 kanalësh.

Ekrane OLED 2 x 3.2 256x64.

disa tela të sheshtë (kablloja e vjetër me floppy do të bëjë)

Hapi 1: Riparimi

Shitësi eBay ishte mjaft i sjellshëm për të dhënë një ide se çfarë të priste në përshkrim dhe kishte hequr portën USB. Bordi kishte pësuar një tension të tepërt dhe nuk u ndez. Shikoni multimetrin…. Tabela dukej se kishte një të shkurtër.. 'Unë kam riparuar pllaka amë të panumërta me pantallona të shkurtra më parë Pra sa e vështirë mund të jetë!?!' Doli se kjo mbi tensionin (dhe ndoshta pjesërisht modelin e bordit), e kishte nxjerrë gati ÇDO komponent në bord duke përfshirë CPU -në kryesore. Ky tabelë ishte në një mënyrë vërtet të keqe!

Vazhdova të provoja dhe të godisja me multimetrin tim, bëra pak kërkime mbi përbërësit dhe kuptova se çfarë bën secili plus NI bëri një punë të shkëlqyeshme për t'i bërë gjërat mjaft të dukshme me pikat e ndryshme të testit rreth motherboard ??.

Hapi 2: Hack

Hack
Hack
Hack
Hack
Hack
Hack

Duke e ditur se do të më duhet të zëvendësoj gjithçka në CPU -në kryesore (e cila nuk do të jetë e nevojshme) iu drejtova eBay. Fatmirësisht gjithçka që nevojitej ishte e lirë kështu që porositja e një ngarkese të tyre ishte argëtuese. ?

17 x SN74HC595 - regjistrues të ndërrimit të daljeve 8 -bit

Regjistrat e ndërrimit të daljeve 17 përdoren për të kontrolluar LED-të me ngjyra të kazanit të daulles dhe të gjitha LED-et e butonit (136 për të qenë të saktë !!) Këto janë vërtet të lehta për t'u përdorur dhe shpejt gjetën një bibliotekë duke përdorur Arduino IDE për të shpëtuar veten duke bërë një të tillë.. janë lidhur me zinxhirë së bashku.

6 x SN74HC165's - regjistër zhvendosjeje 8 -bitësh

Këta regjistra të ndërrimit të hyrjes janë të shkëlqyeshëm për hyrje të shumta në 1 kanal. Ka 48 butona në total.

2 x 74HC4067 - multiplekse 16 kanalësh

Ne kemi 16 jastëkë dhe 8 doreza të mbetura, këto janë gjithashtu analoge. Unë e kisha më të lehtë t'i përdorja këto pasi ato në tabelë ishin me 8 kanale dhe kisha probleme të gjeja se ku t'i lidhja kunjat e të dhënave.. kryqëzim spageti….

Ekrane OLED 2 x 3.2 "256x64

Duhet të ketë disa ekrane !!! Unë nuk mund të gjej asnjë informacion në ekranet LCD origjinale që erdhën në NI Maschine dhe nuk mund të shqetësohesha duke humbur më shumë kohë duke u përpjekur, kështu që vendosa të porosis disa nga Kina … Përdori bibliotekën UG8x8 për t'i punuar këto. Ekranet e rinj ishin pak më të vegjël se origjinali, kështu që unë thjesht i fikja "pjesët e këqija".

1 x Arduino Due

E kisha këtë të shtrirë për ca kohë duke pritur një projekt mjaft të denjë për gjithë atë fuqi !! Kishte një problem që hasa, Duket se disa rishikime të këtyre bordeve kanë një çështje rivendosjeje që do të thoshte se më duhej të godisja ndonjëherë butonin e rivendosjes për të funksionuar pasi të ngarkoja një skicë. Kjo u rregullua lehtësisht me një rezistencë 10K (ka një postim në forumin Arduino për këtë).

Hapi 3: Kodi

Më bëri shumë përshtypje se sa mbështetje ka në komunitetin Arduino, gjetja e shembujve të kodit dhe bibliotekave për përbërësit e ndryshëm ishte vërtet e thjeshtë dhe e drejtpërdrejtë.

Nisja dhe funksionimi i midi USB ishte e lehtë dhe zgjati disa minuta. LED -të morën ca kohë dhe më duhej të krijoja një skicë që vendosi gradualisht çdo pin të LART HIGH në intervale 1 sekondë dhe mbaja një shënim.. Bëra një grup që mbante numrat PIN për ta bërë më të lehtë kur bëhej fjalë për kodimin e gjithçkaje.

Bëra 2 biblioteka për të folur me multiplexerët, njëra merret me bllokimet analoge dhe tjetra me pullat. Përsëri kjo ishte vërtet e thjeshtë. Unë i kam bashkangjitur ata, ndjehuni të lirë të përdorni redaktimin, etj.

Doja të kisha një sekuencues dhe aftësinë për të regjistruar pa pasur nevojë për një kompjuter, gjeta disa informacione se si të konvertohet BPM në ms dhe gjeta një bibliotekë të shkëlqyeshme të kohëmatësit Arduino DUE.

Duke përdorur bibliotekën e kohëmatësit unë kam qenë në gjendje të caktoj hyrjet dhe gjërat e leximit në intervale:

Pads @ 1ms - E gjeta këtë për të dhënë ekuilibrin më të mirë midis artefakteve të përgjigjes / de -kërcimit.

Butonat @ 40ms - Kam përdorur një bibliotekë të radhës, kështu që asnjë shtypje nuk është humbur.

Përpunimi bëhet në lakin kryesor, nuk mund të bëni shumë kur jeni në një ndërprerje pasi kjo do të bllokojë Arduino.

Midi stuff @BPM (në ms) - për sekuencimin, në BPM -në e dëshiruar quhet një funksion që përditësimet të cilat shënimet ETC do të luhen dhe rrit numëruesin e rrahjeve.

Hapi 4: Përfundimi

Përfundim
Përfundim

Nuk jam i sigurt se çfarë kam bërë këtu, por jam mjaft krenar, pads përgjigjen shkëlqyeshëm, më është dashur të merrem me kohën për të marrë ekuilibrin e duhur me çështjet e reagimit dhe të refuzimit. Sekuenca funksionon shkëlqyeshëm dhe sapo të kuptoj mbështetjen DAW mund ta integroj plotësisht këtë gjë në rrjedhën time të punës dhe jam në gjendje të shtoj gjëra në një kontrollues që kam dashur gjithmonë!. Ky ishte një projekt vërtet argëtues për të punuar dhe një ushtrim i shkëlqyeshëm në kapjen e C-së, të kuptuarit e inxhinierisë së kundërt dhe si funksionojnë multiplexerët, regjistrat e ndërrimit dhe renditja MIDI. Unë jam duke vazhduar të përmirësoj kodin kryesor dhe mund ta publikoj atë një ditë si një projektues ritmi me burim të hapur.

K TSHILLA:

Kam gjetur se si të ndryshoj emrin USB të DUE duke redaktuar një nga skedarët e titullit në dosjen Arduino/SAM.

MIDI-OX është një mjet i shkëlqyeshëm për të testuar funksionalitetin Midi

LIDHJET:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Specht https://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Disa informacione se si të konvertohet BPM në ms

travis-ci.com/SMFSW/Queue - Për hyrjet e butonave që të mos humbasim asnjë shtypje!

github.com/olikraus/u8g2/wiki/u8x8referenc… - lib UG8 për ekranet LED/LCD

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

www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib për çelësin e madh

shiftregister.simsso.de/ - ShiftIn Register lib - Krijuar nga Henrik Heine, 24 korrik 2016

forum.arduino.cc/index.php?topic=57636.0 - Gjëra MIDI Time Code

Recommended: