Turinys:

HX1 -DM - atnaujinta „Arduino DUE“varomoji būgno mašina (pagaminta naudojant „Dead Maschine MK2“): 4 žingsniai
HX1 -DM - atnaujinta „Arduino DUE“varomoji būgno mašina (pagaminta naudojant „Dead Maschine MK2“): 4 žingsniai

Video: HX1 -DM - atnaujinta „Arduino DUE“varomoji būgno mašina (pagaminta naudojant „Dead Maschine MK2“): 4 žingsniai

Video: HX1 -DM - atnaujinta „Arduino DUE“varomoji būgno mašina (pagaminta naudojant „Dead Maschine MK2“): 4 žingsniai
Video: KALNIEČIŲ PARKAS 2024, Liepa
Anonim
Image
Image
Remontas
Remontas

Spec

  • Hibridinis „Midi“valdiklis / būgno mašina: „Arduino DUE“maitinamas!
  • 16 greičio jutiklių pagalvėlės su labai mažu vėlavimu 1> ms
  • 8 rankenėlės, kurias vartotojas gali priskirti bet kuriai „Midi #CC“komandai
  • 16 kanalų įmontuotas sekos sekimo įrenginys (nereikia kompiuterio !!)
  • MIDI įvesties/išvesties/per funkcijas (galima naudoti kaip USB midi sąsają!)
  • Dalinis MIDI laikrodžio ir MTC palaikymas (dirbant su MMC ir DAW valdymu)

Tai neabejotinai vienas sudėtingiausių projektų, su kuriais dirbau, kalbėjau apie 17 išvesties poslinkių registrų, 6 įvesties poslinkių registrus, 2x 16 kanalų multiplekserius, dirbančius prie plokštės. Aš neįsivaizduoju, kas yra ir kur, be to, aš niekada nesugadinau su pamainų registrais / multiplekseriais prieš ……

Tai prasidėjo kaip impulsinis pirkimas „eBay“, aš tikrai norėjau „Native Instruments Maschine“, nes man visada patiko būgno pagalvėlės, palyginti su man priklausančia „MPC“studija, taigi, kai pamačiau sugedusį „eBay“už 40 svarų sterlingų, pagalvojau Norėčiau pataisyti situaciją blogiausiu atveju: „Jei negaliu to išspręsti, turiu„ Arduino DUE “ir keli UNO guli, visada galėčiau nulaužti“

Šiaip man labai patinka tos būgnų pagalvėlės !!!!

Prekės

1 x sugedusi vietinių instrumentų mašina MK2

1 x „Arduino Due“.

17 x SN74HC595 - 8 bitų išvesties poslinkių registrai

6 x SN74HC165 - 8 bitų įvesties poslinkio registrai

2 x 74HC4067 - 16 kanalų multiplekseriai.

2 x 3,2 colio 256 x 64 OLED ekranai.

šiek tiek plokščios vielos (tiks senas diskelio kabelis)

1 žingsnis: remontas

„EBay“pardavėjas buvo toks malonus, kad aprašyme nurodė, ko tikėtis, ir pašalino USB prievadą. Plokštė patyrė per didelę įtampą ir neįsijungė. Sužinok multimetrą … Atrodė, kad plokštėje yra trumpas.. „Anksčiau aš suremontavau daugybę pagrindinių plokščių su šortais. Taigi kaip tai gali būti sunku!?!“Paaiškėjo, kad tai buvo per daug įtampos (ir tikriausiai iš dalies plokštės dizainas), išimta beveik KIEKVIENA plokštės komponentas, įskaitant pagrindinį procesorių. Ši lenta buvo tikrai bloga!

Aš toliau gaminau ir kišau savo multimetrą, šiek tiek tyrinėjau komponentus ir supratau, ką kiekvienas daro, ir NI puikiai padėjo padaryti viską gana akivaizdžiai, naudodamas įvairius pagrindinės plokštės bandymo taškus.

2 žingsnis: įsilaužimas

Įsilaužimas
Įsilaužimas
Įsilaužimas
Įsilaužimas
Įsilaužimas
Įsilaužimas

Žinodamas, kad turėsiu pakeisti viską, kas yra pagrindinis procesorius (kurio nereikės), kreipiausi į „eBay“. Laimei, viskas, ko reikėjo, buvo pigu, todėl užsisakyti jų buvo smagu. ?

17 x SN74HC595 - 8 bitų išvesties poslinkių registrai

17 išvesties poslinkių registrų yra naudojami būgno pagalvėlės įvairiaspalviams šviesos diodams ir visiems mygtukų šviesos diodams (tiksliau-136) valdyti. Tai tikrai paprasta naudoti ir greitai surasta biblioteka naudojant „Arduino IDE“, kad sutaupytumėte… jie yra surišti grandinėmis.

6 x SN74HC165 - 8 bitų įvesties poslinkio registras

Šie įvesties poslinkių registrai puikiai tinka keliems įėjimams 1 kanale. Iš viso yra 48 mygtukai.

2 x 74HC4067 - 16 kanalų multiplekseriai

Mes turime 16 įklotų ir 8 rankenėlių, kurios taip pat yra analoginės. Man buvo lengviau juos naudoti, nes tie, kurie buvo lentoje, buvo 8 kanalų, ir man kilo problemų ieškant, kur prijungti duomenų kaiščius.. cue spageti sandūra….

2 x 3,2 colio 256 x 64 OLED ekranai

Turi turėti ekranus !!! Neradau jokios informacijos originaliuose skystųjų kristalų ekranuose, kurie buvo pristatyti „NI Maschine“, ir man nebuvo sunku sugaišti laiko bandant, todėl nusprendžiau užsisakyti šiek tiek iš Kinijos … Norėdami tai padaryti, naudoju UG8x8 biblioteką. Nauji ekranai buvo šiek tiek mažesni už originalą, todėl aš tiesiog pašalinau „blogus gabalus“.

1 x „Arduino Due“

Aš tai gulėjau kurį laiką, laukdamas projekto, kuris būtų pakankamai vertas visos šios galios! Iškilo problema, su kuria susidūriau. Atrodo, kad kai kuriose šių plokščių peržiūrose yra atstatymo problema, o tai reiškia, kad kartais turėjau paspausti iš naujo nustatymo mygtuką, kad įkeltas eskizas būtų paleistas. Tai buvo lengvai ištaisyta naudojant 10K rezistorių (apie tai yra pranešimas „Arduino“forume).

3 žingsnis: Kodas

Mane tikrai sužavėjo tai, kiek palaikoma „Arduino“bendruomenė, rasti kodo pavyzdžių ir bibliotekų įvairiems komponentams buvo tikrai paprasta ir paprasta.

USB midi paleidimas ir paleidimas buvo lengvas ir truko kelias minutes. Šviesos diodai užtruko šiek tiek laiko, ir aš turėjau sukurti eskizą, kuris palaipsniui nustatė kiekvieną kaištį AUKŠTĄ per 1 sekundės intervalą ir užrašiau pastabą. Aš padariau masyvą, kuriame buvo PIN kodai, kad būtų lengviau viską koduoti.

Aš padariau 2 bibliotekas, kad galėčiau pasikalbėti su multiplekseriais, viena tvarko analogines pagalves, o kita - rankenėles. Vėlgi, tai buvo tikrai paprasta. Pridedu juos, naudokitės redagavimu ir pan.

Norėjau turėti seką ir galimybę įrašyti be kompiuterio, radau informacijos, kaip konvertuoti BPM į ms, ir radau puikią „Arduino DUE“laikmačio biblioteką.

Naudodamas laikmačio biblioteką, galėjau nustatyti skaitymo įvestis ir dalykus intervalais:

Pads @ 1ms - radau, kad tai būtų geriausia pusiausvyra tarp atsako / atmetimo artefaktų.

Mygtukai @ 40ms - naudojau eilės biblioteką, todėl nebuvo praleista jokių paspaudimų.

Apdorojimas atliekamas pagrindinėje kilpoje, pertraukimo metu negalite padaryti per daug, nes tai užrakins „Arduino“.

Midi stuff @BPM (ms) - sekos nustatymui, esant norimam BPM, vadinama funkcija, kuri atnaujina, kuri turi būti paleista ETC, ir padidina ritmo skaitiklį.

4 žingsnis: Išvada

Išvada
Išvada

Nesu tikras, ką čia padariau, bet aš labai didžiuojuosi, trinkelės puikiai reaguoja, turėjau susimokėti apie laiką, kad gaučiau tinkamą pusiausvyrą su reagavimo ir perkrovimo problemomis. Sekos nustatymas veikia puikiai ir, kai išsiaiškinsiu DAW palaikymą, galėsiu visiškai integruoti šį dalyką į savo darbo eigą ir galėsiu pridėti dalykų prie valdiklio, kurio visada norėjau!. Tai buvo tikrai įdomus darbas ir puikus pratimas suprasti C, suprasti atvirkštinę inžineriją ir tai, kaip veikia multiplekseriai, poslinkių registrai ir MIDI seka. Aš ir toliau tobulinu pagrindinį kodą ir galbūt vieną dieną jį išleisiu kaip atviro kodo ritmo kūrėjas.

PATARIMAI:

Radau, kaip pakeisti DUE USB pavadinimą redaguojant vieną iš antraštės failų Arduino/SAM aplanke.

„MIDI-OX“yra puikus įrankis išbandyti „Midi“funkcionalumą

NUORODOS:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Šiek tiek informacijos, kaip konvertuoti BPM į ms

travis-ci.com/SMFSW/Queue - Mygtuko įvestims, kad nepraleistume jokių paspaudimų!

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

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

www.pjrc.com/teensy/td_libs_Encoder.html - „Encoder Lib“didelei rankenėlei

shiftregister.simsso.de/ - „ShiftIn Register lib“- Sukūrė Henrikas Heine, 2016 m. liepos 24 d.

forum.arduino.cc/index.php?topic=57636.0 - „MIDI Time Code“medžiaga

Rekomenduojamas: