Talaan ng mga Nilalaman:
Video: HX1-DM - ang Upcycled Arduino DUE Powered DIY Drum Machine (ginawa Ng Patay na Maschine MK2): 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ang Tukoy
- Hybrid Midi controller / drum machine: Arduino DUE pinapatakbo!
- 16 Velocity sensing pad na may napakababang latency na 1> ms
- 8 mga knobs na itatalaga ng gumagamit sa anumang utos ng Midi #CC
- 16ch Built-in na tagasunod (hindi kailangan ng computer !!)
- MIDI in / out / thru functionality (maaaring magamit bilang isang USB midi interface!)
- Bahagyang MIDI na orasan at suporta sa MTC (nagtatrabaho sa kontrol ng MMC at DAW)
Ito ay tiyak na isa sa mga pinaka-kumplikadong mga proyekto na nagtrabaho ako, ay nagsasalita ng 17 mga rehistro ng shift ng output, 6 na rehistro ng shift shift, 2x 16 na mga multiplexer ng channel na nagtatrabaho sa isang circuit board na wala akong ideya kung ano kung ano at saan plus hindi pa ako nagulo. kasama ang mga shift register / multiplexer bago ……
Nagsimula ito bilang isang salpok na bumili ng eBay, talagang gusto ko ng isang Native Instruments Maschine dahil palagi kong nagustuhan ang mga drum pad sa kanila kumpara sa mga nasa MPC studio na pag-aari ko kaya nang makita ko ang isang may sira sa eBay sa halagang £ 40 quid naisip ko Bibigyan ko ang pag-aayos nito sa pinakapangit na senaryo ng kaso na 'kung hindi ko ito ayusin Nakakuha ako ng isang Arduino DUE at ilang mga kasinungalingan ng UNO, palagi akong nakakagawa ng ilang hack'
Gusto ko talaga ang mga drum pad na yan !!!!
Mga gamit
1 x may sira na Mga Instrumentong Maschine MK2
1 x Arduino Dahil.
17 x SN74HC595's - 8-bit na rehistro ng paglilipat ng output
6 x SN74HC165's - 8-bit na rehistro ng shift shift
2 x 74HC4067 - 16 na mga multiplexer ng channel.
2 x 3.2 256x64 OLED ay nagpapakita.
ilang flat wire (gagawin ng lumang floppy cable)
Hakbang 1: Ang Pag-aayos
Ang nagbebenta ng eBay ay mabait upang magbigay ng isang ideya kung ano ang aasahan sa paglalarawan at tinanggal ang USB port. Ang board ay nagdusa ng labis na boltahe at hindi nagpapatakbo ng lakas. Cue ang multimeter …. Ang board ay lilitaw na mayroong isang maikling.. 'Inayos ko ang hindi mabilang na mga motherboard na may shorts bago Kaya gaano kahirap!?!' Ito ay higit sa boltahe (at marahil sa bahagi ng disenyo ng board), naalis ang halos BAWAT bahagi sa board kabilang ang pangunahing CPU. Ang board na ito ay nasa isang talagang masamang paraan!
Nagpatuloy akong gumawa at sundutin sa aking multimeter, gumawa ng kaunting pagsasaliksik sa mga bahagi at nalaman kung ano ang ginagawa ng bawat isa kasama ang NI na gumawa ng isang mahusay na trabaho ng paggawa ng mga bagay na halata sa iba't ibang mga puntos ng pagsubok sa paligid ng motherboard ??.
Hakbang 2: Ang Hack
Alam na kakailanganin kong palitan ang lahat ng bagay sa pangunahing CPU (na hindi kakailanganin) Bumaling ako sa eBay. Sa kabutihang palad lahat ng kailangan ay mura kaya ang pag-order ng isang load ng mga ito ay masaya. ?
17 x SN74HC595's - 8-bit na rehistro ng paglilipat ng output
Ginagamit ang 17 rehistro ng shift ng output upang makontrol ang mga multi-kulay LED ng drum pad at lahat ng mga LED Button (136 na eksaktong !!) Ang mga ito ay talagang madaling gamitin at mabilis na natagpuan ang isang silid-aklatan gamit ang Arduino IDE upang mai-save ang aking sarili na gumagawa ng isa.. magkadena silang nakakadena.
6 x SN74HC165's - 8-bit na rehistro ng shift shift
Ang mga rehistro ng shift shift ay mahusay para sa maraming mga input sa 1 channel. Mayroong 48 na mga pindutan sa kabuuan.
2 x 74HC4067 - 16 na mga multiplexer ng channel
Mayroon kaming 16 pads at 8 knobs na natira ito ay analog din. Nahanap ko na mas madaling gamitin ang mga ito bilang ang nasa board ay 8channel at nagkaroon ako ng mga problema sa paghanap ng kung saan ikonekta ang mga pin ng data.. cue spaghetti junction ….
2 x 3.2 "256x64 OLED ay nagpapakita
Kailangan itong magkaroon ng ilang mga screen !!! Wala akong makitang anumang impormasyon sa orihinal na mga LCD screen na dumating sa NI Maschine at hindi na ako mapakali na magsayang lang ng oras sa pagsubok kaya't napagpasyahan kong mag-order ng ilang mula sa china … Ginamit ko ang library ng UG8x8 upang magawa ang mga ito. Ang mga bagong screen ay bahagyang mas maliit kaysa sa orihinal kaya't binalikan ko lamang ang 'masamang mga piraso'.
1 x Arduino Dahil
Nagkaroon ako ng nakahiga sa paligid ng ilang oras na naghihintay sa isang proyekto na sapat na karapat-dapat para sa lahat ng kapangyarihang iyon !! Mayroong isang problema na naranasan ko, Tila ang ilang mga pagbabago ng mga board na ito ay may isang isyu sa pag-reset na nangangahulugang kailangan kong pindutin ang pindutan ng pag-reset minsan upang makuha ang bagay na tumakbo pagkatapos mag-upload ng isang sketch. Madali itong naayos sa isang resistor na 10K (mayroong isang post sa Arduino forum tungkol dito).
Hakbang 3: Ang Code
Talagang napahanga ako sa kung magkano ang suporta sa pamayanan ng Arduino, ang paghahanap ng mga halimbawa ng code at aklatan para sa iba't ibang mga sangkap ay talagang simple at tuwid.
Ang pagkuha ng USB midi up at running ay madali at tumagal ng ilang minuto. Ang mga LED ay tumagal ng ilang oras at kailangan kong lumikha ng isang sketch na incrementally itinakda ang bawat pin TAAS sa 1 segundo na agwat at kumuha ng isang tala.. Gumawa ako ng isang array na kung saan gaganapin ang mga numero ng PIN upang gawing mas madali pagdating sa pag-coding ng lahat.
Gumawa ako ng 2 mga silid-aklatan upang kausapin ang mga multiplexer, hinahawakan ng isa ang mga analog pad at ang iba pang mga knobs. Muli ito ay talagang simple. Inilakip ko sa kanila huwag mag-atubiling gumamit ng pag-edit atbp.
Nais kong magkaroon ng isang tagapagsunud-sunod at may kakayahang magrekord nang hindi kailangan ng isang computer, Natagpuan ko ang ilang impormasyon sa kung paano i-convert ang BPM sa ms at natagpuan ang isang mahusay na Arduino DUE timer library.
Gamit ang timer library nakapagtakda ako ng mga input sa pagbasa at mga bagay sa agwat:
Pads @ 1ms - Natagpuan ko ito upang mabigyan ang pinakamahusay na balanse sa pagitan ng mga tugon / de-bounce na artifact.
Mga Pindutan @ 40ms - Gumamit ako ng isang queue library kaya walang mga pagpindot na napalampas.
Ang pagpoproseso ay tapos na sa pangunahing loop, hindi ka maaaring gumawa ng sobra kapag ang iyong nasa isang nakakagambala dahil ikakandado nito ang Arduino.
Midi bagay na @BPM (sa ms) - para sa pagkakasunud-sunod, sa nais na BPM isang pagpapaandar ang tinatawag na mga pag-update na kung saan ang tala ng ETC ay dapat i-play at tataasan ang beat counter.
Hakbang 4: Konklusyon
Hindi sigurado kung ano ang nagawa ko rito ngunit lubos akong ipinagmamalaki, mahusay ang pagtugon ng mga pad, kinailangan kong kumilos sa tiyempo upang makuha ang tamang balanse sa mga isyu sa pagtugon at pag-debounce. Ang pagkakasunud-sunod ay mahusay at sa sandaling malaman ko ang suporta ng DAW maaari kong ganap na isama ang bagay na ito sa aking daloy ng trabaho at makapagdaragdag ng mga bagay sa isang controller na palaging nais ko! Ito ay isang talagang kasiya-siyang proyekto upang gumana at isang mahusay na ehersisyo sa paghawak sa C, pag-unawa sa reverse-engineering at kung paano gumagana ang mga multiplexer, shift register at MIDI sequencing. Patuloy kong pinapahusay ang pangunahing code at maaaring ilabas ito balang araw bilang isang taga-disenyo ng bukas na mapagkukunan ng ritmo.
TIP:
Nalaman ko kung paano baguhin ang pangalan ng USB ng DUE sa pamamagitan ng pag-edit ng isa sa mga file ng header sa Arduino / SAM folder.
Ang MIDI-OX ay isang mahusay na tool para sa pagsubok ng pag-andar ng Midi
Mga link:
www.usb.org/site/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi … Ang ilang impormasyon sa kung paano i-convert ang BPM sa ms
travis-ci.com/SMFSW/Queue - Para sa mga pag-input ng pindutan upang hindi namin makaligtaan ang anumang pagpindot!
github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib para sa mga LED / LCD Screens
github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib
www.pjrc.com/teensy/td_libs_Encoder.html - Encoder Lib para sa malaking knob
shiftregister.simsso.de/ - ShiftIn Register lib - Nilikha ni Henrik Heine, Hulyo 24, 2016
forum.arduino.cc/index.php?topic=57636.0 - Mga bagay sa Time Code ng MIDI
Inirerekumendang:
Paano Kumuha ng 18650 Mga Cell Mula sa Mga Patay na Baterya ng Laptop !: 7 Mga Hakbang (na may Mga Larawan)
Paano Kumuha ng 18650 Mga Cell Mula sa Mga Patay na Baterya ng Laptop !: Pagdating sa mga proyekto ng pagbuo sa pangkalahatan ay gumagamit kami ng isang supply ng kuryente para sa prototyping, ngunit kung ito ay isang portable na proyekto kailangan namin ng isang mapagkukunan ng kuryente tulad ng 18650 li-ion cells, ngunit ang mga cell na ito ay minsan mahal o karamihan sa mga nagbebenta ay hindi nagbebenta
Paano Ko Inaayos ang Aking Patay na Laptop ng Higit sa Dalawang Taon: 8 Hakbang
Paano Ko Inaayos ang Aking Patay na Laptop ng Higit sa Dalawang Taon: Tandaan ** mangyaring bumoto kung pinahahalagahan mo ang proyektong ito, salamat Naging pipi ang gateway na ito na NE522 laptop sa aking drawer para sa halos dalawang taon marahil dahil mayroon akong ibang magagamit, kaya't nang makita ko ang paligsahan na ito Alam kong sulit ang pag-aayos nito at pagbabahagi ng lahat ng pag-aayos
Isang Raspberry Pi Powered Junk Drum Machine: 15 Hakbang (na may Mga Larawan)
Isang Raspberry Pi Powered Junk Drum Machine: Ipapakita sa iyo ng Instructable na ito kung paano gumawa ng isang Raspberry Pi na pinapatakbo na robotic drum machine. Ito ay talagang isang masaya, malikhain, interactive na proyekto. Ipapakita ko sa iyo kung paano gawin ang panloob na pagtatrabaho, ngunit ang aktwal na drums ay nasa iyo, bibigyan ka
Paggawa ng isang Magnet DC Generator Mula sa isang Patay na Mixer Motor DIY: 3 Mga Hakbang (na may Mga Larawan)
Paggawa ng isang Magnet DC Generator Mula sa isang Patay na Mixer Motor DIY: Kumusta! Sa itinuturo na ito, malalaman mo kung paano ibahin ang isang patay na Blender / drill machine motor (Universal motor) sa isang napakalakas na Permanenteng Magnet DC generator. Tandaan: Nalalapat lamang ang pamamaraang ito kung ang mga patlang na coil ng isang Universal motor ay nasunog
Wear Drum: Mga Drum sa iyong Damit !: 7 Mga Hakbang
Drum Wear: Drum sa iyong Damit !: Tingnan ang mga sumasakay ng anumang bus sa lungsod. Marami sa kanila ay naka-plug sa kanilang mga manlalaro ng musika, tinapik hanggang sa matalo, nagpapanggap na mayroon silang mga tambol na magagamit nila. Ngayon hindi na kailangang magpanggap! Ang pagbibihis ng drum ay nagbibigay sa mga naghahangad na drummer na isang ganap na portable at fu