INHOUDSOPGAWE:

HX1 -DM - die upcycled Arduino DUE Powered DIY trommelmasjien (gemaak met 'n dooie masjien MK2): 4 stappe
HX1 -DM - die upcycled Arduino DUE Powered DIY trommelmasjien (gemaak met 'n dooie masjien MK2): 4 stappe

Video: HX1 -DM - die upcycled Arduino DUE Powered DIY trommelmasjien (gemaak met 'n dooie masjien MK2): 4 stappe

Video: HX1 -DM - die upcycled Arduino DUE Powered DIY trommelmasjien (gemaak met 'n dooie masjien MK2): 4 stappe
Video: q3d quickfit extruder 2024, November
Anonim
Image
Image
Die herstel
Die herstel

Die spesifikasie

  • Hybride Midi -kontroleerder / dromasjien: Arduino DUE aangedryf!
  • 16 Snelheidswaarnemingsblokkies met baie lae latency 1> ms
  • 8 knoppies gebruiker toewysbaar aan enige Midi #CC opdrag
  • 16-kanaals ingeboude sequencer (geen rekenaar nodig nie!)
  • MIDI in/uit/deur funksionaliteit (kan gebruik word as 'n USB midi -koppelvlak!)
  • Gedeeltelike MIDI -klok en MTC -ondersteuning (werk aan MMC- en DAW -beheer)

Dit is beslis een van die mees ingewikkelde projekte waaraan ek gewerk het, het gepraat oor 17 uitsetverskuiwingsregisters, 6 insetskofregisters, 2x 16 -kanaals multiplexers wat op 'n kringbord werk. Ek het geen idee wat is wat en waar nie, en ek het nog nooit gemors nie met skofregisters / multiplexers voor ……

Dit het begin as 'n impuls op eBay, ek wou regtig 'n Native Instruments Maschine hê, want ek het altyd van die trommelblokkies gehou, in vergelyking met die in die MPC -ateljee wat ek besit, toe ek 'n foutiewe een op eBay vir £ 40 sien Ek sou probeer om dit op te los, met die ergste scenario: 'as ek dit nie kan regstel nie, het ek 'n Arduino DUE en 'n paar UNO's, ek kan altyd 'n hack doen'

Ek hou in elk geval regtig van die trommelblokkies !!!!

Voorrade

1 x foutiewe Native Instruments Maschine MK2

1 x Arduino Due.

17 x SN74HC595's - 8 -bis uitsetverskuiwingsregisters

6 x SN74HC165’s - 8 -bis invoerverskuiwingsregisters

2 x 74HC4067 - 16 -kanaals multiplexers.

2 x 3,2”256x64 OLED -skerms.

'n paar plat drade ('n ou floppy kabel sal dit doen)

Stap 1: Die herstel

Die eBay -verkoper was gaaf genoeg om 'n idee te gee van wat om te verwag in die beskrywing en het die USB -poort verwyder. Die bord het 'n oorspanning gehad en het nie aangeskakel nie. Gee aandag aan die multimeter … Die bord het 'n kort.. 'Ek het al ontelbare moederborde met kortbroeke herstel, so hoe moeilik kan dit wees!?!' komponent op die bord, insluitend die hoof -SVE. Hierdie bord was regtig sleg!

Ek het voortgegaan om met my multimeter te proe en te poke, 'n bietjie navorsing te doen oor die komponente en uitgevind wat elkeen doen, plus NI het 'n uitstekende taak gedoen om dinge redelik duidelik te maak met die verskillende toetspunte rondom die moederbord ??.

Stap 2: Die hack

Die Hack
Die Hack
Die Hack
Die Hack
Die Hack
Die Hack

Omdat ek geweet het dat ek alles moet vervang, behalwe die hoof -SVE (wat nie nodig is nie), het ek my tot eBay gewend. ?

17 x SN74HC595's - 8 -bis uitsetverskuiwingsregisters

Die 17 uitvoerverskuiwingsregisters word gebruik om die veelkleurige LED's van die trommelblok en al die knoppie-LED's te beheer (136 om presies te wees !!) Dit is baie maklik om te gebruik en het vinnig 'n biblioteek gevind met die Arduino IDE om myself te red.. hulle is aan mekaar vasgeketting.

6 x SN74HC165's - 8 -bis invoerverskuiwingsregister

Hierdie invoerverskuiwingsregisters is ideaal vir veelvuldige insette op 1 kanaal. Daar is altesaam 48 knoppies.

2 x 74HC4067 - 16 -kanaals multiplexers

Ons het 16 pads en 8 knoppies oor, dit is ook analoog. Ek het dit makliker gevind om dit te gebruik, aangesien die op die bord 8 -kanaals was, en ek het probleme gehad om te vind waar ek die datapennetjies kon koppel.. cue spaghetti junction….

2 x 3,2”256 x 64 OLED -skerms

Dit moet 'n paar skerms hê !!! Ek kon geen inligting vind oor die oorspronklike LCD -skerms wat in die NI Maschine verskyn nie, en ek kon nie meer tyd mors om dit te probeer nie, so ek het besluit om 'n paar uit China te bestel … Ek het die UG8x8 -biblioteek gebruik om dit te laat werk. Die nuwe skerms was effens kleiner as die oorspronklike, so ek het net die 'slegte stukkies' verwyder.

1 x Arduino Due

Ek het dit 'n geruime tyd laat lê en wag op 'n projek wat genoeg is vir al die krag !! Daar was 'n probleem wat ek ondervind het. Dit lyk asof sommige hersienings van hierdie borde 'n herstelprobleem het, wat beteken dat ek soms op die reset -knoppie moes druk om die ding te laat loop nadat ek 'n skets opgelaai het. Dit is maklik opgelos met 'n 10K -weerstand (daar is 'n plasing hieroor op die Arduino -forum).

Stap 3: Die kode

Ek was baie beïndruk oor die hoeveelheid ondersteuning wat daar in die Arduino -gemeenskap is, en dit was baie eenvoudig en eenvoudig om kodevoorbeelde en biblioteke vir die verskillende komponente te vind.

Dit was maklik om die USB -midi aan die gang te kry, en dit het 'n paar minute geneem. Die LED's het 'n rukkie geneem en ek moes 'n skets maak wat elke pen INHOUDSKLASSE in 1 sekonde tussenposes stel en 'n aantekening neem.

Ek het 2 biblioteke gemaak om met die multiplexers te praat, die een hanteer die analoog pads en die ander die knoppe. Weereens was dit regtig eenvoudig. Ek het dit aangeheg, gebruik gerus wysig, ens.

Ek wou 'n sequencer hê en die opname sonder 'n rekenaar nodig hê.

Met die timerbiblioteek kon ek leesinsette en dinge met tussenposes stel:

Pads @ 1ms - ek het gevind dat dit die beste balans tussen artefakte van reaksie / de -bounce gee.

Buttons @ 40ms - ek het 'n toubiblioteek gebruik, sodat geen perse gemis word nie.

Verwerking word in die hooflus gedoen; u kan nie te veel doen as u onderbreek nie, aangesien dit die Arduino sal sluit.

Midi stuff @BPM (in ms) - vir die volgorde word by die gewenste BPM 'n funksie genoem wat opdaterings met die ETC moet speel en die maat van die maat verhoog.

Stap 4: Gevolgtrekking

Afsluiting
Afsluiting

Ek weet nie wat ek hier gemaak het nie, maar ek is nogal trots; die pads reageer uitstekend, ek moes vroetel met die tydsberekening om die regte balans te vind met reaksie en probleme met afbreek. Die volgorde werk uitstekend en sodra ek die DAW -ondersteuning agterkom, kan ek hierdie ding volledig in my werkstroom integreer en kan ek dinge byvoeg in 'n kontroleerder wat ek nog altyd wou hê!. Dit was 'n baie aangename projek om aan te werk en 'n goeie oefening om C onder die knie te kry, om reverse engineering te verstaan en hoe multiplexers, shift registers en MIDI sequencing werk. Ek gaan voort om die hoofkode te verbeter en kan dit eendag as 'n open source ritme -ontwerper vrystel.

WENKE:

Ek het gevind hoe om die USB -naam van die DUE te verander deur een van die koptekstlêers in die Arduino/SAM -lêergids te wysig.

MIDI-OX is 'n uitstekende hulpmiddel om Midi-funksies te toets

SKAKELS:

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 Paar inligting oor hoe om BPM na ms om te skakel

travis-ci.com/SMFSW/Queue - Vir knoppie -invoer, sodat ons geen pers hoef te mis nie!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib vir LED/LCD skerms

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

www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib vir die groot knop

shiftregister.simsso.de/ - ShiftIn Register lib - Geskep deur Henrik Heine, 24 Julie 2016

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

Aanbeveel: