Cuprins:

HX1-DM - Mașina de tambur DIY Arduino reciclată Upcycled (fabricată cu un Dead Maschine MK2): 4 pași
HX1-DM - Mașina de tambur DIY Arduino reciclată Upcycled (fabricată cu un Dead Maschine MK2): 4 pași

Video: HX1-DM - Mașina de tambur DIY Arduino reciclată Upcycled (fabricată cu un Dead Maschine MK2): 4 pași

Video: HX1-DM - Mașina de tambur DIY Arduino reciclată Upcycled (fabricată cu un Dead Maschine MK2): 4 pași
Video: Инновационный пылесос Triflex HX1 | Miele 2024, Noiembrie
Anonim
Image
Image
Reparația
Reparația

Spec

  • Controler / tambur Midi hibrid: alimentat cu Arduino DUE!
  • 16 tampoane de detectare a vitezei cu latență foarte mică 1> ms
  • Utilizator de 8 butoane alocabile oricărei comenzi Midi #CC
  • 16ch Secvențiator încorporat (nu este nevoie de computer !!)
  • Funcționalitate MIDI in / out / thru (poate fi utilizată ca interfață midi USB!)
  • Ceas MIDI parțial și suport MTC (lucrează la controlul MMC și DAW)

Acesta este cu siguranță unul dintre cele mai complicate proiecte la care am lucrat, vorbeam despre 17 registre de schimb de ieșire, 6 registre de schimb de intrare, 2x multiplexoare pe 16 canale care lucrează pe o placă de circuite. cu registre de schimbare / multiplexoare înainte de ……

A început ca un impuls de cumpărare de pe eBay, mi-am dorit cu adevărat un Native Instruments Maschine pentru că mi-au plăcut întotdeauna tampoanele de pe ele în comparație cu cele de pe studioul MPC pe care îl dețineam, așa că, când am văzut unul defect pe eBay pentru 40 de lire sterline, m-am gândit Aș încerca să o rezolv cu cel mai rău scenariu: „dacă nu o pot rezolva, am un Arduino DUE și câțiva UNO stau în jur, aș putea face întotdeauna un hack”

Oricum imi plac foarte mult tampoanele alea !!!!

Provizii

1 x Maschine MK2 cu instrumente native defecte

1 x Arduino Due.

17 x SN74HC595’s - registre de schimbare a ieșirii pe 8 biți

6 x SN74HC165’s - registre de schimb de intrare pe 8 biți

2 x 74HC4067 - multiplexoare cu 16 canale.

Afișaje OLED de 2 x 3,2”256x64.

unele fire plate (cablul vechi dischetă va face)

Pasul 1: Reparația

Vânzătorul eBay a fost destul de amabil să-și dea o idee despre ce să se aștepte în descriere și a eliminat portul USB. Placa a suferit o supratensiune și nu a pornit. Cue multimetrul…. Tabloul părea să aibă un scurt.. „Am mai reparat nenumărate plăci de bază cu pantaloni scurți. Deci, cât de greu poate fi!?!” S-a dovedit că această supratensiune (și probabil parțial designul plăcii), a scos aproape FIECARE componentă de pe placă, inclusiv procesorul principal. Această placă a fost într-un mod foarte rău!

Am continuat să produc și să scot cu multimetrul meu, am cercetat puțin componentele și mi-am dat seama ce face fiecare plus NI a făcut o treabă grozavă de a face lucrurile destul de evidente cu diferitele puncte de test din jurul plăcii de bază ??.

Pasul 2: Hack

Hackul
Hackul
Hackul
Hackul
Hackul
Hackul

Știind că va trebui să înlocuiesc totul, cu excepția procesorului principal (care nu va fi necesar), am apelat la eBay. ?

17 x SN74HC595’s - registre de schimbare a ieșirii pe 8 biți

Cele 17 registre de schimbare a ieșirii sunt utilizate pentru a controla LED-urile multicolore ale tamburului și toate LED-urile Buton (136 mai exact !!) Acestea sunt foarte ușor de utilizat și au găsit rapid o bibliotecă folosind Arduino IDE pentru a mă salva făcând unul.. sunt înlănțuiți împreună.

6 x SN74HC165’s - registru de schimbare a intrării pe 8 biți

Aceste registre de schimbare a intrărilor sunt excelente pentru mai multe intrări pe 1 canal. Există 48 de butoane în total.

2 x 74HC4067 - multiplexoare cu 16 canale

Mai avem 16 tampoane și 8 butoane rămase și acestea sunt analogice. Mi s-a părut mai ușor să le folosesc, deoarece cele de pe placă erau 8 canale și am avut probleme în a găsi unde să conectez pinii de date.. joncțiune spaghete …

Afișaje OLED de 2 x 3,2”256x64

Trebuie să am niște ecrane !!! Nu am putut găsi nicio informație pe ecranele LCD originale care au venit în NI Maschine și nu m-am putut deranja să pierd timpul încercând, așa că am decis să comand câteva din China … Am folosit biblioteca UG8x8 pentru ca acestea să funcționeze. Noile ecrane erau ușor mai mici decât originalul, așa că tocmai am șters „biții răi”.

1 x Arduino Due

Am avut asta în picioare de ceva timp așteptând un proiect suficient de demn pentru toată acea putere !! A apărut o problemă pe care am întâmpinat-o. Se pare că unele revizuiri ale acestor plăci au o problemă de resetare, ceea ce însemna că trebuia să apăs butonul de resetare uneori, pentru ca lucrul să ruleze după încărcarea unei schițe. Acest lucru a fost ușor de remediat cu un rezistor de 10K (există o postare pe forumul Arduino despre asta).

Pasul 3: Codul

Am fost foarte impresionat de cât de mult sprijin există în comunitatea Arduino, găsirea de exemple de coduri și biblioteci pentru diferitele componente a fost foarte simplă și directă.

Punerea în funcțiune a midi-ului USB a fost ușoară și a durat câteva minute. LED-urile au durat ceva timp și a trebuit să creez o schiță care să seteze incremental fiecare pin HIGH la intervale de 1 secundă și am luat o notă.

Am făcut 2 biblioteci pentru a vorbi cu multiplexerele, una manevrează tampoanele analogice și cealaltă butoanele. Din nou, acest lucru a fost foarte simplu. Le-am atașat, nu ezitați să folosiți editare etc.

Am vrut să am un secvențier și capacitatea de a înregistra fără a fi nevoie de un computer, am găsit câteva informații despre cum să convertesc BPM în ms și am găsit o bibliotecă de temporizatoare Arduino DUE.

Folosind biblioteca temporizatorului am putut seta intrări de citire și lucruri la intervale de timp:

Tampoane @ 1ms - Am găsit acest lucru pentru a oferi cel mai bun echilibru între artefactele de răspuns / de-respingere.

Buttons @ 40ms - Am folosit o bibliotecă de așteptare, astfel încât nu s-au ratat apăsările.

Procesarea se face în bucla principală, nu puteți face prea multe atunci când sunteți într-o întrerupere, deoarece acest lucru va bloca Arduino.

Midi stuff @BPM (în ms) - pentru secvențierea, la BPM dorită se numește o funcție care actualizează notele ETC care trebuie redate și mărește contorul de bătăi.

Pasul 4: Concluzie

Concluzie
Concluzie

Nu sunt sigur ce am făcut aici, dar sunt destul de mândru, tampoanele răspund excelent, a trebuit să mă lăud cu momentul pentru a obține un echilibru corect cu problemele de reacție și de respingere. Secvențierea funcționează excelent și odată ce îmi dau seama de suportul DAW, pot integra pe deplin acest lucru în fluxul meu de lucru și pot adăuga lucruri într-un controler pe care l-am dorit dintotdeauna!. în abordarea C, înțelegerea ingineriei inverse și modul în care funcționează multiplexerele, registrele de schimbare și secvențierea MIDI. Continu să îmbunătățesc codul principal și s-ar putea să-l lansez într-o zi ca designer de ritm open source.

SFATURI:

Am găsit cum să schimb numele USB al DUE prin editarea unuia dintre fișierele antet din folderul Arduino / SAM.

MIDI-OX este un instrument excelent pentru testarea funcționalității Midi

LINKURI:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Câteva informații despre cum să convertiți BPM în ms

travis-ci.com/SMFSW/Queue - Pentru intrări de butoane, astfel încât să nu ratăm apăsările!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib pentru ecrane LED / LCD

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

www.pjrc.com/teensy/td_libs_Encoder.html - Cod cod pentru butonul mare

shiftregister.simsso.de/ - ShiftIn Register lib - Creat de Henrik Heine, 24 iulie 2016

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

Recomandat: